软件工程软件测试课件.ppt

上传人(卖家):三亚风情 文档编号:3294394 上传时间:2022-08-17 格式:PPT 页数:50 大小:1.64MB
下载 相关 举报
软件工程软件测试课件.ppt_第1页
第1页 / 共50页
软件工程软件测试课件.ppt_第2页
第2页 / 共50页
软件工程软件测试课件.ppt_第3页
第3页 / 共50页
软件工程软件测试课件.ppt_第4页
第4页 / 共50页
软件工程软件测试课件.ppt_第5页
第5页 / 共50页
点击查看更多>>
资源描述

1、第第 五五 章章第1页,共50页。一、软件测试的目的和重要性一、软件测试的目的和重要性因为开发工作的前期不可避免地会引入错误,测因为开发工作的前期不可避免地会引入错误,测试的试的目的是为了发现和改正错误目的是为了发现和改正错误,这对于某些涉,这对于某些涉及人的生命安全或重要的军事、经济目标的项目及人的生命安全或重要的军事、经济目标的项目显得尤其重要。显得尤其重要。1963年美国飞往火星的火箭爆炸,原因是FORTRAN程序:DO 5 I=1,3 误写为:DO 5 I=1.3 损失1000万美元。1967年苏联“联盟一号”宇宙飞船返回时因忽略一个小数点,在进入大气层时打不开降落伞而烧毁。第2页,共

2、50页。1、软件测试的开销大、软件测试的开销大按照按照Boehm的统计,软件测试的开销大约占总成的统计,软件测试的开销大约占总成本的本的30%-50%。例如:。例如:APPOLLO登月计划,登月计划,80%的经费用于软件测试。的经费用于软件测试。2、不能进行“穷举”测试只有将所有可能的情况都测试到,才有可能检查出所有的错误。但这是不可能的:例:程序P有两个整型输入量 X、Y,输出量为Z,在32位机上运行。所有的测试数据组(Xi,Yi)的数目为:2 2 =2 1毫秒执行1次,共需5亿年。323264PXYZ第3页,共50页。3、软件测试难度大、软件测试难度大根据上述分析,既然不能进行根据上述分析

3、,既然不能进行“穷举穷举”测试,测试,又要查出尽可能多的错误,软件测试工作的难又要查出尽可能多的错误,软件测试工作的难度大。只有选择度大。只有选择“高效的测试用例高效的测试用例”什么是“高效的测试用例”?如何选择“高效的测试用例”?这就是本章讨论的主要问题!第4页,共50页。3 3、充分注意测试中的群集现象。、充分注意测试中的群集现象。1、尽量不由程序设计者进行测试。2、关键是注重测试用例的选择。输入数据的组成(输入数据、预期的输出结果)既有合理输入数据,也有不合理的输入数据。用例既能检查应完成的任务,也能够检查不应该完成的任务。长期保存测试用例。第5页,共50页。软件测试方法分为两类:静态分

4、析、动态测试软件测试方法分为两类:静态分析、动态测试一、静态分析方法指以人工的、非形式化的方法对程序进行分析和测试。桌前检查代码会审步行检查步行检查时,还常使用以下分析方法:调用图从语义的角度考察程序的控制路线。数据流分析图检查分析变量的定义和引用情况。第6页,共50页。无论无论Y 为何值,都为何值,都不能够调用子程序不能够调用子程序。READYY0NX:=YX1)AND(B=0)A1)AND(B=0)THEN X:=X/A;THEN X:=X/A;IF(A=2)OR (X1)IF(A=2)OR (X1)THEN X:=X+1 THEN X:=X+1END;END;1 1)选择逻辑覆盖标准。)

5、选择逻辑覆盖标准。2 2)按照覆盖标准列出所有情况。)按照覆盖标准列出所有情况。3 3)选择确定测试用例。)选择确定测试用例。4 4)验证分析运行结果与预期结果。)验证分析运行结果与预期结果。逻辑结构逻辑结构第11页,共50页。Procedure Procedure(VAR A,B,X:REALVAR A,B,X:REAL););BEGIN BEGIN IF IF(A1)AND(B=0)A1)AND(B=0)THEN X:=X/A;THEN X:=X/A;IF(A=2)OR (X1)IF(A=2)OR (X1)THEN X:=X+1 THEN X:=X+1 END;END;A1ANDB=0X:

