微软用户_引子_引子软件测试在整个软件开发过程中的作395790180.doc_第1页
微软用户_引子_引子软件测试在整个软件开发过程中的作395790180.doc_第2页
微软用户_引子_引子软件测试在整个软件开发过程中的作395790180.doc_第3页
微软用户_引子_引子软件测试在整个软件开发过程中的作395790180.doc_第4页
微软用户_引子_引子软件测试在整个软件开发过程中的作395790180.doc_第5页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

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

文档简介

1、页眉内容引子1. 软件测试在整个软件开发过程中的作用软件测试是对软件产品和阶段性工作成果进行质量检验,力求发现其中的各种缺陷,并督促修正缺陷, 从而控制和保证软件产品的质量。 所以软件测试是软件公司致力于提高软件产品质量的重要手段之一。软件缺陷发现越迟代价越大缺陷发现越迟,影响范围越广缺陷发现越迟,返工的工作量越大缺陷发现越迟,造成的危害越大2.V 模型的理解1)软件测试和软件开发构成一个全过程的交互、协作的关系,两者自始至终一起工作,共同致力于同一个目标按时、高质量地完成项目。2)在 V 模型中,前半部分是开发,可由需求分析定义,系统、架构设计、详细或程序设计, 编码构成。 测试过程被加在开

2、发过程的后半部分。单元测试所检测代码的开发是否符合详细设计的要求。集成测试所检测此前测试过的各组成部分是否能完好地结合到一起。统测试所检测已集成在一起的产品是否符合系统规格说明书的要求。而验收测试则检测产品是否符合最终用户的需求。第 1 章系1.软件质量的概念,质量需求包括功能的、非功能的、用户需求和企业需求软件产品满足规定的和隐含的与需求能力有关的全部特征和特性,包括:1)软件产品质量满足用户要求的程度2)软件各种属性组合的程度3)用户对软件产品的综合反映程度4)软件在使用过程中满足用户要求的程度质量需求:就是通过人机交互界面来完成用户所需的各项操作, 包括数据的输入和结果输出。非功能的:主

3、要体现在性能,可用性,可靠性,兼容性,安全性,用户需求: 质量的用户需求是和用户直接相关的质量需求, 包含功能性需求和部分非功能需求。企业需求 : 主要是一些给功能性的需求, 如软件的可维护性, 兼容性, 可移植性和可扩展性。2.软件缺陷的定义软件缺陷就是软件产品中所存在的问题,最终表现为用户所需要的功能没有完全实现,不能满足或不能全部满足用户的需求。从内部看,软件缺陷是软件产品 开发或维护过程 中所存在的错误、毛病等各种问题;从外部看,软件缺陷是系统 所需要实现的某种功能 的失效或违背。3.软件缺陷和软件错误的区别软件缺陷范围更广,涵盖了软件错误,还涵盖不一致性问题、功能需求定义缺陷和产品设

4、计缺陷等。 软件错误, 属于软件缺陷的一种 程序或系统的内部缺陷,往往是软件代码本身的问题。软件错误往往会导致系统的某项功能失效或者使用的故障,即软件内部缺陷最终表现为外部缺陷。 外部缺陷主要表现为软件故障或功能失效,即软件提供给用户的功能或服务,不能达到用户的要求或没有达到事先设计的指标,如:突然中断4.软件测试的定义(几种不同的观点,怎样理解)1)软件测试的狭义观点和广义观点a.狭义观点:程序测试是为了发现错误而执行程序的过程(瀑布模型 )页眉内容b.广义观点:将测试延伸到需求评审、设计审查活动中去。由静态测试和动态测试构成一个全过程的、完整的软件测试。2)软件测试的辩证观点a.正向思维:

