移动产品测试基础课件_第1页
移动产品测试基础课件_第2页
移动产品测试基础课件_第3页
移动产品测试基础课件_第4页
移动产品测试基础课件_第5页
已阅读5页,还剩52页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

专题1移动产品测试基础讨论:测试一个软件程序Test:输入三个整数,表示一个三角形的三个边长,该程序产生一个结果,指出该三角形是等边三角形、等腰三角形还是不等边三角形。判断三角型的测试用例设计:

输入数据

预期结果

一般还应输入非法数据:

(1)6;6;6等边0;7;9(2)8;8;4等腰

-7;3;5(3)4;5;6一般a;2;7等1.1什么是软件测试什么是软件测试?什么是错误?软件测试的目的是什么?Q1、什么是软件测试?[定义]软件测试就是为了发现程序中的错误而分析或执行程序的过程。重要:分析是指静态测试,执行是指动态测试。软件测试的目标在于尽可能地发现错误(缺陷)。Bug/defect/problem/。。。验证和确认验证Verification确认ValidationQ2、什么是错误?讨论Q2、什么是错误?[定义]错误是指最终产品与用户的期望不一致。错误包括以下几种情况:错误(未将需求正确实现)遗漏超出需求的部分错误并不单单是程序中出现中断无法运行下去。Q3、软件测试的目的?测试是程序执行的过程,目的在于发现错误(缺陷)好的测试用例能有效地发现别的测试用例未发现的错误(缺陷)成功的测试是发现了未曾发现的错误(缺陷)测试的对象测试数据程序P比较结果数据预期数据相符不符追查缺陷程序测试:发现程序中的错误(缺陷)常见的错误类型需求解释有错误用户定义错了需求需求记录错误设计说明有误编码说明有误程序代码有误数据输入有误测试错误问题修改不正确正确的结果是由于其它的错误产生的1.2软件测试工作流程测试工作的主要步骤测试计划:测试人员对需求进行分析,最终定义一个测试集合测试设计与开发:测试人员根据软件需求,完成测试用例执行测试:建立测试环境;根据前面编写的测试计划和测试用例运行测试;记录测试结果;报告软件缺陷;跟踪软件缺陷,直至其被处理;分析测试结果测试信息流整个测试过程需要三类输入软件配置:包括软件需求规格说明、软件设计规格说明、源代码等;测试配置:包括测试计划、测试用例、测试驱动程序等。测试工具:为提高软件测试效率,可使用测试工具支持测试工作测试过程需求分析设计编码系统组装单元修正修正修正通过通过通过(集成)V模型1.3软件测试的岗位要求测试人员的目标:分析或运行代码来暴露代码中潜在的错误软件测试员的基本目标是发现软件错误软件测试员所追求的是尽可能早地找出软件错误软件测试人员必需确保找出的软件错误得以关闭企业软件测试岗位(1)软件公司内部进行的功能性测试;(2)用户进行的测试;(3)第三方测试,就是专业软件测试人员运用一定的测试工具对软件的质量进行检测。软件测试人员具体是干什么的(1)使用各种测试技术和方法来测试和发现软件中存在的软件错误;(2)将发现的错误编写成正式的“测试报告”,提交给开发人员进行错误的确认和修复;(3)分析软件质量。在测试完成后,测试人员需要根据测试结果来分析软件质量,包括错误率、错误分布、错误修复等。给出软件各种质量特性,包括有功能性、可靠性、易用性、安全性、时间与资源特性等的具体度量。最后给出一个软件是否可以发布或提交用户使用的结论。对合格软件测试人员的技能要求(1)计算机操作能力:office,截图等;(2)测试环境搭建能力;(3)一定的编程基础(如对编程机制,实现架构有一定的了解,会对测试工作很有帮助,发现很多更深层次的问题);(4)测试基本理论和方法(如掌握测试的基本流程与基本概念,较强的文档能力,会撰写测试报告,会设计、编写测试用例,熟悉测试工具,能够执行测试并跟踪错误等);(5)良好的沟通能力和团队精神;(6)自身素质培养(如对软件测试感兴趣、有较强的责任心和学习能力,具有敏锐的洞察力、追求完美、发散性思维等)软件测试的就业前景(1)IT企业迅猛发展,测试人才日渐“走俏”(2)软件测试在开放性大城市发展尤为迅猛(3)国内外测试行业差距对比分析统计显示,在中国120多万软件从业人员中,真正能担当软件测试职责的不超过5万人。在软件业发达国家,软件测试人员与开发人员之比接近1:1,而在中国该比例仅为1:8左右,很多企业没有专门的测试职位。(4)职业寿命长,发展前景广阔,待遇优厚一方面,由于软件测试人才更强调经验积累,在几年的测试经验背景下,可以逐步转向管理或者资深测试工程师,担当测试经理或者QA部门主管,所以职业寿命更长;