6、=X/AA=2OR X1X:=X+1YNYN逻辑结构逻辑结构第12页,共50页。使得程序中每个语句至少使得程序中每个语句至少都能被执行一次。都能被执行一次。A1ANDB=0X:=X/AA=2OR X1X:=X+1abcde满足语句覆盖的情况:满足语句覆盖的情况:执行路径:执行路径:aceace选择用例:选择用例:(2,0,4),(2,0,3)(2,0,4),(2,0,3)用例格式:用例格式:输入输入(A,B,X)(A,B,X),输出,输出(A,B,X)(A,B,X)YNYN第13页,共50页。使得程序中每个判定至少为使得程序中每个判定至少为TRUE TRUE 或或FALSEFALSE各一次。各

7、一次。A1ANDB=0X:=X/AA=2OR X1X:=X+1abcde覆盖情况:覆盖情况:应执行路径应执行路径ace abd或:或:acd abe选择用例选择用例(其一):其一):(2,0,4),(2,0,3)ace(2,0,4),(2,0,3)ace (1,1,1),(1,1,1)abd (1,1,1),(1,1,1)abd(2,1,1),(2,1,2)abe(2,1,1),(2,1,2)abe (3,0,3),(3,1,1)acd (3,0,3),(3,1,1)acdYYNN第14页,共50页。A1ANDB=0X:=X/AA=2OR X1X:=X+1abcde使得判定中的每个条件获使得判

8、定中的每个条件获得各种可能的结果。得各种可能的结果。应满足以下覆盖情况:应满足以下覆盖情况:判定一判定一:A1,A1,B=0,B0判定二判定二:A=2,A2,X1,X1选择用例:选择用例:(2,0,4),(2,0,3)(2,0,4),(2,0,3)(1,1,1),(1,1,1)(1,1,1),(1,1,1)NNYY2 2A1A20 0B=04 4X11 1A1A=21 1B01 1X1注意注意:(1,0,3),(1,0,4):(1,0,3),(1,0,4)(2,1,1),(2,1,2)(2,1,1),(2,1,2)满足条件覆盖,但不满足判断覆盖。满足条件覆盖,但不满足判断覆盖。第15页,共50

9、页。同时满足判断覆盖和条同时满足判断覆盖和条件覆盖。件覆盖。A1ANDB=0X:=X/AA=2OR X1X:=X+1abcde应满足以下覆盖情况:应满足以下覆盖情况:条件条件:A1,A1,B=0,B0 A=2,A2,X1,X1 应执行路径应执行路径ace abd或:或:acd abe选择用例:选择用例:(2,0,4),(2,0,3)(2,0,4),(2,0,3)(ace)ace)(1,1,1),(1,1,1)(abd)(1,1,1),(1,1,1)(abd)YYNN第16页,共50页。使得每个判定中条件的各种使得每个判定中条件的各种可能组合都至少出现一次。可能组合都至少出现一次。A1X:=X/

10、AA=2X:=X+1abcdeB=0X1YNYNYNYN编译系统下的执行情况:编译系统下的执行情况:部分路径未被执行。部分路径未被执行。满足以下覆盖情况:满足以下覆盖情况:A1,B=0 A1,B0 A1,B=0 A1,B0 A=2,X1 A=2,X1 A2,X1 A2,X1选择用例:选择用例:(2,0,4),(2,0,3)(2,0,4),(2,0,3)(2,1,1),(2,1,2)(2,1,1),(2,1,2)(1,0,3),(1,0,4)(1,0,3),(1,0,4)(1,1,1),(1,1,1)(1,1,1),(1,1,1)第17页,共50页。STARTINPUT(A,B,C)IF A5

11、THEN X=10 ELSE X=1END IFIF B10 THEN Y=20 ELSE Y=2END IFIF C15 THEN Z=30 ELSE Z=3END IFPRINT(X,Y,Z)STOP共有共有8条可能的执行路径条可能的执行路径 三个判定表达式之值依次为假、假、假:三个判定表达式之值依次为假、假、假:输入:输入:A=1,B=1,C=1;预期输出:;预期输出:X=1,Y=2,Z=3三个判定表达式之值依次为假、假、真:三个判定表达式之值依次为假、假、真:输入:输入:A=2,B=3,C=23;预期输出:;预期输出:X=1,Y=2,Z=30三个判定表达式之值依次为假、真、假:三个判定

12、表达式之值依次为假、真、假:输入:输入:A=3,B=12,C=6;预期输出:;预期输出:X=1,Y=20,Z=3三个判定表达式之值依次为假、真、真:三个判定表达式之值依次为假、真、真:输入:输入:A=4,B=13,C=16;预期输出:;预期输出:X=1,Y=20,Z=30三个判定表达式之值依次为真、假、假:三个判定表达式之值依次为真、假、假:输入:输入:A=6,B=7,C=9;预期输出:;预期输出:X=10,Y=2,Z=3三个判定表达式之值依次为真、假、真:三个判定表达式之值依次为真、假、真:输入:输入:A=8,B=8,C=18;预期输出:;预期输出:X=10,Y=2,Z=30 三个判定表达式

