第6章软件测试课件.ppt

上传人(卖家):晟晟文业 文档编号:4643012 上传时间:2022-12-28 格式:PPT 页数:51 大小:1,000.51KB
下载 相关 举报
第6章软件测试课件.ppt_第1页
第1页 / 共51页
第6章软件测试课件.ppt_第2页
第2页 / 共51页
第6章软件测试课件.ppt_第3页
第3页 / 共51页
第6章软件测试课件.ppt_第4页
第4页 / 共51页
第6章软件测试课件.ppt_第5页
第5页 / 共51页
点击查看更多>>
资源描述

1、第第 六六 章章6 一、软件测试的目的和重要性一、软件测试的目的和重要性因为开发工作的前期不可避免地会引入错误,测因为开发工作的前期不可避免地会引入错误,测试的试的目的是为了发现和改正错误目的是为了发现和改正错误,这对于某些涉,这对于某些涉及人的生命安全或重要的军事、经济目标的项目及人的生命安全或重要的军事、经济目标的项目显得尤其重要。显得尤其重要。19631963年美国飞往火星的火箭爆炸,原因是年美国飞往火星的火箭爆炸,原因是FORTRANFORTRAN程序:程序:DO 5 I=1DO 5 I=1,3 3 误写为:误写为:DO 5 I=1.3 DO 5 I=1.3 损失损失10001000万

2、美元。万美元。19671967年苏联年苏联“联盟一号联盟一号”宇宙飞船返回时因忽略宇宙飞船返回时因忽略一个小数点,在进入大气层时打不开降落伞而一个小数点,在进入大气层时打不开降落伞而烧毁。烧毁。1、软件测试的开销大、软件测试的开销大按照按照Boehm的统计,软件测试的开销大约占总成的统计,软件测试的开销大约占总成本的本的30%-50%。例如:。例如:APPOLLO登月计划,登月计划,80%的经费用于软件测试。的经费用于软件测试。2、不能进行、不能进行“穷举穷举”测试测试只有将所有可能的情况都测试到,才有可能检查只有将所有可能的情况都测试到,才有可能检查出所有的错误。但这是不可能的:出所有的错误

3、。但这是不可能的:例:程序例:程序P有两个整型输入量有两个整型输入量 X、Y,输出量为输出量为Z,在在32位机上运行。所有的测试数据组(位机上运行。所有的测试数据组(Xi,Yi)的的数目为:数目为:2 2 =2 1毫秒执行毫秒执行1次,共需次,共需5亿年。亿年。323264PXYZ3、软件测试难度大、软件测试难度大根据上述分析,既然不能进行根据上述分析,既然不能进行“穷举穷举”测试,测试,又要查出尽可能多的错误,软件测试工作的难又要查出尽可能多的错误,软件测试工作的难度大。只有选择度大。只有选择“高效的测试用例高效的测试用例”什么是什么是“高效的测试用例高效的测试用例”?如何选择如何选择“高效

4、的测试用例高效的测试用例”?这就是本章讨论的主要问题!这就是本章讨论的主要问题!3 3、充分注意测试中的群集现象。、充分注意测试中的群集现象。1 1、尽量不由程序设计者进行测试。、尽量不由程序设计者进行测试。2 2、关键是注重测试用例的选择。、关键是注重测试用例的选择。输入数据的组成(输入数据、预期的输出结果)输入数据的组成(输入数据、预期的输出结果)既有合理输入数据,也有不合理的输入数据。既有合理输入数据,也有不合理的输入数据。用例既能检查应完成的任务,也能够检查不应该用例既能检查应完成的任务,也能够检查不应该完成的任务。完成的任务。长期保存测试用例。长期保存测试用例。模块测试模块测试整体测

5、试整体测试功能测试功能测试预测试预测试系统测试系统测试验收测试验收测试安装测试安装测试概要设计审查概要设计审查详细设计审查详细设计审查代码审查代码审查 测试测试(单元测试)单元测试)(组装测试)(组装测试)(有效性测试)(有效性测试)(确认测试)(确认测试)软件测试方法分为两类:静态分析、动态测试软件测试方法分为两类:静态分析、动态测试一、静态分析方法一、静态分析方法指以人工的、非形式化的方法对程序进行分析和指以人工的、非形式化的方法对程序进行分析和测试。测试。桌前检查桌前检查代码会审代码会审步行检查步行检查步行检查时,还常使用以下分析方法:步行检查时,还常使用以下分析方法:调用图调用图从语义