5、验证软件是 “工作的 ”,以正向思维,针对软件系统的所有功能点,逐个验证其正确性。b.逆向思维:证明软件是“不工作的 ”,以反向思维方式,不断思考开发人员理解的误区、不良的习惯、程序代码的边界、无效数据的输入以及系统的弱点,试图破坏系统、摧毁系统,目标就是发现系统中各种各样的问题。3)软件测试的风险观点软件测试是对软件系统中潜在的各种风险进行评估的活动4)软件测试的经济学观点一个好的测试用例是在于它能发现至今未发现的错误。缺陷发现得越早,所造成得代价就越低,这就是从经济学的观点来说明测试越早越好。5)软件测试的标准观点软件测试就是 “验证( Verification ) ”和 “有效性确认(

6、Validation ) ”活动构成的整体,即软件测试 = V&V5.软件测试的目标1)直接目标 就是为了更快更早地将软件产品或软件系统中所存在的问题找出来,以促进系统分析人员、设计人员和程序员尽快地解决这些问题。2)间接目标 软件测试的间接目标是验证了所有功能已按照事先设计或定义而实现。但其直接目的并非验证每个功能都能实现,而是设法找到每个功能不能正常实现的地方,即尽量促使软件故障的产生。6.测试过程和开发过程的关系(W 模型,同步和依赖关系)A 测试过程和开发过程保持同步的关系。软件分析、设计和实现的过程,同时伴随着软件测试验证和确认的过程B 测试过程是对开发过程中阶段性成果和最终的产品进

7、行验证的过程,而软件开发的进一步活动又依赖于测试的结果。所以两者相互依赖。前期,更多地依赖开发过程( 设计和实现能力决定整个软件过程的进展状态), 后期更多地依赖测试过程(测试策略和能力,会直接影响测试效率,测试效率高就能更快地发现缺陷,缺陷就能得到更快地修正)。C 测试工作的重点和开发工作的重点可能是不一样的,两者有各自的特点。不论是在资源管理,还是风险管理上,两者都存在差异。第 2 章1.测试计划的目标测试计划的目标是提供一个框架、不断收集信息, 对不确定性进行分析,将不确定性的内容慢慢转化为确定性的内容, 该过程最终使得项目测试负责人能够对资源、 成本及进度进行越来越合理、准确的估算。*

8、2. 需求评审的重要性1)产品需求审查和评审是软件开发重要环节之一,也是测试活动之一,即静态测试需求验证。通过需求审查保证系统需求在市场 /产品需求文档及其相关文档中得到准确、完整、无歧义的反映,并使各类开发人员在需求理解上达成一致。2)软件缺陷并不只是在编程阶段才产生,需求和设计阶段同样会产生缺陷。3)需求评审重要性表现方面? 发现需求定义中的问题,尽早发现缺陷,降低劣质成本。? 保证软件需求的可测试性。页眉内容? 与市场、产品、开发等相关人员在需求理解上认识一致,以免后期的争吵。? 通过需求评审,更好的理解产品的功能性与非功能性需求,为制定测试计划打下基础。? 确定测试目标与范围。虽然此后

9、需求会发生变更,但能得到有效控制,降低测试风险。*3. 评审的类型管理评审、技术评审、文档评审、流程评审*4. 需求评审的标准正确性、完备性、一致性、可行性、易理解性、易修改性、易测试性、易追溯性第 3 章*1. 为什么要进行设计验证P85-86软件设计是把 软件需求 转换为 软件表示 的过程,也是将 用户需求 准确转化为 软件系统 的唯一途径, 对软件设计进行验证, 就是更好地保证这种转换的 正确性和完整性 ,也是为了更好地设计系统测试的用例。 再者, 软件设计的验证, 需要在编程之前进行,这样做可避免变成误入歧途, 并为软件部署的准备获得更多的时间。 这一切,都有助于缩短软件开发周期,使产

10、品早日面向市场,提高软件企业的竞争力。*2. 验证和确认的区别P97验证过程与确认过程 ( V&V )看起来类似, 但是它们目标不同, 处理的对象也不同, “验证”是检验软件工作产品是否符合规定的设计要求,而“确认” 过程则要证明所开发的最终产品在其预定的环境中能发挥预定的作用,满足客户使用的需求。 “验证”是以 产品设计规格说明书 作为依据的,而“确认”是以 客户需求 为目标的。第 4 章1.为什么要测试用例测试需求和范围通过测试用例体现出来, 并以更为有效的方式来执行测试, 以便于更快地发现程序的缺陷。 测试用例是测试脚本开发、 测试执行的基础, 只有设计好测试用例才能保证测试的覆盖率。A

11、. 测试用例是测试人员测试过程中的重要参考依据。B测试用例可以帮助实施有效的测试。C良好的测试用例不断的被重复使用,使得测试事半功倍D测试用例是一个知识积累的过程。E测试用例是一个知识传递的过程F即使是很小的项目,也可能会哟几千甚至更多的测试用例G从项目管理的角度讲,测试用例的通过率检验代码质量保证效果最主要的指标之一。H测试用例也可以评估测试人员进度,工作量,以及跟踪或管理测试人员的工作效率的主要因素测试用例是测试工作的指导,是软件测试的必须遵守的准则,更是软件测试质量稳定的根本保障。2.测试用例的元素测试目标、测试对象、测试环境要求、测试前提、输入数据和操作步骤,概括为5W1Ha. Why