13、之值依次为真、真、假:三个判定表达式之值依次为真、真、假:输入:输入:A=10,B=12,C=6;预期输出:;预期输出:X=10,Y=20,Z=3三个判定表达式之值依次为真、真、真:三个判定表达式之值依次为真、真、真:输入:输入:A=11,B=14,C=57;预期输出:;预期输出:X=10,Y=20,Z=30第18页,共50页。等等价价分分类类法法边边值值分分析析法法错错误误推推测测法法因因果果图图法法(2)(2)黑盒法黑盒法 不考虑程序的内部结构与特性,不考虑程序的内部结构与特性,只根据程序功能或程序的外部特性设只根据程序功能或程序的外部特性设计测试用例。计测试用例。第19页,共50页。基本

14、思想:基本思想:根据程序的根据程序的I/O特性,将程序的定义特性,将程序的定义域划分为有限个等价区段域划分为有限个等价区段“等价类等价类”,从,从等价类中选择出的用例,具有等价类中选择出的用例,具有“代表性代表性”。等价类分为:有效等价类 对于程序的规格说明是合理的、有意义的输入数据构成的集合。无效等价类 对于程序的规格说明,是不合理的,是没有意义的输入数据构成的集合。第20页,共50页。应应按照输入条件按照输入条件(如输入值的范围,值的个数,值的集合,输入条件(如输入值的范围,值的个数,值的集合,输入条件必须如何)划分为有效等价类和无效等价类。必须如何)划分为有效等价类和无效等价类。例如:每

15、个学生可选修例如:每个学生可选修1-31-3门课程门课程 可以划分一个有效等价类:选修可以划分一个有效等价类:选修1-31-3门课程。门课程。可以划分两个无效等价类:未选修课,选修课超过可以划分两个无效等价类:未选修课,选修课超过3 3门。门。又如:标识符的第一个字符必须是字母。又如:标识符的第一个字符必须是字母。可以划分为一个有效等价类:第一个字符是字母。可以划分为一个有效等价类:第一个字符是字母。可以划分一个无效等价类:第一个字符不是字母。可以划分一个无效等价类:第一个字符不是字母。显然,关键是显然,关键是如何划分等价类如何划分等价类A A、为每个等价类编号;为每个等价类编号;B B、使一

16、个测试用例尽可能覆盖多个有效等价类使一个测试用例尽可能覆盖多个有效等价类C C、特别要注意的是:一个测试用例只能覆盖一个无效等价类。特别要注意的是:一个测试用例只能覆盖一个无效等价类。第21页,共50页。如何划分等价类?有效等价类有效等价类(合理等价类合理等价类)无效等价类无效等价类(不合理等价类不合理等价类)(1)(1)如果输入条件规定了取值范围,可定义一个有如果输入条件规定了取值范围,可定义一个有 效等价类和两个无效等价类。效等价类和两个无效等价类。例例 输入值是学生成绩,范围是输入值是学生成绩,范围是0 01001000 1000 100 有效等价类有效等价类00成绩成绩100100无效

17、等价类无效等价类 成绩成绩100100 无效等价类无效等价类 成绩成绩00(2)(2)如果输入条件代表集合的某个元素,则可定义如果输入条件代表集合的某个元素,则可定义 一个有效等价类和一个无效等价类。一个有效等价类和一个无效等价类。第22页,共50页。(3)3)如规定了输入数据的一组值,且程序对不同输入值做不同处理,则每个允许的输入值是如规定了输入数据的一组值,且程序对不同输入值做不同处理,则每个允许的输入值是一个有效等价类,并有一个无效等价类一个有效等价类,并有一个无效等价类(所有不允许的输入值的集合所有不允许的输入值的集合)。例:输入条件说明学历可为例:输入条件说明学历可为:专科、本科、硕