6、的角度考察程序的控制路线。从语义的角度考察程序的控制路线。数据流分析图数据流分析图检查分析变量的定义和引用情况。检查分析变量的定义和引用情况。无论无论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)选择逻辑覆盖标准。)选择逻辑覆盖标准。2 2)按照覆盖标准列出所有情况。)按照覆盖标准列出所有情况。3 3)选择确定测试用例。)选择确定测试用例。4

7、4)验证分析运行结果与预期结果。)验证分析运行结果与预期结果。逻辑结构逻辑结构白盒法举例白盒法举例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:=X/AA=2OR X1X:=X+1YNYN逻辑结构逻辑结构使得程序中每个语句至少使得程序中每个语句至少都能被执行一次。都能被执行

8、一次。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使得程序中每个判定至少为使得程序中每个判定至少为TRUE TRUE 或或FALSEFALSE各一次。各一次。A1ANDB=0X:=X/AA=2OR X1X:=X+1abcde覆盖情况:覆盖情况:应执行路径应执行路径ace abd 或:或:acd abe选择用例选择用例(其

9、一):其一):(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)acdYYNNA1ANDB=0X:=X/AA=2OR X1X:=X+1abcde使得判定中的每个条件获使得判定中的每个条件获得各种可能的结果。得各种可能的结果。应满足以下覆盖情况:应满足以下覆盖情况:判定一判定一:A1,A1,B=0,B0判定二判定二:A=2,A2,X1,X1选择用例:选择用例:

10、(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)满足条件覆盖,但不满足判断满足条件覆盖,但不满足判断覆盖。覆盖。同时满足判断覆盖和条同时满足判断覆盖和条件覆盖。件覆盖。A1ANDB=0X:=X/AA=2OR X1X:=X+1abcde应满足以下覆盖情况:应满足以下覆盖情况:条件条件:A1,A1,B=0,B0 A=2

11、,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使得每个判定中条件的各种使得每个判定中条件的各种可能组合都至少出现一次。可能组合都至少出现一次。A1X:=X/AA=2X:=X+1abcdeB=0X1YNYNYNYN编译系统下的执行情况:编译系统下的执行情况:部分路径未被执行。部分路径未被执行。满足以下覆盖情况:满足以下覆盖情况:A1,B=0 A1,B0 A1,B=0 A1,B0 A

12、=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)等等价价分分类类法法边边值值分分析析法法错错误误推推测测法法因因果果图图法法(2)(2)黑盒法黑盒法 不考虑程序的内部结构与特性,不考虑程序的内部结构与特性,只根据程序功能或程序的外部特性只根据程序功能或程序的外部特性设计测试用例。设计测试用例。基本思想:基本思想:根据程序的根据程序的I/O

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

14、为有效等价类和无效的集合,输入条件必须如何)划分为有效等价类和无效等价类。等价类。例如:每个学生可选修例如:每个学生可选修1-31-3门课程门课程可以划分一个有效等价类:选修可以划分一个有效等价类:选修1-31-3门课程。门课程。可以划分两个无效等价类:未选修课,选修课超过可以划分两个无效等价类:未选修课,选修课超过3 3门。门。显然,关键是显然,关键是如何划分等价类如何划分等价类A A 为每个等价类编号;为每个等价类编号;B B 使一个测试用例尽可能覆盖多个有效等价类使一个测试用例尽可能覆盖多个有效等价类C C 特别要注意特别要注意:一个测试用例只能覆盖一个无效等价类。一个测试用例只能覆盖一