12、 为什么而测?b. What 测什么?c. Where 在哪里测?d. When 什么时候开始测?e. Which 哪些输入数据?页眉内容f. How 如何操作软件?3.对黑盒测试和白盒测试的理解答:黑盒测试方法 :是把程序 看做一个不能打开的黑盒子,在完全不考虑内部结构和内部特性的情况下 来考察 数据的输入, 条件限制和数据输出,进而完成测试。黑河测试方法, 指根据用户的需求和已经定义好的产品规格,针对程序结构和用户界面进行测试,检验程序是否能适当接受输入数据而产生正确的输出信息,并且保持外部信息的完整性。白盒测试方法: 也称为结构测试或逻辑驱动测试,就是清除软件产品内部的逻辑结构和工作过程

13、,针对程序语句,路径,变量状态等进行测试。例如,检验程序的各个分支是否得到满足,检验程序是否按照事先预定的路径进行执行。白盒测试的主要方法有逻辑覆盖,分支覆盖、条件组合覆盖,基本路径测试等。4.黑盒和白盒的区别1) 黑盒测试的优点有:a.比较简单,不需要了解程序内部的代码及实现;b.与软件的内部实现无关;c.从用户角度出发,能很容易的知道用户会用到哪些功能,会遇到哪些问题;d.基于软件开发文档,所以也能知道软件实现了文档中的哪些功能;e.在做软件自动化测试时较为方便。2) 黑盒测试的缺点有:a.不可能覆盖所有的代码,覆盖率较低;b.自动化测试的复用性较低。3) 白盒测试的优点有:帮助软件测试人

14、员增大代码的覆盖率,提高代码的质量,发现代码中隐藏的问题。4) 白盒测试的缺点有:a.程序运行会有很多不同的路径,不可能测试所有的运行路径;b.测试基于代码,只能测试开发人员做的对不对,而不能知道设计的正确与否,可能会漏掉一些功能需求;c.系统庞大时,测试开销会非常大。5.功能测试的内容界面测试、数据测试、操作测试、逻辑测试、接口测试6.功能测试的方法(等价类法、 * 边界值法、 * 因果图法、 *决策表法、 * 错误推测法、 * 场景法、 * 状态图法、 *正交实验法)等价类法:分为有效等价类和无效等价类1)边界值法:? 对 16-bit 的整数而言 32767 和 -32768 是边界?

15、屏幕上光标在最左上、最右下位置? 报表的第一行和最后一行? 数组元素的第一个和最后一个? 循环的第 0 次、第 1 次和倒数第 2 次、最后一次a.边界值分析法利用输入变量的最小值(min) 、略大于最小值(min+) 、输入值域内的任意值(nom) 、略小于最大值(max-) 和最大值 (max) 来设计测试用例b.推论:对于一个含有n 个变量的程序,采用边界值分析法测试程序会产生4n+1个测试用例。例:有二元函数f(x,y) ,其中x 1,11 , y 1,31 。则采用边界值分析法设计的测试用例是:页眉内容 , , , , , , , , 2)因果图:3)正交实验法a.把影响实验指标的条

16、件称为因子,而影响实验因子的条件叫因子的状态(水平)。b.正交实验法,比使用等价类划分、边界值分析、因果图等方法有以下优点:节省测试工作工时;可控制生成的测试用例数量;测试用例具有一定的覆盖率。c.正交表选择原则:( 1) 每个因子水平数目相同的情况,因子数为M,水平数为N ,则最佳选择一个M 因子 N 水平的正交表,如果不存在这样的正交表,则选择K 因子 N 水平的正交表(KM )。( 2)如果不同因子水平数目不相同,选择出现次数最多的水平数(相同的话选择大的)。( 3)如果所选的正交表的水平数小于因子最大的水平数。? 比如:? a1 a2?b1b2b3? c1 c2? 则把 b1 b2 放