18、士、博士四种之一,则分别取这四个值作为四专科、本科、硕士、博士四种之一,则分别取这四个值作为四个有效等价类,另外把四种学历之外的任何学历作为无效等价类个有效等价类,另外把四种学历之外的任何学历作为无效等价类(4)(4)如果规定了输入数据必须遵循的规则,可确定一个有效等价类(符合规则)和若干如果规定了输入数据必须遵循的规则,可确定一个有效等价类(符合规则)和若干个无效等价类(从不同角度违反规则个无效等价类(从不同角度违反规则)。(5)(5)如已划分的等价类各元素在程序中的处理方式不同,则应将此等价类进一如已划分的等价类各元素在程序中的处理方式不同,则应将此等价类进一步划分成更小的等价类。步划分成

19、更小的等价类。用等价类划分法设计测试用例步骤:用等价类划分法设计测试用例步骤:(1)(1)形成形成等价类表等价类表,每一等价类规定一个唯一的,每一等价类规定一个唯一的编号编号;(2)(2)设计一设计一测试用例测试用例,使其尽可能多地覆盖尚未使其尽可能多地覆盖尚未覆盖覆盖的的有效等价类有效等价类,重复这一步骤,重复这一步骤,直到所有有效等价类均被测试用例所覆盖;直到所有有效等价类均被测试用例所覆盖;(3)(3)设计一新设计一新测试用例测试用例,使其只使其只覆盖覆盖一个一个无效等价类无效等价类,重复这一步骤直到所有无效等重复这一步骤直到所有无效等价类均被覆盖;价类均被覆盖;第23页,共50页。例例

20、:某报表处理系统要求用户输入处理报表的日期,日期限制在某报表处理系统要求用户输入处理报表的日期,日期限制在20032003年年1 1月至月至20082008年年1212月,月,即系统只能对该段期间内的报表进行处理,如日期不在此范围内,则显示输入即系统只能对该段期间内的报表进行处理,如日期不在此范围内,则显示输入错误信息。系统日期规定由年、月的错误信息。系统日期规定由年、月的6 6位数字字符组成,前四位代表年,后两位位数字字符组成,前四位代表年,后两位代表月。代表月。如何用等价类划分法设计测试用例如何用等价类划分法设计测试用例,来测试程序的日期检查功能?来测试程序的日期检查功能?输入条件输入条件

21、 有效等价类有效等价类 无效等价类无效等价类 报表日期的报表日期的类型及长度类型及长度6 6位数字字符位数字字符(1)(1)有非数字字符有非数字字符 (4)(4)少于少于6 6个数字字符个数字字符 (5)(5)多于多于6 6个数字字符个数字字符 (6)(6)年份范围年份范围在在2003200320082008之间之间 (2)(2)小于小于2003 2003(7)(7)大于大于2008 2008(8)(8)月份范围月份范围在在1 11212之间之间(3)(3)“报表日期报表日期”输入条件的等价类表输入条件的等价类表小于小于1 1 (9)(9)大于大于12 12(10)(10)第24页,共50页。

22、第二步:为有效等价类设计测试用例 测试数据 期望结果 覆盖范围200306200306等价类等价类(1)(2)(3)(1)(2)(3)输入有效输入有效对表中编号为对表中编号为1,2,31,2,3的的3 3个有效等价类用一个测试用例覆盖:个有效等价类用一个测试用例覆盖:(1)(1)6 6位数字字符位数字字符(2)(2)年在年在2003200320082008之间之间 (3)(3)月在月在1 11212之间之间第25页,共50页。第三步:为每一个无效等价类设至少 设计一个测试用例 测试数据 期望结果 覆盖范围003003MAYMAY等价类等价类(4)(4)输入无效输入无效2003520035等价类

23、等价类(5)(5)输入无效输入无效20030052003005等价类等价类(6)(6)输入无效输入无效200120010505等价类等价类(7)(7)输入无效输入无效200920090505等价类等价类(8)(8)输入无效输入无效200320030000等价类等价类(9)(9)输入无效输入无效200320031313等价类等价类(10)(10)输入无效输入无效不能出现相同不能出现相同的测试用例的测试用例本例的本例的1010个等价类至个等价类至少需要少需要8 8个测试用例个测试用例第26页,共50页。基本思想:基本思想:选择等价类的边缘值作为测试用例,选择等价类的边缘值作为测试用例,让每个等价类

24、的边界都得到测试,选择测试用例让每个等价类的边界都得到测试,选择测试用例既考虑既考虑输入输入亦考虑亦考虑输出输出。分析步骤:A、先划分等价类。B、选择测试用例,测试等价类边界。边界选择原则:A、按照输入值范围的边界。B、按照输入/输出值个数的边界。C、输出值域的边界。D、输入/输出有序集的边界。第27页,共50页。按照输入值范围的边界。例如:输入值的范围是-1.0至1.0,则可选择用例 1.0、1.0、-1.001、1.001。按照输入/输出值个数的边界。例如:输入文件可有1-255个记录,则 设计用例:文件的记录数为 0个、1个、255个、256个。输出值域的边界。例如:检索文献摘要,最多4

25、篇。设计用例:可检索0篇、1篇、4篇,和5篇(错误)。D、输入/输出有序集(如顺序文件、线性表)的边界。应选择第一个元素和最后一个元素。第28页,共50页。凭经验或直觉推测可能的错误,列出程序中可凭经验或直觉推测可能的错误,列出程序中可能有的错误和容易发生错误的特殊情况,选择测能有的错误和容易发生错误的特殊情况,选择测试用例。试用例。把输入条件视为“因”,把输出条件视为“果”,将黑盒看成是从因到果的网络图,采用逻辑图的形式来表达功能说明书中输入条件的各种组合与输出的关系。根据这种关系可选择高效的测试用例。因果图是一种形式化语言,是一种组合逻辑因果图是一种形式化语言,是一种组合逻辑网络图。网络图

26、。第29页,共50页。测试步骤及策略测试步骤及策略 所有测试过程都应采用综合测试策略;即先所有测试过程都应采用综合测试策略;即先作静态分析,再作动态测试。并事先制订测试计作静态分析,再作动态测试。并事先制订测试计划。测试过程通常可分划。测试过程通常可分4 4步进行:步进行:单元单元测试测试单元单元测试测试单元单元测试测试被测被测模块模块被测被测模块模块集成集成测试测试设计设计信息信息已测试已测试的模块的模块确认确认测试测试已集成已集成的模块的模块软件软件需求需求系统系统测试测试已确认已确认的软件的软件可交付可交付的软件的软件系统其系统其他元素他元素第30页,共50页。1 1、测试内容、测试内容

27、模块模块模块接口测试模块接口测试局部数据结构测试局部数据结构测试重要路径测试重要路径测试错误处理测试错误处理测试边界条件测试边界条件测试I/O I/O 参数值的个数、类参数值的个数、类型、次序、格式是否正型、次序、格式是否正确,确,I/OI/O文件属性、操作文件属性、操作是否正确等。是否正确等。数据说明是否正确、数据说明是否正确、一致,变量及其初一致,变量及其初值定义是否正确等。值定义是否正确等。检查检查“错误处错误处理程序理程序”本身本身的错误。的错误。边界条件常包括循环边边界条件常包括循环边界,最大最小值、控制界,最大最小值、控制流中等于、大于、小于流中等于、大于、小于的比较值等。的比较值

28、等。重要重要路径通常是指完成路径通常是指完成模块功能的主要路径,模块功能的主要路径,一般是控制结构。一般是控制结构。也称单元测试(也称单元测试(unit testingunit testing)第31页,共50页。考虑到被测模块与其它模块的联系,因此测试考虑到被测模块与其它模块的联系,因此测试时需要使用两类时需要使用两类辅助模块辅助模块来模拟其他模块。来模拟其他模块。驱动模块驱动模块(driverdriver)模拟主程模拟主程序功能,用于向被测模块传递数据,序功能,用于向被测模块传递数据,接收、打印从被测模块返回的数据。接收、打印从被测模块返回的数据。桩模块桩模块(stubstub)又称为假模

29、块,又称为假模块,用于模拟那些由被测模块所调用用于模拟那些由被测模块所调用的下属模块功能。的下属模块功能。一般,驱动模块比桩模块容易设计。但都是额外一般,驱动模块比桩模块容易设计。但都是额外开销。测试方法以白盒法为主。开销。测试方法以白盒法为主。被测模块被测模块驱动模块驱动模块桩模块桩模块桩模块桩模块桩模块桩模块第32页,共50页。1 1、组装测试的任务、组装测试的任务确定模块组装方案,将经过测试的模块组装为确定模块组装方案,将经过测试的模块组装为一个完整的系统。组装方案分为一个完整的系统。组装方案分为渐增式渐增式及及非渐非渐增式。增式。测试方法以黑盒法为主,按照组装方案进行测试方法以黑盒法为

30、主,按照组装方案进行测试。测试。也称为也称为联合测试联合测试或或集成测试,集成测试,重点测试模块的接重点测试模块的接口部分,需设计测试过程使用的驱动模块或桩模口部分,需设计测试过程使用的驱动模块或桩模块。块。问题:问题:渐增式与非渐增式各有何优、缺点?为什么通常渐增式与非渐增式各有何优、缺点?为什么通常采用渐增式?采用渐增式?第33页,共50页。渐增式是先进行模块测试,然后将这些模块逐步渐增式是先进行模块测试,然后将这些模块逐步组装成较大的系统,每连接一个模块进行一次测组装成较大的系统,每连接一个模块进行一次测试试。两种方案:两种方案:设计驱动模块或桩模块,对每一个新组装的子设计驱动模块或桩模

31、块,对每一个新组装的子系统进行测试,对发现问题较多的子系统或模系统进行测试,对发现问题较多的子系统或模块应该用白盒法作回归测试。块应该用白盒法作回归测试。自顶而下增值自顶而下增值增值增值第34页,共50页。M1M4M3M2M6M5程序模块示意图程序模块示意图S5M1S1S1S1S2S2S2S3S3S3第一步,测试主控模块第一步,测试主控模块M1设设计桩模块计桩模块S1、S2、S3,模拟模拟被被M1调用的调用的M2、M3、M4。M2M3M4第二步,依次用第二步,依次用M2、M3、M4替代桩模块替代桩模块S1、S2、S3,每替代一次进行一次测试。每替代一次进行一次测试。S4S4S4S5S5第三步,

32、对由主控模块第三步,对由主控模块M1和和模块模块M2、M3、M4构成的子构成的子系统进行测试,设计桩模块系统进行测试,设计桩模块S4、S5。M5M6第四步,依次用模块第四步,依次用模块M5和和M6替代桩模块替代桩模块S4、S5,并并同时进行新的测试。组装测同时进行新的测试。组装测试完毕。试完毕。第35页,共50页。M3M6M5D1D2D3D1D1D2D2D3D3M2M4M1第四步,把已测试的子系第四步,把已测试的子系统按程序结构连接起来完统按程序结构连接起来完成程序整体的组装测试。成程序整体的组装测试。D4D4D4D5D5D5M1M4M3M2M6M5程序模块示意图程序模块示意图第一步,对最底层

33、的模块第一步,对最底层的模块M3、M5、M6进行测试,设计驱动模进行测试,设计驱动模块块D1、D2、D3来模拟调用。来模拟调用。第三步,设计驱动模块第三步,设计驱动模块D4、D5 和和D6模拟调用,分别对新子系模拟调用,分别对新子系统进行测试。统进行测试。第二步,用实际模块第二步,用实际模块M2、M1和和M4替换驱动模块替换驱动模块D1、D2、D3。D6第36页,共50页。无论是无论是自顶而下增值还是自底而上增值,还可选择自顶而下增值还是自底而上增值,还可选择深度优先深度优先或者或者宽度优先宽度优先增值。增值。举例:按自顶而下增值法,写出下图中分别按照举例:按自顶而下增值法,写出下图中分别按照

34、深度优先深度优先或或者者宽度优先宽度优先增值的模块组装次序。增值的模块组装次序。ABCDHGJEFIKLMN第37页,共50页。(1 1)自顶而下增值与)自顶而下增值与增值各有何优、增值各有何优、缺点?缺点?(2 2)为什么在实际的组装测试中,都应该采用)为什么在实际的组装测试中,都应该采用混合增值的方法?混合增值的方法?(3 3)请自己设计)请自己设计 2-3 2-3个混合增值的测试方法。个混合增值的测试方法。第38页,共50页。自顶而下增值自顶而下增值优点:能够尽早发现系统主控方面的问题。优点:能够尽早发现系统主控方面的问题。缺点:无法验证桩模块是否完全模拟了下属模块的缺点:无法验证桩模块