另一方面,由于国内软件测试工程师人才奇缺,并且一般只有大中型企业才会单独设立软件测试部门,所以很有保障,待遇普遍较高。课堂作业查找软件测试岗位招聘信息和要求到哪些地方去查找如何查找招聘岗位有哪一些岗位,比如:测试组长,测试设计,。。JobDescription(JD)什么是Offer?1.4软件开发的过程需求分析:不仅仅是用户需求,应该是开发中遇到的所有的需求。比如,你首先要知道做这个项目是为了解决什么问题;测试案例中应该输入什么数据……为了清楚地知道这些需求,你经常要和客户、项目经理等交流。设计:编码前,肯定有个计划告诉你要做什么,结构是怎样等等。你一定要按照这个来做,否则可能会一团糟。编码:如果在项目截止日,你的程序不能跑起来或达不到客户的要求,你就拿不到钱。测试:目的是让你知道,什么时候算是完成了。如果你聪明,你就应该先写测试,这样可以及时知道你是否真地完成了。否则,你经常会不知道,到底有哪些功能是真正完成了,离预期目标还差多远。集成:...软件生命周期(phase)定义:明确软件开发的目标、软件的需求。计划:制订软件开发所涉及的各种计划。实现:进行设计、编码和文档编写工作,完成所要求开发的软件特性。稳定化:以测试和缺陷修复工作为主,确保所提交的软件具有良好的质量。部署:安装、提交开发完成的软件,建立可供用户使用的环境。运行与维护软件生命周期模型瀑布模型原型模型增量模型螺旋模型极限编程模型瀑布模型整个开发包括六个阶段:计划、需求分析、设计、编码、测试、运行维护。六个阶段自上而下、相互衔接,以固定的次序来进行。特点阶段的顺序性和依赖性文档驱动存在问题不适合需求模糊的系统庐山三叠泉原型模型先建立一个能反映用户需求的原型系统,使得用户和开发者可以对目标系统的概貌进行评价和判断,然后对原型进行反复的扩充、改进和求精,最终建立符合用户需求的目标系统。

特点

快速开发工具循环低成本种类

渐进型抛弃型增量模型增量模型中,在每个阶段都生成软件的一个可发布版本。这些阶段是交错进行的。在增量模型中,软件版本是逐步完善的。在原型中,每个阶段是发布一个原型,而在增量模型中,是完成一个正式的版本。

分析设计编码分析设计编码测试测试

进度