17、在一起,写用例的时候再分开写。例:假设一个 WEB 站点,该站点有大量的服务器和操作系统,并且有许多具有各种插件的浏览器浏览:? WEB 浏览器: Netscape6.2、 IE6.0 、 Opera4.0? 插件:无、 RealPlayer、 MediaPlayer? 应用服务器: IIS 、 Apche、 Netscape Enterprise? 操作系统: Windows2000 、 Windows NT 、 Linux? 提取系统功能说明中的 因子 :? 1、 WEB 浏览器? 2、插件? 3、应用服务器? 4、操作系统? 分析各因子的 水平? 1、 WEB 浏览器: 1 Netsca

18、pe6.2、 2=IE6.0 、 3=Opera4.0? 2、插件 : 1=None 、 2=RealPlayer、 3=MediaPlayer? 3、应用服务器 : 1=IIS 、 2=Apche 、 3=Netscape Enterprise? 4、操作系统 : 1=Windows2000 、2=Windows NT 、 3=Linux3 水平 4 因素正交表 L9(3 4)*7. 测试用例的评审,检查表的使用P142好的测试用例: 测试范围的覆盖率高、测试用例设计能反向思维, 有效地发现缺陷、易用性、易读性、易维护性。测试用例的评审,可以从正、反两面进行检查。正面测试用例要求全面,反面测

19、试用例要有创造性。检查表是用来帮助评审员找出评审的对象中可能的缺陷。提高可靠性、效率。*8. 对测试套件的理解测试套件是由一系列测试用例并与之关联的测试环境组合而构成的集合,已满足测试执行的特定要求。 通过测试套件, 将服务于同一个测试目标、 特定阶段性测试目标或某一运行环境下的一系列测试用例有机地组合起来1) 按程序功能模块组织页眉内容2) 按测试用例的类型组织3) 按测试用例的优先级组织第 5 章1.使用测试工具的优缺点1)优点:a.缩短软件开发测试周期。对上千个测试用例来说,测试工具可以在很短时间内完成测试,而且测试工具不知劳累,可 24 小时不停地运行同样的测试用例 10 遍、 100

20、 遍等。这些都说明了软件测试工具执行测试具有速度高、效率高的特点。b.脚本可以多次重复运行,降低成本。在回归测试中或在很多不同的测试环境(如不同的浏览器、 不同的操作系统、不同的连接条件等) 下,测试工具可以多次运行同样的测试用例,而测试脚本只要开发一次。c.可增强测试的稳定性和可靠性, 通过测试工具运行测试脚本, 能保证百分之百被执行,所有的测试结果都能客观地记录下来。d.可提高软件测试的准确度和精确度,软件测试自动化的结果都是数量化的,并且它能与所预期结果或规格说明书所规定的标准进行量化对比。2)缺点2.手工测试和自动化测试的区别手工测试优点: 发现缺陷效率高、容易实施、创造性,灵活性、覆

21、盖率量化困难、重复测试效率低、不一致性,可靠性低、依赖人力资源。缺点:无法做到覆盖所有代码路径、很难捕捉到与时序、死锁、资源冲突、多线程等有关的错误、难以实施系统负载 / 性能测试和可靠性测试、难以短时间完成大量的测试用例、很难面对测试条件组合爆炸。自动化测试优点 ;高效率、高复用性、覆盖率容易度量、准确,可靠、不知疲劳、激励团队士气、机械,难以发现缺陷、一次性投入大。缺点:不现实的期望、缺乏具有良好素质,经验的测试人才、 测试工具本身的问题影响测试的质量、 测试脚本的质量低劣、 没有考虑公司的实际情况、没有形成一个良好的使用测试工具环境。两者相互补充:在系统功能逻辑测试、验收测试、适用性测试

22、、涉及交互性测试时,多采用手工测试方法;单元测试、集成测试、系统负载或性能、可靠性测试等比较适合采用TA ;对那种不稳定、开发周期短或一次性的软件等不适合TA工具本身缺乏想象力和创造性,自动测试只能发现15%的缺陷,而手工测试可以发现85%的缺陷;*3. 测试工具的实现原理1)代码分析 (白盒测试自动化)2)对象识别()3)捕获和回放(黑盒测试自动化)4)脚本技术(包含数据和指令)5)自动结果比较4.知道几种主要的功能测试工具盒性能测试工具(不考)第 6 章*1. 代码审查的具体方法P197代码审查的方法很多, 如互查( Peer-to-Peer)、走查( Walk-Through )、会议评