35、是否完全模拟了下属模块的功能。功能。增值增值优点:驱动模块较容易编写桩模块,能够尽早查出优点:驱动模块较容易编写桩模块,能够尽早查出底层涉及较复杂的算法和实际的底层涉及较复杂的算法和实际的I/OI/O模块中的错误。模块中的错误。缺点:最后才能发现系统主控方面的问题。缺点:最后才能发现系统主控方面的问题。第39页,共50页。常见的常见的混合增值方案:混合增值方案:衍变的自顶而下衍变的自顶而下先自底而上集成子系统,再自顶而下集成总系统。先自底而上集成子系统,再自顶而下集成总系统。自底而上自底而上自顶而下增值自顶而下增值对含有读操作的子系统采用自底而上。对含有读操作的子系统采用自底而上。对含有写操作

36、的子系统采用自顶而下。对含有写操作的子系统采用自顶而下。回归测试回归测试 在回归测试中自底而上,对其余部分(尤其是对在回归测试中自底而上,对其余部分(尤其是对修改过的子系统)采用自顶而下。修改过的子系统)采用自顶而下。第40页,共50页。1 1、任务、任务 又称为有效性测试或功能测试。其任务是验证又称为有效性测试或功能测试。其任务是验证系统的功能、性能等特性是否符合需求规格说明。系统的功能、性能等特性是否符合需求规格说明。选择测试人员选择测试人员选择测试用例选择测试用例实际运行测试实际运行测试软件计划软件计划用户文档用户文档开发文档开发文档源程序文本源程序文本支持环境支持环境有效性有效性测试测