极限编程模型5个核心价值观沟通(Communication)简单(Simplicity)反馈(Feedback)勇气(Courage)谦逊(Modesty)13个核心实践团队协作(WholeTeam)计划游戏(ThePlanningGame);结对编程(Pairprogramming)测试驱动开发(Testing-DrivenDevelopment)重构(Refractoring)简单设计(SimpleDesign)代码集体所有权(CollectiveCodeOwnership)持续集成(ContinuousIntegration)客户测试(CustomerTests)小规模发布(SmallRelease)每周40小时工作制(40-hourWeek)编码规范(CodeStandards)系统隐喻(SystemMetaphor)软件质量符合客户的规格说明客户的满意程度理解软件测试排除软件错误的重要手段软件测试测试在软件开发中占有重要地位测试成本占有开发成本的近一半软件开发成本分布软件类型开发成本按阶段分布%需求与设计实现测试控制软件462034航空航天软件342046操作系统331750科技计算软件442630商业应用软件442828测试成本曲线不足测试过度测试测试的程度t未发现的缺陷数测试成本最佳测试点为什么不可能做穷举测试M1D1D2D3D4M2M3M4M5M6M7D5<=20次循环次数 0 1 2……20独立路径数 51+52+53+……+521≈1014 (1百万亿)每个测试用例(考虑、执行、验证结果)5分钟共需测试时间 10亿年为什么不可能做穷举测试程序PXYZ若X、Y为所有可能的整数在字长32位机上测试 X1、Y1

Z1

. Xn、Yn

Znn=232232=2641.841019

软件测试原则:测试能提高软件的质量,但是提高质量不能依赖测试测试只能证明错误存在,不能证明错误不存在测试的主要困难是不知道如何进行有效地测试,也不知道什么时候可以放心地结束测试每个程序员都应当测试自己的程序(份内之事),但是不能作为该程序已经通过测试的依据(所以项目需要独立测试人员)80-20原则:80%的错误聚集在20%的模块中,经常出错的模块改错后还会经常出错测试应当循序渐进,不要企图一次性干完,注意“欲速则不达”软件错误产生原因:开发人员不太了解需求软件系统越来越复杂,开发人员不太可能精通所有的技术技术文档普遍比较糟糕,文档本身就有错误软件需求、设计报告、程序经常发生变更,每次变更都可能产生新的错误任何人在编程时都可能犯错误,导致程序中有错误人们常处于进度的压力之下,急忙之下容易产生错误人们过于自信,不真实的“没问题”将产生真正的问题1.5软件测试的分类对于软件测试,可以从不同的角度加以分类:

基于是否关注软件结构与算法黑盒测试白盒测试基于是否执行被测试软件静态测试动态测试基于测试的不同阶段单元测试集成测试系统测试验收测试1.5.1黑盒测试和白盒测试黑盒测试白盒测试两种测试方法从不同的角度出发,反映了软件的不同侧面,也适用于不同的开发环境输入输出黑盒测试又称功能测试、数据驱动测试或基于规格说明的测试,也可被称为用户测试.白盒测试又称结构测试、逻辑驱动测试或基于程序本身的测试,也可称为程序员测试.应用程序1.5.2静态测试和动态测试1.5.3测试不同阶段按测试阶段分类,测试可分4个主要阶段:单元测试、集成测试、系统测试和验收测试。这是一种从小到大、循序渐进的测试过程。单元测试是对程序员编写完成的一个个程序单元进行测试。单元测试单元测试单元测试单元测试单元测试单元测试单元通常不是可运行的程序。单元测试必须编写额外的可运行的测试驱动程序。

集成测试单元测试单元测试单元测试单元测试单元测试集成测试集成测试有渐增式和非渐增式两种方式渐增式的集成中可以采用两种:“自顶向下”和“自底向上”。集成测试中,会混合使用白盒测试和黑盒测试方法。集成测试可以发现模块间接口以及全局数据结构等问题。系统测试系统测试系统测试的目的是检查系统是否符合软件需求系统测试采用黑盒测试方式系统测试的主要内容有:功能测试、健壮性测试、性能-效率测试、用户界面测试、安全性测试、压力测试、可靠性测试、安装/反安装测试等。为了保证测试的客观性,一般由机构的独立测试小组来执行系统测试。验收测试验收测试是由用户完成的测试验收测试的内容与系统测试的内容类似验收测试可以分成Alpha测试和B

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论