23、审( Inspection )等。2.什么是单元测试单元测试就是对已实现的软件最小单元进行测试,以保证构成软件系统的各个单元的质页眉内容量。3.单元测试的方法单元测试主要采用白盒测试方法,辅以黑盒测试方法。白盒测试方法应用于代码评审、单元程序检验之中,而黑盒测试方法则应用于模块、组件等大单元的功能测试之中4.驱动程序和桩程序1)驱动程序( driver ),对底层或子层模块进行(单元或集成)测试时所编制的调用被测模块的程序,用以模拟被测模块的上级模块2)桩程序( stub),也有人称为存根程序,对顶层或上层模块进行测试时,所编制的替代下层模块的程序,用以模拟被测模块工作过程中所调用的模块。示例

24、:5.白盒测试的具体方法(逻辑覆盖 语句覆盖和判定覆盖、基本路径测试)答 : 基本路径测试时程序控制流程图的基础上,通过分析控制构造的环路复杂性,导出基本可执行集合,从而设计测试用例的方法。包含5 个方面: 1 程序流程图2计算程序环境的复杂性3导出测试用例4准备测试用例5图形矩阵逻辑覆盖:判定覆盖条件覆盖判定 -条件覆盖条件组合覆盖语句覆盖? 要实现 DoWork 函数的语句覆盖, 只需设计一个测试用例就可以覆盖程序中的所有可执行语句。? 只要通过路径 abd 就可以语句覆盖。? 测试用例输入为: x=4 、 y=5、 z=5 ? 程序执行的路径是: abd判定覆盖? 要实现 DoWork

25、函数的判定覆盖,需要设计两个测试用例? 测试用例的输入为: x=4 、 y=5、 z=5 ; x=2 、 y=5、 z=5? 程序执行的路径分别是: abd ; ace? 使用 acd、 abe 两条路径的用例也满足判定覆盖条件覆盖测试用例执行路径覆盖条件覆盖分支X=4,y=6,z=5abdT1,T2,T3,T4bdX=2,y=5,z=15ace-(T1,T2 ,T3,T4) ce? 分析:上面这组测试用例不但覆盖了4 个条件的全部 8 种情况,而且将两个判定的4 个分支 b 、 c、 d 、 e 也同时覆盖了,即同时达到了条件覆盖和判定覆盖。路径覆盖测试用例执行路径覆盖条件X=4,y=6,z

26、=5abdT1、T2、T3、 T4X=4,y=5,z=15acdT1、-T2、T3、-T4X=2,y=5,z=15ace-T1、 -T2 、 -T3、 -T4X=5,y=5,z=5abeT1、 T2、 -T3 、 -T46.最少测试用例的计算对于一般的、更为复杂的问题,估算最少测试用例个数的原则也是同样的:1)如果在N-S 图中存在有并列的层次A1 、A2 ,A1 和 A2 的最少测试用例个数分别为a1、 a2,则由A1 、 A2 两层所组合的N-S 图对应的最少测试用例数为a1 a2。2)如果在 N-S 图中不存在有并列的层次,则对应的最少测试用例数由并列的操作数决定,即 N-S 图中除谓词

27、之外的操作框的个数。页眉内容7.集成测试的模式1)渐增式集成模式与非渐增式集成模式a.非渐增式测试模式:先分别测试每个模块,再把所有模块按设计要求放在一起结合成所要的程序,如大棒模式。因为所有的模块一次集成的, 所以很难确定出错的真正位置,所在的模块、 错误的原因, 这种方法并不推荐在任何系统中使用, 适合规模较小的应用系统使用。b.渐增式测试模式:把下一个要测试的模块同已经测试好的模块结合起来进行测试,测试完以后再把下一个应该测试的模块结合进来测试。c. 自顶向下法 (Top-down Integration) 有深度优先和宽度优先d.自底向上法:e,混合法:对软件结构中较上层,使用的是“自

28、顶向下”法;对软件结构中较下层,使用的是“自底向上”法,两者结合f. 三明治集成方法:它将自顶向下和自底向上的集成方法有机结合起来,不需要写桩程序因为在测试初自底向上集成已经验证了底层模块的正确性。 缺点:在真正集成之前每一个独立的模块没有完全测试过g.改善的三明治集成方法:不仅自两头向中间集成,而且保证每个模块得到单独的测试,使得测试进行比较彻底8.Junit 的基本使用,也就是怎样对一个类写Junit 测试程序Import ;Public calss TextSample extends TestCase?创建,从test 需要的 test case?书写测试方法,提供类似于如下函数签名的