37、试软件软件配置配置审查审查管理管理机构机构裁决裁决专家专家鉴定会鉴定会交用户交用户运行维护运行维护测试报告测试报告软件配置软件配置第41页,共50页。(1 1)有效性测试)有效性测试制定测试计划,运用黑盒法,验证软件特性是制定测试计划,运用黑盒法,验证软件特性是否与需求符合。否与需求符合。(2 2)软件配置复查)软件配置复查软件配置软件配置 指软件工程过程中所产生的所有信指软件工程过程中所产生的所有信息项息项:文档、报告、程序、表格、数据。随着软文档、报告、程序、表格、数据。随着软件工程过程的进展软件配置项(件工程过程的进展软件配置项(SCI software Configuration It

38、em)快速增加和变化。应复查快速增加和变化。应复查SCI是否齐全。是否齐全。第42页,共50页。测试测试 测试是指软件开发公司组织内部人员模拟测试是指软件开发公司组织内部人员模拟各类用户行对即将面市软件产品(称为各类用户行对即将面市软件产品(称为版本)进行版本)进行测试,试图发现错误并修正。测试,试图发现错误并修正。测试的关键在于尽可能逼测试的关键在于尽可能逼真地模拟实际运行环境和用对软件产品的操作并尽最大真地模拟实际运行环境和用对软件产品的操作并尽最大努力涵盖所有可能的努力涵盖所有可能的 用户操作方式。用户操作方式。测试测试 经过经过测试调整的软件产品称为测试调整的软件产品称为版本。紧随其版

39、本。紧随其后的后的测试是指软件开发公司组织各方面的典型用测试是指软件开发公司组织各方面的典型用户在日常工作中实际使用户在日常工作中实际使用版本,并要求用户报告异版本,并要求用户报告异常情况、提出批评意见。然后软件开发公司再对常情况、提出批评意见。然后软件开发公司再对版本进版本进行改错和完善。行改错和完善。第43页,共50页。系统测试系统测试(System Testing)阶段阶段 产出产出1.计划计划系统测试计划系统测试计划2.设计设计系统方案系统方案(系统测试项和系统测试子项)(系统测试项和系统测试子项)3.实现实现系统测试用例系统测试用例4.执行执行测试报告测试报告概念:将已经集成好的软件

40、系统,与概念:将已经集成好的软件系统,与其他其他系统元素结合在一起,在实际运行环境下,进行一系列的系统元素结合在一起,在实际运行环境下,进行一系列的测试活动。测试活动。目的:验证系统对需求的符合程度;目的:验证系统对需求的符合程度;对象:软硬件集成一起的系统,并尽可能地在实际运行环境与条件;对象:软硬件集成一起的系统,并尽可能地在实际运行环境与条件;常用类型:常用类型:1、功能测试功能测试(针对软件质量中)(针对软件质量中)“功能性功能性”目的:根据产品的需求规格说明书和测试列表,验证产品的功能实现是否符合需求规格;目的:根据产品的需求规格说明书和测试列表,验证产品的功能实现是否符合需求规格;

41、关注点:关注点:功能是否遗漏功能是否遗漏 功能实现是否满足用户需求和系统设计的隐性需求功能实现是否满足用户需求和系统设计的隐性需求 输入能否正确接受,输出结果是否正确输入能否正确接受,输出结果是否正确测试方法:等价类、边界值、判定表、因果图、正交、状态迁移、流程分析测试方法:等价类、边界值、判定表、因果图、正交、状态迁移、流程分析2、性能测试性能测试“效率效率”目的:测试软件集成系统中运行的性能,度量系统相对于目标的差距;目的:测试软件集成系统中运行的性能,度量系统相对于目标的差距;第44页,共50页。3、压力测试(、压力测试(stree Testing)“效率、可靠性效率、可靠性”目的:验证

42、系统在其资源超负荷的情况下的表现(自我保护能力、可靠目的:验证系统在其资源超负荷的情况下的表现(自我保护能力、可靠性),发现性能瓶颈、优化系统;性),发现性能瓶颈、优化系统;4、容量测试(、容量测试(Volume Testing)“效率效率”目的:验证系统在不同配置、不同场景下能正确处理的最大业务量;目的:验证系统在不同配置、不同场景下能正确处理的最大业务量;对象:面向数据的;对象:面向数据的;4、容量测试、容量测试5、负载测试、负载测试6、安全性测试、安全性测试7、图形用户界面(、图形用户界面(GUI)测试)测试8、可用性测试、可用性测试9、安全性测试、安全性测试10、配置测试、配置测试11

43、、兼容性测试、兼容性测试12、异常测试、异常测试13、备份测试、备份测试14、健壮性测试、健壮性测试15、文档测试、文档测试16、在线帮助测试、在线帮助测试17、网络测试、网络测试18、稳定性测试、稳定性测试第45页,共50页。模块测试报告模块测试报告至少选择一个典型模块进行测试。至少选择一个典型模块进行测试。A A、综合测试策略(静态分析、白盒法为主,辅以综合测试策略(静态分析、白盒法为主,辅以黑盒法)黑盒法)B B、测试情况(根据覆盖标准列出)测试情况(根据覆盖标准列出)C C、测试用例(保留)测试用例(保留)D D、查错记录(数量、位置)、分析结果。查错记录(数量、位置)、分析结果。组装

44、测试报告组装测试报告A A、组装次序、测试方法(以黑盒法为主)组装次序、测试方法(以黑盒法为主)B B、测试情况测试情况C C、测试用例(保留)测试用例(保留)D D、查错记录(数量、位置)、分析结果。查错记录(数量、位置)、分析结果。功能测试与系统测试功能测试与系统测试与上类似。与上类似。第46页,共50页。软件测试的目的是发现错误,在发现错误后,软件测试的目的是发现错误,在发现错误后,则应按照一定的技术去纠正它。纠错的关键是则应按照一定的技术去纠正它。纠错的关键是“错误定位错误定位”。一、纠错的原则一、纠错的原则1 1、注意错误的、注意错误的“群集现象群集现象”。2 2、不能只修改错误的征

45、兆、表现。还应该修、不能只修改错误的征兆、表现。还应该修改错误的本质。改错误的本质。3 3、注意在修改一个错误的同时,又引入新的、注意在修改一个错误的同时,又引入新的错误。错误。第47页,共50页。1 1、硬性纠错、硬性纠错又称为蛮干法,是使用较多,效率较低的方法。又称为蛮干法,是使用较多,效率较低的方法。主存信息转储法主存信息转储法关键部分设置打印语句关键部分设置打印语句使用自动纠错工具使用自动纠错工具2 2、回、回溯法排错溯法排错适用于小程序。发现错误时,人工沿控制流适用于小程序。发现错误时,人工沿控制流追踪源代码程序。追踪源代码程序。第48页,共50页。从测试结果发现的错误入手,分析它们

46、之间的从测试结果发现的错误入手,分析它们之间的联系查找错误。是一种从特殊推断一般的系统化联系查找错误。是一种从特殊推断一般的系统化思考方法。思考方法。收集收集有关数据有关数据组织数据组织数据研究数据研究数据间的关系间的关系提出假设提出假设证明假设证明假设纠正错误纠正错误能能能能不能不能不能不能列出所有已知列出所有已知的测试用例和的测试用例和程序执行结果程序执行结果常用的构造常用的构造线索的技术线索的技术是是“分类法分类法”分析线索之间分析线索之间的关系,找出的关系,找出矛盾,设计出矛盾,设计出错原因的假设错原因的假设归纳排错法步骤归纳排错法步骤将假设与原始线索将假设与原始线索或数据进行比较,或数据进行比较,能否解释现象,证能否解释现象,证明假设。明假设。yesnoWhatWhenwhereHow第49页,共50页。演绎法是一种从一般原理出发,经过排除和精演绎法是一种从一般原理出发,经过排除和精化的过程,推导出结论的方法。化的过程,推导出结论的方法。列举可能列举可能的原因的原因排除不适排除不适当的原因当的原因对保留的假对保留的假设继续推断设继续推断证明证明假设假设纠正纠正错误错误收集更多收集更多的数据的数据没有剩余没有剩余不能不能能能有剩余有剩余演绎法排错的步骤演绎法排错的步骤第50页,共50页。

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 办公、行业 > 各类PPT课件(模板)
版权提示 | 免责声明

1,本文(软件工程软件测试课件.ppt)为本站会员(三亚风情)主动上传,163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。
2,用户下载本文档,所消耗的文币(积分)将全额增加到上传者的账号。
3, 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(发送邮件至3464097650@qq.com或直接QQ联系客服),我们立即给予删除!


侵权处理QQ:3464097650--上传资料QQ:3464097650

【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。


163文库-Www.163Wenku.Com |网站地图|