15、个无效等价类。等价分类法步骤等价分类法步骤 基本思想:基本思想:选择等价类的边缘值作为测试用例,选择等价类的边缘值作为测试用例,让每个等价类的边界都得到测试,选择测试用让每个等价类的边界都得到测试,选择测试用例既考虑例既考虑输入输入亦考虑亦考虑输出输出。分析步骤:分析步骤:A A 先划分等价类。先划分等价类。B B 选择测试用例,测试等价类边界。选择测试用例,测试等价类边界。边界边界选择原则:选择原则:A A 按照输入值范围的边界。按照输入值范围的边界。B B 按照输入按照输入/输出值个数的边界。输出值个数的边界。C C 输出值域的边界。输出值域的边界。D D 输入输入/输出有序集的边界。输出

16、有序集的边界。按照输入值范围的边界。按照输入值范围的边界。例如:输入值的范围是例如:输入值的范围是-1.0-1.0至至1.01.0,则可选择用例,则可选择用例:1.01.0、1.01.0、-1.001-1.001、1.0011.001。按照输入按照输入/输出值个数的边界。输出值个数的边界。例如:输入文件可有例如:输入文件可有1-2551-255个记录,则个记录,则 设计用例:设计用例:文件的记录数为文件的记录数为 0 0个、个、1 1个、个、255255个、个、256256个。个。输出值域的边界。输出值域的边界。例如:检索文献摘要,最多例如:检索文献摘要,最多4 4篇。设计用例:可检索篇。设计