29、测试方法:?编译,书写完test case 后,编译所写的test case 类public void testXXXXX();? 运行,启动 junit test runner ,来运行这个 test case。JUnit 脚本示例一:import static ;import ;import ;import ;import ;public class TestHelloWorld extends TestCase BeforeTest helloword hi=new helloworld(); assertEquals(“hello world! ”,hi.say();AfterPubl

30、ic void tearDown() throws Exception/撤销初始化public static void main(String args);JUnit 有四个重要的类: TestSuite、TestCase、TestResult、TestRunner。前三个类属于Framework页眉内容包,后一个类在不同的环境下是不同的。如用的是文本测试环境,则是? 1.TestResult,负责收集 TestCase所执行的结果,它将结果分为两类,客户可预测的 Failure 和没有预测的 Error 。同时负责将测试结果转发到 TestListener (该接口由 TestRunner

31、继承)处理。? 2.TestRunner,客户对象调用的起点,负责对整个测试流程的跟踪。能够显示返回的测试结果,且报告测试的进度。? 3.TestSuite,负责包装和运行所有的 TestCase。? 4.TestCase,客户测试类所要继承的类,负责测试时对客户类进行初始化,以及测试方法调用。? JUnit 共有七个包,核心的包就是 junit.framework 和 junit.runner 。Framework 包负责整个测试对象的构架, Runner 负责测试驱动。?另有两个重要的接口:Test 和 TestListener:? 1.Test, 包含两个方法: run() 和 coun

32、tTestCases(),它是对测试动作特征的提取。? 2.TestListener , 包 含 四 个 方 法 : addError() 、 addFailure() 、 startTest() 和endTest(),它是对测试结果的处理以及测试驱动过程的动作特征的提取。Junit 的各种断言?assertEquals(Stringmessage, expected, actual) 这是使用得最多的断言形式。expected是你的期望值 (通常要硬编码) ,actual被测代码实际产生的值,message可选的消息,如果提供的话,将会在发生错误的时候报告这个消息。?assertNull(S

33、tring message, object) 验证一个给定的对象是否为Null (或者为非Null ),如果答案为否,则将会失败。message参数是可选的。? assertSame( String message, expected,actual) 验证 expected 参数和 actual 参数所引用的是否为同一对象,如果不是的话,将会失败。Message 参数是可选的。?assertTrue( String message,boolean condition) 验证给定的二元条件是否为真,如果为假的话,将会失败。 Message 参数是可选的。? assertFalse( String

34、 message,boolean condition) 验证给定的二元条件是否为假,如果不为假的话,将会失败。 Message 参数是可选的? fail( String message ) 使测试立即失败, 其中 message参数使可选的。 这种断言通常被用于标记某个不应该到达的分支(例如,在一个预期发生的异常之后)第 7 章1.对测试执行的策略的理解(两段论和立体作战,重在理解)(不考)2.测试环境的爆炸组合和组合优化(不考)3.适用性测试的要素适用性简单说就是容易发现、容易学习和容易使用。全面评估用户界面,需要包含七个因素: 符合标准和规范、直观性、一致性、灵活性、舒适性(主要强调界面友

35、好、美观,如操作过程顺畅、色彩运用恰当、按钮的立体感以及增加动感等)、正确性、实用性(考量每一个具体特性对软件是否具有实际价值、是否有助于用户的实际业务需求实现),这也是适用性依据的标准。4.什么是回归测试,回归测试的理解1)每当软件发生变化时,就必须重新测试原来已经通过测试的区域,验证修改的正确性及其影响,即实施回归测试。2)回归测试的价值在于能够检测到回归缺陷,它是一个受控的测试。3)回归测试方法页眉内容a.再测试全部用例,选择测试用例库中的全部测试用例构成回归测试套件。b.基于风险选择测试,基于一定的风险标准来从测试用例库中构造缩减的回归测试用例套件。c.基于操作剖面选择测试,会优先选择

36、那些最重要或最频繁使用功能所关联的测试用例(如 80-20 原则中 20的重要功能) ,有助于发现那些对质量有显著影响的缺陷,而放弃次要功能关联的测试用例。d.测试修改的部分。4)回归测试的组织和实施a.通过代码相依分析,识别出软件中被修改的部分和影响的范围。b.从原有测试用例基线库中,排除不再适用的测试用例,确定那些对新的软件版本依然有效的测试用例,从而建立起新的测试用例基线库T0。c.基于操作剖面和风险选择相结合的策略,从新的测试用例基线库中选择测试用例构造有效的套件,测试被修改的软件。d.如果回归测试套件不能达到所需的覆盖要求,必须补充新的测试用例使覆盖率达到规定的要求,生成新的测试用例

37、集T1,用于测试T0 无法充分测试的软件部分。e.用 T1 执行修改后的软件。5.缺陷的属性缺陷严重程度缺陷严重等级描述0级:致命 fatal最严重等级,缺陷导致系统任何一个主要功能完全丧失、用户数据受到破坏,系统崩溃、悬挂、死机等。1级:严重系统的主要功能部分丧失、数据不能完整保存,系统的次要功能完全丧失,ctitical系统所提供的功能或服务受到明显的影响2级:一般系统的次要功能没有完全实现,但不影响用户的正常使用。例如提示信息major不太准确;或用户界面差,操作时间稍长等问题3级:较小操作者不方便或遇到麻烦,但不影响功能的操作和执行,如字体不美观、minor按钮大小不是很合适,文字排列

38、不对齐等些小问题缺陷优先级缺陷优先级描述立即解决( P1 级)缺陷导致系统几乎不能运行、使用,或严重妨碍测试的执行,需立即修正、尽快修正。高优先级( P2 级)缺陷严重,影响测试,需要优先考虑修正。例如不超过24 小时修正。正常排队( p3 级)缺陷需要修正,但可以正常排队等待修正低优先级( P4 级)缺陷可以在开发人员有时间的时候被修正,如果没有时间, 可以不修正6.缺陷报告大致包含的内容? 缺陷的严重性和优先级? 缺陷的类型和来源? 缺陷附件? 完整的缺陷信息列表ID严重程度版本跟踪标题优先级提交时间前提类型修正时间环境缺陷提交人验证时间操作步骤缺陷指定解决人所属项目 /模块页眉内容期望结

39、果实际结果频率来源产生原因构建包跟踪产品信息状态第 8 章*1. 国际化测试、本地化测试和全球化测试的定义1)国际化指为保证所开发的软件能适应全球市场的本地化工作而不需要对程序做任何系统性或结构性变化的特性,这种特性通过特定的系统设计、程序设计、编码方法来实现。2)软件本地化是在源语言版本的基础上, 通过翻译、定制和参数配置等工作,使软件产品或系统在语言、时区、 度量衡、文化、 风俗习惯等各个方面与当地国家和地区的相应内容相一致,从而满足特定地区的用户的使用需求。3)全球化, 它是一个概念化产品的过程,是基于全球市场考虑的,以便一个产品只须做较小的改动就可以在世界各地出售。全球化可以看作是国际

40、化和本地化两者合成的结果。*2. 国际化测试的基本方法有哪些? 设计评审和代码审查? 针对源语言的功能测试,如不同的区域设置、不同的时区显示? 针对伪翻译( pseudocode, pseudo-translation)版本的测试第11章1. 缺陷生命周期的理解软件缺陷生命周期,经历了从被发现、报告到其被修复、验证、直至最后关闭的完整过程。为了描述软件缺陷生命周期,可设定不同的软件缺陷状态来体现缺陷不同的生命阶段。2.缺陷的状态缺陷状态描述打开 /激活缺陷的起始状态, 或重新被打开的状态。问题存在或依旧没有解决,(open/active )等待修正,如新报的缺陷、补充完信息后再打开等。已修正已

41、被开发人员检查、修复过的缺陷, 通过单元测试,认为已解决但(Fixed/Resolved )还有待测试人员验证关闭 /非激活测试人员验证后,确认缺陷不存在之后所处的状态。(close/Inactive )延迟这个缺陷不严重被推迟修正,可以在一个版本中解决。(deferred)无法解释由于技术原因或第三者软件的缺陷,开发人员目前不能修复的缺(onhold )陷。功能增强该问题符合当前的设计规格说明书,但是一个有待改进的问题。( Feature Enhancement)不是缺陷开发人员认为这不是问题,是测试人员误报的缺陷( Not a Bug )不能再现开发不能复现这个软件缺陷,需要测试人员检查缺