17、用例:可检索0 0篇、篇、1 1篇、篇、4 4篇,和篇,和5 5篇(错误)。篇(错误)。D D 输入输入/输出有序集(输出有序集(如顺序文件、线性表)如顺序文件、线性表)的边界。的边界。应选择第一个元素和最后一个元素。应选择第一个元素和最后一个元素。对对FORTRAN编译系统中的编译系统中的DIMENSION语句进行测试。语句进行测试。语句格式为:语句格式为:DIMENSION ad,ad ad,ad ad ad为数组描述符,为数组描述符,形式为形式为 n n(d,d,其中:其中:n n数组名,字母打头的字母数字串,长数组名,字母打头的字母数字串,长6 6。D D为界偶(为界偶(1-71-7个

18、):个):ld:ndld:nd ld ld 和和 ndnd 的值为的值为1-655351-65535,ldld缺省为缺省为1 1。输入条件输入条件合理的等价类合理的等价类不合理的等价类不合理的等价类数组描述的个数数组描述的个数1 1个(个(1 1)、多于)、多于1 1个(个(2 2)没有数组描述(没有数组描述(3 3)数组名的字符数数组名的字符数1 16 6个(个(4 4)0 0(5 5),),66(6 6)数组名数组名有字母(有字母(7 7)有数字()有数字(8 8)有其他字符(有其他字符(9 9)数组名的第数组名的第1 1个字符为字母个字符为字母是(是(1010)不是(不是(1111)维数

19、维数1 17 7(1212)0 0(1313),),7 7(1414)上界上界常数(常数(1515)数组元素名(数组元素名(161640 个等价类个等价类 凭经验或直觉推测可能的错误,列出程序中可凭经验或直觉推测可能的错误,列出程序中可能有的错误和容易发生错误的特殊情况,选择测能有的错误和容易发生错误的特殊情况,选择测试用例。试用例。把输入条件视为把输入条件视为“因因”,把输出条件视为,把输出条件视为“果果”,将黑盒看成是从因到果的网络图,采用,将黑盒看成是从因到果的网络图,采用逻辑图的形式来表达功能说明书中输入条件的各逻辑图的形式来表达功能说明书中输入条件的各种组合与输出的关系。根据这种关系

20、可选择高效种组合与输出的关系。根据这种关系可选择高效的测试用例。的测试用例。因果图是一种形式化语言,是一种组合逻辑因果图是一种形式化语言,是一种组合逻辑网络图。网络图。因果图的基本符号因果图的基本符号0-0-表示表示“不出现不出现”1-1-表示表示“出现出现”恒等恒等若若a a为为1 1,则,则b b为为1 1,否则,否则b b为为0 0。“非非”函数函数 若若a a为为1 1,则,则b b为为0 0,否则,否则b b为为1 1。“或或”函数函数 若若a a或或b b为为1 1,则,则d d为为1 1,否则,否则d d为为0 0。“与与”函数函数 若若a a与与b b同为同为1 1,则,则d

21、d为为1 1,否则,否则d d为为0 0。abababd dabd d对对“与与”、“或或”函数的限制符号函数的限制符号E E约束(异)约束(异)排斥排斥即即a a、b b不能同时为不能同时为1 1。I I约束(或)约束(或)包容包容a a、b b、c c不能同时为不能同时为0 0。O O约束(唯一约束(唯一)选一选一 a a、b b中仅有一个为中仅有一个为1 1。R R约束(要求约束(要求)需要需要 a a为为1 1时,时,b b必须为必须为1 1M M约束(强制约束(强制)屏蔽屏蔽 若若a a为为1 1时,则时,则b b强制为强制为1 1。abEabcIabRabO OabM分析规范,即将

22、问题分为若干可工作的步骤。分析规范,即将问题分为若干可工作的步骤。标识出规范中的原因与结果。标识出规范中的原因与结果。原因原因输入条件输入条件 结果结果输出或系统变换输出或系统变换将因果图转换为有限项判断表。将因果图转换为有限项判断表。将判断表的每一列,转换为一个测试用例。将判断表的每一列,转换为一个测试用例。规范:文件名第一列字符必须为规范:文件名第一列字符必须为A A或或B B,第二列字第二列字符必须为数字。满足则修改文件。第一字符不正符必须为数字。满足则修改文件。第一字符不正确发出信息确发出信息X X1212,第二个字符不正确发出信息第二个字符不正确发出信息X X1313。1 1.分析规

23、范分析规范原原 因因 结结 果果1 1 第一列字符为第一列字符为A A 50 50修改文件修改文件2 2 第一列字符为第一列字符为B B 51 51发信息发信息X X12123 3 第二列字符为数字第二列字符为数字 52 52发信息发信息X X1313中间结点中间结点是导出结果的进一步原因。是导出结果的进一步原因。考虑到原因考虑到原因1 1、2 2不可能同时为不可能同时为1 1,加上,加上E E约束。约束。1111515035212E发发 X 12发发 X 13 修改文件修改文件12345678条条件件原原因因111100001100110010101010111100动动作作结结果果0000

24、11101000010101测试用例测试用例A3A8AMA?B5B4BNB!C2X6DYPI11515052测试步骤及策略测试步骤及策略 所有测试过程都应采用综合测试策略;即先所有测试过程都应采用综合测试策略;即先作静态分析,再作动态测试。并事先制订测试计作静态分析,再作动态测试。并事先制订测试计划。测试过程通常可分划。测试过程通常可分4 4步进行:步进行:单元单元测试测试单元单元测试测试单元单元测试测试被测被测模块模块被测被测模块模块集成集成测试测试设计设计信息信息已测试已测试的模块的模块确认确认测试测试已集成已集成的模块的模块软件软件需求需求系统系统测试测试已确认已确认的软件的软件可交付可

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

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

27、。桩模块桩模块(stubstub)又称为假模块,又称为假模块,用于模拟那些由被测模块所调用的下用于模拟那些由被测模块所调用的下属模块功能。属模块功能。一般,驱动模块比桩模块容易设计。但都是额外开一般,驱动模块比桩模块容易设计。但都是额外开销。测试方法以白盒法为主。销。测试方法以白盒法为主。被测模块被测模块驱动模块驱动模块桩模块桩模块桩模块桩模块桩模块桩模块二、组装测试二、组装测试(Integration TestingIntegration Testing)1 1.组装测试的任务组装测试的任务确定模块组装方案,将经过测试的模块组装为确定模块组装方案,将经过测试的模块组装为一个完整的系统。组装方

28、案分为一个完整的系统。组装方案分为渐增式渐增式及及非渐非渐增式。增式。测试方法以黑盒法为主,按照组装方案进行测试方法以黑盒法为主,按照组装方案进行测试。测试。也称为也称为联合测试联合测试或或集成测试,集成测试,重点测试模块的接重点测试模块的接口部分,需设计测试过程使用的驱动模块或桩模口部分,需设计测试过程使用的驱动模块或桩模块。块。问题:问题:渐增式与非渐增式各有何优、缺点?为什渐增式与非渐增式各有何优、缺点?为什么通常采用渐增式?么通常采用渐增式?渐增式是先进行模块测试,然后将这些模渐增式是先进行模块测试,然后将这些模块逐步组装成较大的系统,每连接一个模块进行块逐步组装成较大的系统,每连接一

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

30、桩模块替代桩模块S1、S2、S3,每替代一次进行一次测试。每替代一次进行一次测试。S4S4S4S5S5第三步,对由主控模块第三步,对由主控模块M1和和模块模块M2、M3、M4构成的子构成的子系统进行测试,设计桩模块系统进行测试,设计桩模块S4、S5。M5M6第四步,依次用模块第四步,依次用模块M5和和M6替代桩模块替代桩模块S4、S5,并同时并同时进行新的测试。组装测试完进行新的测试。组装测试完毕。毕。增值增值M3M6M5D1D2D3D1D1D2D2D3D3M2M4M1第四步,把已测试的子系第四步,把已测试的子系统按程序结构连接起来完统按程序结构连接起来完成程序整体的组装测试。成程序整体的组装

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

32、按自顶而下增值法,写出下图中分别按照举例:按自顶而下增值法,写出下图中分别按照深深度优先度优先或者或者宽度优先宽度优先增值的模块组装次序。增值的模块组装次序。ABCDHGJEFIKLMN 自顶而下增值自顶而下增值优点:能够尽早发现系统主控方面的问题。优点:能够尽早发现系统主控方面的问题。缺点:无法验证桩模块是否完全模拟了下属模块的缺点:无法验证桩模块是否完全模拟了下属模块的功能。功能。增值增值优点:驱动模块较容易编写桩模块,能够尽早查出优点:驱动模块较容易编写桩模块,能够尽早查出底层涉及较复杂的算法和实际的底层涉及较复杂的算法和实际的I/OI/O模块中的错误。模块中的错误。缺点:最后才能发现系

33、统主控方面的问题。缺点:最后才能发现系统主控方面的问题。常见的常见的混合增值方案:混合增值方案:衍变的自顶而下衍变的自顶而下先自底而上集成子系统,再自顶而下集成总系统。先自底而上集成子系统,再自顶而下集成总系统。自底而上自底而上自顶而下增值自顶而下增值对含有读操作的子系统采用自底而上。对含有读操作的子系统采用自底而上。对含有写操作的子系统采用自顶而下。对含有写操作的子系统采用自顶而下。回归测试回归测试在回归测试中自底而上,对其余部分(引起是对在回归测试中自底而上,对其余部分(引起是对修改过的子系统)采用自顶而下。修改过的子系统)采用自顶而下。1 1.任务任务 又称为有效性测试或功能测试。其任务

34、是验证又称为有效性测试或功能测试。其任务是验证系统的功能、性能等特性是否符合需求规格说明。系统的功能、性能等特性是否符合需求规格说明。选择测试人员选择测试人员选择测试用例选择测试用例实际运行测试实际运行测试软件计划软件计划用户文档用户文档开发文档开发文档源程序文本源程序文本支持环境支持环境有效性有效性测试测试软件软件配置配置审查审查管理管理机构机构裁决裁决专家专家鉴定会鉴定会交用户交用户运行维护运行维护测试报告测试报告软件配置软件配置(1 1)有效性测试)有效性测试制定测试计划,运用黑盒法,验证软件特性是制定测试计划,运用黑盒法,验证软件特性是否与需求符合。否与需求符合。(2 2)软件配置复查

35、)软件配置复查软件配置软件配置指软件工程过程中所产生的所有信指软件工程过程中所产生的所有信息项:文档、报告、程序、表格、数据。随着软息项:文档、报告、程序、表格、数据。随着软件工程过程的进展软件配置项(件工程过程的进展软件配置项(SCI software Configuration Item)快速增加和变化。应复查快速增加和变化。应复查SCI是否齐全。是否齐全。(3 3)测试和测试和 测试测试 测试测试 是在开发机构的监督下,由个别用户在是在开发机构的监督下,由个别用户在确认测试阶段后期对软件进行测试,目的是评价确认测试阶段后期对软件进行测试,目的是评价软件的软件的FLURPSFLURPS(功

36、能、局域化、可使用性、可靠功能、局域化、可使用性、可靠性、性能和支持)性、性能和支持),注重界面和特色。注重界面和特色。测试测试 由由支持软件预发行支持软件预发行的客户对的客户对FLURPSFLURPS进行进行测试,主要目的是测试系统的可支持性。测试,主要目的是测试系统的可支持性。unction Testing unction Testing 功能测试功能测试 ocal Area Testing ocal Area Testing 局域化测试局域化测试sability Testing sability Testing 可使用性测试可使用性测试egression Testing egressio

37、n Testing 回归测试回归测试erformance Testing erformance Testing 性能测试性能测试upportability Testing upportability Testing 可支持可支持性测试性测试将经过确认测试的软件,与计算机硬件、外设、将经过确认测试的软件,与计算机硬件、外设、支持软件等一起,在实际运行环境下测试。支持软件等一起,在实际运行环境下测试。五、验收测试(五、验收测试(acceptance testingacceptance testing)验收测试是以用户为主的测试。验收测试是以用户为主的测试。软件测试是保证软件可靠性的主要手段,也是软

38、件开软件测试是保证软件可靠性的主要手段,也是软件开发过程中最艰巨、最繁杂的任务。发过程中最艰巨、最繁杂的任务。软件测试方案是测试阶段的关键技术问题,基本目软件测试方案是测试阶段的关键技术问题,基本目标是选择最少量的高效测试用例,从而尽可能多地发现标是选择最少量的高效测试用例,从而尽可能多地发现软件中的问题。因此,无论哪一个测试阶段,都软件中的问题。因此,无论哪一个测试阶段,都应该采应该采用综合测试策略,用综合测试策略,才能够实现测试的目标。才能够实现测试的目标。最后进行最后进行验收测试验收测试(Acceptance Testing),是以用户为主是以用户为主的测试,测试过程、方法和测试内容与系

39、统测试基本相同。的测试,测试过程、方法和测试内容与系统测试基本相同。有时也将验收测试与系统测试合二为一,此时,参加测试有时也将验收测试与系统测试合二为一,此时,参加测试的人员最好包括:有经验的系统测试专家,用户代表,软件开的人员最好包括:有经验的系统测试专家,用户代表,软件开发人员及发人员及QA(质量保证)人员也应参加。质量保证)人员也应参加。软件测试的目的是发现错误,在发现错误后,软件测试的目的是发现错误,在发现错误后,则应按照一定的技术去纠正它。纠错的关键是则应按照一定的技术去纠正它。纠错的关键是“错误定位错误定位”。一、纠错的原则一、纠错的原则1 1、注意错误的、注意错误的“群集现象群集

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

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

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

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

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


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

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


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