42、陷复现的步骤( cannot duplicated )需要更多信息开发能复现这个软件缺陷,但开发人员需要一些信息,例如:缺陷(NeedMoreInfo )的日志文件,图片等3.对缺陷的分析有哪几种1)实时趋势分析a.实时数据,由每日或每周发生的数据构成的时间序列页眉内容b.对随时间变化的趋势进行分析2)累积趋势分析a.累积数据是将前面产生的数据不断累加起来所构成的时间序列b.累积曲线趋势特征更明显3)缺陷分布分析a.缺陷分布分析,主要借助于圆饼图、直方图等工具进行分析b.包括功能模块、来源分布、不同类型、开发团队等各种分布补充:1)各个阶段测试任务:需求分析审查 设计审查 单元测试 集成测试

43、功能测试 系统测试 验收测试 版本发布 维护2)使用等价类划分法设计测试用例? 采用等价类划分法设计测试用例通常分两步进行:( 1)确定等价类,列出等价类表。( 2)确定测试用例。实例 1:某报表处理系统要求用户输入处理报表的日期,日期限制在2001 年 1 月至 2005 年12 月,即系统只能对该段期间内的报表进行处理,如日期不在此范围内,则显示输入错误信息。系统日期规定由年、月的6 位数字字符组成,前四位代表年,后两位代表月1.等价类划分输入等价类有效等价类无效等价类报表日期的类型及长度6 位数字字符(1)有非 数字字符( 4)少于 6 个数字字符(5)多于 6 个数字字符(6)年份范围

44、在 2001-2005 之间( 2)小于 2001(7)大于 2005(8)月份范围在 1-12 之间( 3)小于 1( 9)大于 12( 10)2设计有效类的测试用例(对表中编号1, 2,3 个有效等价类用一个测试用例覆盖)测试数据期望结果覆盖范围200105输入有效等价类( 1)(2)( 3)001WAY输入无效等价类( 4)20015输入无效等价类( 5)2001005输入无效等价类( 6)200005输入无效等价类( 7)200805输入无效等价类( 8)200100输入无效等价类( 9)200113输入无效等价类( 10)实例 2:三角形问题输入三个整数a、 b、c,分别作为三角形的

45、三条边,现通过程序判断由三条边构成的三角形的类型为等边三角形、等腰三角形、一般三角形(特殊的还有直角三角形),以及构不成三角形。现在要求输入三个整数a、 b、 c,必须满足以下条件:条件 11 a100条件 4ab+ c条件 21 b 100条件 5ba+ c条件 31 c100条件 6c0),( 1)( A 0),( 7)三条边(B0),( 2)( B 0),( 8)(C0),( 3)( C 0),( 9)(A+BC),( 4)( A+BC),( 10)(B+CA),( 5)( B+CA),( 11)(A+CB),( 6)( A+CB),( 12)是否等腰三角(A=B),( 13)( A B

46、)and(B C) and(C形(B=C),( 14)A)( 16)(C=A),( 15)是否等边三角(A=B)and(B=C)and( C=A) ( A B),( 18)形(17)( B C),( 19)( C A),( 20)测试用例表覆盖等价类情况测试数据【 A , B, C】期望结果覆盖范围3,4,5三角形( 1)( 2)( 3)( 4)( 5) (6)0,1,2输入无效( 7)1,0,2输入无效( 8)1,2,0输入无效( 9)1,2,3输入无效( 10)1,3,2输入无效(11)3,1,2输入无效(12)3,3,4等腰三角形(13) ( 1)( 2)( 3)( 4)( 5) (6)

47、3,4,4等腰三角形(14) ( 1)( 2)( 3)( 4)( 5) (6)3,4,3等腰三角形(15) ( 1)( 2)( 3)( 4)( 5) (6)3,4,5(16) ( 1)( 2)( 3)( 4)( 5) (6)3,3,3等边三角形( 17)( 1)( 2)( 3)( 4)(5) (6)3,4,4( 18)( 14)( 1)(2)( 3)( 4)( 5) (6)3,4,3( 19)( 15)( 1)(2)( 3)( 4)( 5) (6)3,3,4( 20)( 13)( 1)(2)( 3)( 4)( 5) (6)列出测试用例表,包含输入和预期输出。实例 3保险公司计算保费费率的程序某保险公司的人寿保险的保费计算方式为:投保额保险费率其中,保险费率依点数不同而有别, 10 点及 10 点以上保险费率为 0.6%, 10 点以下保险费率为 0.1% ;而点数又是由投保人的年龄、性别、婚姻状况和抚养人数来决定,具体规则如下:( 1)分析程序规格说明中给出和隐含的对输入条件的要求,列出等价

温馨提示

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

评论

0/150

提交评论