软件测试ppt课件.ppt

上传人:飞****2 文档编号:88467303 上传时间:2023-04-26 格式:PPT 页数:79 大小:819KB
返回 下载 相关 举报
软件测试ppt课件.ppt_第1页
第1页 / 共79页
软件测试ppt课件.ppt_第2页
第2页 / 共79页
点击查看更多>>
资源描述

《软件测试ppt课件.ppt》由会员分享,可在线阅读,更多相关《软件测试ppt课件.ppt(79页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

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

2、 损失损失10001000万美元。万美元。19671967年苏联年苏联“联盟一号联盟一号”宇宙飞船返回时因忽略宇宙飞船返回时因忽略一个小数点,在进入大气层时打不开降落伞而一个小数点,在进入大气层时打不开降落伞而烧毁。烧毁。二、软件测试的二、软件测试的二、软件测试的二、软件测试的二、软件测试的二、软件测试的特点特点特点特点特点特点1、软件测试的开销大、软件测试的开销大按照按照Boehm的统计,软件测试的开销大约占总成的统计,软件测试的开销大约占总成本的本的30%-50%。例如:。例如:APPOLLO登月计划,登月计划,80%的经费用于软件测试。的经费用于软件测试。2、不能进行、不能进行“穷举穷举

3、”测试测试只有将所有可能的情况都测试到,才有可能检查只有将所有可能的情况都测试到,才有可能检查出所有的错误。但这是不可能的:出所有的错误。但这是不可能的:例:程序例:程序P有两个整型输入量有两个整型输入量 X、Y,输出量为输出量为Z,在在32位机上运行。所有的测试数据组(位机上运行。所有的测试数据组(Xi,Yi)的的数目为:数目为:2 2 =2 1毫秒执行毫秒执行1次,共需次,共需5亿年。亿年。323264PXYZ二、软件测试的二、软件测试的二、软件测试的二、软件测试的二、软件测试的二、软件测试的特点特点特点特点特点特点 结论结论结论结论结论结论3、软件测试难度大、软件测试难度大根据上述分析,

4、既然不能进行根据上述分析,既然不能进行“穷举穷举”测试,测试,又要查出尽可能多的错误,软件测试工作的难又要查出尽可能多的错误,软件测试工作的难度大。只有选择度大。只有选择“高效的测试用例高效的测试用例”什么是什么是“高效的测试用例高效的测试用例”?如何选择如何选择“高效的测试用例高效的测试用例”?这就是本章讨论的主要问题!这就是本章讨论的主要问题!三、软件测试的基本原则三、软件测试的基本原则三、软件测试的基本原则三、软件测试的基本原则3 3、充分注意测试中的群集现象。、充分注意测试中的群集现象。1 1、尽量不由程序设计者进行测试。、尽量不由程序设计者进行测试。2 2、关键是注重测试用例的选择。

5、、关键是注重测试用例的选择。输入数据的组成(输入数据、预期的输出结果)输入数据的组成(输入数据、预期的输出结果)既有合理输入数据,也有不合理的输入数据。既有合理输入数据,也有不合理的输入数据。用例既能检查应完成的任务,也能够检查不应该用例既能检查应完成的任务,也能够检查不应该完成的任务。完成的任务。长期保存测试用例。长期保存测试用例。由安博测试空间技术中心由安博测试空间技术中心http:/ 测试测试(单元测试)单元测试)(组装测试)(组装测试)(有效性测试)(有效性测试)(确认测试)(确认测试)6.2 软件测试方法软件测试方法软件测试方法分为两类:静态分析、动态测试软件测试方法分为两类:静态分

6、析、动态测试一、静态分析方法一、静态分析方法指指以以人人工工的的、非非形形式式化化的的方方法法对对程程序序进进行行分分析析和和测试。测试。桌前检查桌前检查代码会审代码会审步行检查步行检查步行检查时,还常使用以下分析方法:步行检查时,还常使用以下分析方法:调用图调用图从语义的角度考察程序的控制路线。从语义的角度考察程序的控制路线。数据流分析图数据流分析图检查分析变量的定义和引用情况。检查分析变量的定义和引用情况。调用图调用图调用图调用图无论无论Y 为何值,都为何值,都不能够调用子程序不能够调用子程序。READYY0NX:=YX1)AND(B=0)A1)AND(B=0)THEN X:=X/A;TH

7、EN 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 4)验证分析运行结果与预期结果。)验证分析运行结果与预期结果。白盒法举例白盒法举例白盒法举例白盒法举例白盒法举例白盒法举例Procedure Procedure(VAR A,B,X:REALVAR A,B,X:REAL););BEGIN BEGIN IF IF(A1)AND(B=0)A1)AND(B=0

8、)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+1YNYN1 1 1、语句覆盖、语句覆盖、语句覆盖、语句覆盖、语句覆盖、语句覆盖使得程序中每个语句至少使得程序中每个语句至少都能被执行一次。都能被执行一次。A1ANDB=0X:=X/AA=2OR X1X:=X+1abcde满足语句覆盖的情况:满足语句覆盖的情况:执行路径:执行路径:aceace选择用例:选择用例:(2,0,4),(2,0,3)(2,0,4),(2,0,3)用

9、例格式:用例格式:输入输入(A,B,X)(A,B,X),输出,输出(A,B,X)(A,B,X)YNYN2 2 2、判定覆盖、判定覆盖、判定覆盖、判定覆盖、判定覆盖、判定覆盖使得程序中每个判定至少为使得程序中每个判定至少为TRUE TRUE 或或FALSEFALSE各一次。各一次。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)

10、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)acdYYNN3 3 3、条件覆盖、条件覆盖、条件覆盖、条件覆盖、条件覆盖、条件覆盖A1ANDB=0X:=X/AA=2OR X1X:=X+1abcde使得判定中的每个条件获使得判定中的每个条件获得各种可能的结果。得各种可能的结果。应满足以下覆盖情况:应满足以下覆盖情况:判定一判定一: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,

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

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

13、路径未被执行。满足以下覆盖情况:满足以下覆盖情况: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)作业作业作业作业:退出退出上页上页首页首页下页下页末页末页 用用C语言编写选择排序的程序语言编写选择排序的程序,并用白盒法进并用白盒法进行测试行测试.二、动态测试方法二、动态测试方法二、动

14、态测试方法二、动态测试方法二、动态测试方法二、动态测试方法(2 2 2 2 2 2)等等价价分分类类法法边边值值分分析析法法错错误误推推测测法法因因果果图图法法(2)(2)黑盒法黑盒法 不考虑程序的内部结构与特性,不考虑程序的内部结构与特性,只根据程序功能或程序的外部特性只根据程序功能或程序的外部特性设计测试用例。设计测试用例。1 1 1、等价分类法、等价分类法、等价分类法、等价分类法、等价分类法、等价分类法基基本本思思想想:根根据据程程序序的的I/O特特性性,将将程程序序的的定定义义域域划划分分为为有有限限个个等等价价区区段段“等等价价类类”,从从等价类中选择出的用例,具有等价类中选择出的用

15、例,具有“代表性代表性”。等价类分为:等价类分为:有有效效等等价价类类 对对于于程程序序的的规规格格说说明明是是合合理理的的、有意义的输入数据构成的集合。有意义的输入数据构成的集合。无效等价类无效等价类 对于程序的规格说明,是不合理对于程序的规格说明,是不合理的,是没有意义的输入数据构成的集合。的,是没有意义的输入数据构成的集合。等价分类法步骤等价分类法步骤等价分类法步骤等价分类法步骤 应应按按照照输输入入条条件件(如如输输入入值值的的范范围围,值值的的个个数数,值值的的集集合合,输输入入条件必须如何)划分为有效等价类和无效等价类。条件必须如何)划分为有效等价类和无效等价类。例如:每个学生可选

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

17、号;、为每个等价类编号;B B、使一个测试用例尽可能覆盖多个有效等价类、使一个测试用例尽可能覆盖多个有效等价类C C、特别要注意的是:一个测试用例只能覆盖一个无效等价类。、特别要注意的是:一个测试用例只能覆盖一个无效等价类。选择测试用例选择测试用例选择测试用例选择测试用例 等价分类法步骤等价分类法步骤等价分类法步骤等价分类法步骤2 2 2、边值分析法、边值分析法、边值分析法、边值分析法、边值分析法、边值分析法 基基本本思思想想:选选择择等等价价类类的的边边缘缘值值作作为为测测试试用用例例,让让每每个个等等价价类类的的边边界界都都得得到到测测试试,选选择择测测试试用用例例既考虑既考虑输入输入亦考

18、虑亦考虑输出输出。分析步骤:分析步骤:A A、先划分等价类。先划分等价类。B B、选择测试用例,测试等价类边界。选择测试用例,测试等价类边界。边界选择原则:边界选择原则:A A、按照输入值范围的边界。按照输入值范围的边界。B B、按照输入按照输入/输出值个数的边界。输出值个数的边界。C C、输出值域的边界。输出值域的边界。D D、输入输入/输出有序集的边界。输出有序集的边界。A A A A、按照输入值范围的边界。按照输入值范围的边界。例例如如:输输入入值值的的范范围围是是-1.0-1.0至至1.01.0,则则可可选选择择用用例例 1.01.0、1.01.0、-1.001-1.001、1.001

19、1.001。B B B B、按照输入按照输入/输出值个数的边界。输出值个数的边界。例例如如:输输入入文文件件可可有有1-2551-255个个记记录录,则则 设设计计用用例例:文文件件的记录数为的记录数为 0 0个、个、1 1个、个、255255个、个、256256个。个。C C C C、输出值域的边界。输出值域的边界。例例如如:检检索索文文献献摘摘要要,最最多多4 4篇篇。设设计计用用例例:可可检检索索0 0篇篇、1 1篇、篇、4 4篇,和篇,和5 5篇(错误)。篇(错误)。D D、输入输入/输出有序集(输出有序集(如顺序文件、线性表)如顺序文件、线性表)的边界。的边界。应选择第一个元素和最后

20、一个元素。应选择第一个元素和最后一个元素。边值分析法举例边值分析法举例边值分析法举例边值分析法举例黑盒法应用实例黑盒法应用实例黑盒法应用实例黑盒法应用实例黑盒法应用实例黑盒法应用实例 对对FORTRAN编译系统中的编译系统中的DIMENSION语句进行测试。语句进行测试。语句格式为:语句格式为:DIMENSION ad,ad adad,ad ad为数组描述符,为数组描述符,形式为形式为 n n(d,d,其中:其中:n n数组名,字母打头的字母数字串,长数组名,字母打头的字母数字串,长6 6。D D为界偶(为界偶(1-71-7个):个):ld:nd ld ld:nd ld 和和 nd nd 的值

21、为的值为1-655351-65535,ldld缺省为缺省为1 1。40 个等价类个等价类3 3 3 3 3 3、错误推测法、错误推测法、错误推测法、错误推测法、错误推测法、错误推测法 凭经验或直觉推测可能的错误,列出程序中可凭经验或直觉推测可能的错误,列出程序中可能有的错误和容易发生错误的特殊情况,选择测能有的错误和容易发生错误的特殊情况,选择测试用例。试用例。把把输输入入条条件件视视为为“因因”,把把输输出出条条件件视视为为“果果”,将将黑黑盒盒看看成成是是从从因因到到果果的的网网络络图图,采采用用逻逻辑辑图图的的形形式式来来表表达达功功能能说说明明书书中中输输入入条条件件的的各各种种组组合

22、合与与输出的关系。根据这种关系可选择高效的测试用例。输出的关系。根据这种关系可选择高效的测试用例。因果图是一种形式化语言,是一种组合逻辑因果图是一种形式化语言,是一种组合逻辑网络图。网络图。4 4 4 4 4 4、因果图法、因果图法、因果图法、因果图法、因果图法、因果图法4 4 4 4 4 4、因果图法(、因果图法(、因果图法(、因果图法(、因果图法(、因果图法(cause effcet graphiceicause effcet graphiceicause effcet graphiceicause effcet graphiceicause effcet graphiceicause e

23、ffcet graphicei)因果图的基本符号因果图的基本符号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 d为为1 1,否则,否则d d为为0 0。abababd dabd d4 4 4 4 4 4、因果图法、因果图法、因果图法、因果图法、因

24、果图法、因果图法(cause effcet graphiceicause effcet graphiceicause effcet graphiceicause effcet graphiceicause effcet graphiceicause effcet graphicei)对对“与与”、“或或”函数的限制符号函数的限制符号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约束(要求

25、)约束(要求)需要需要 a a为为1 1时,时,b b必须为必须为1 1M M约束(强制)约束(强制)屏蔽屏蔽 若若a a为为1 1时,则时,则b b强制为强制为1 1。abEabcIabRabO OabM 因果图法的步骤因果图法的步骤因果图法的步骤因果图法的步骤因果图法的步骤因果图法的步骤分析规范,即将问题分为若干可工作的步骤。分析规范,即将问题分为若干可工作的步骤。标识出规范中的原因与结果。标识出规范中的原因与结果。原因原因输入条件输入条件 结果结果输出或系统变换输出或系统变换将因果图转换为有限项判断表。将因果图转换为有限项判断表。将判断表的每一列,转换为一个测试用例。将判断表的每一列,转

26、换为一个测试用例。分析规范语义、内容,转换为因果图。分析规范语义、内容,转换为因果图。分析规范语义、内容,转换为因果图。分析规范语义、内容,转换为因果图。因果图法应用举例因果图法应用举例因果图法应用举例因果图法应用举例因果图法应用举例因果图法应用举例规范:文件名第一列字符必须为规范:文件名第一列字符必须为A A或或B B,第二列字,第二列字符必须为数字。满足则修改文件。第一字符不正符必须为数字。满足则修改文件。第一字符不正确发出信息确发出信息X X1212,第二个字符不正确发出信息,第二个字符不正确发出信息X X1313。、分析规范、分析规范原原 因因 结结 果果1 1 第一列字符为第一列字符

27、为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 修改文件修改文件将因果图转换为判断表将因果图转换为判断表将因果图转换为判断表将因果图转换为判断表115150526.3 6.3 软件测

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

29、块测试一、模块测试一、模块测试一、模块测试一、模块测试(Module TestingModule TestingModule TestingModule TestingModule TestingModule Testing)1 1、测试内容、测试内容模块模块模块接口测试模块接口测试局部数据结构测试局部数据结构测试重要路径测试重要路径测试错误处理测试错误处理测试边界条件测试边界条件测试I/O I/O 参数值的个数、类参数值的个数、类型、次序、格式是否正型、次序、格式是否正确,确,I/OI/O文件属性、操作文件属性、操作是否正确等。是否正确等。数据说明是否正确、数据说明是否正确、一致,变量及其初

30、一致,变量及其初值定义是否正确等。值定义是否正确等。检查检查“错误处错误处理程序理程序”本身本身的错误。的错误。边界条件常包括循环边边界条件常包括循环边界,最大最小值、控制界,最大最小值、控制流中等于、大于、小于流中等于、大于、小于的比较值等。的比较值等。重要重要路径通常是指完成路径通常是指完成模块功能的主要路径,模块功能的主要路径,一般是控制结构。一般是控制结构。也称单元测试(也称单元测试(unit testingunit testing)2 2 2 2 2 2、模块测试步骤、模块测试步骤、模块测试步骤、模块测试步骤、模块测试步骤、模块测试步骤考虑到被测模块与其它模块的联系,因此测试考虑到被

31、测模块与其它模块的联系,因此测试时需要使用两类时需要使用两类辅助模块辅助模块来模拟其他模块。来模拟其他模块。驱动模块驱动模块(driverdriver)模拟主程模拟主程序功能,用于向被测模块传递数据,序功能,用于向被测模块传递数据,接收、打印从被测模块返回的数据。接收、打印从被测模块返回的数据。桩模块桩模块(stubstub)又称为假模块,又称为假模块,用于模拟那些由被测模块所调用用于模拟那些由被测模块所调用的下属模块功能。的下属模块功能。一般,驱动模块比桩模块容易设计。但都是额外一般,驱动模块比桩模块容易设计。但都是额外开销。测试方法以白盒法为主。开销。测试方法以白盒法为主。被测模块被测模块

32、驱动模块驱动模块桩模块桩模块桩模块桩模块桩模块桩模块二、组装测试二、组装测试二、组装测试二、组装测试二、组装测试二、组装测试(Integration TestingIntegration TestingIntegration TestingIntegration TestingIntegration TestingIntegration Testing)1 1、组装测试的任务、组装测试的任务确定模块组装方案,将经过测试的模块组装为确定模块组装方案,将经过测试的模块组装为一个完整的系统。组装方案分为一个完整的系统。组装方案分为渐增式渐增式及及非渐非渐增式。增式。测试方法以黑盒法为主,按照组装方案

33、进行测试方法以黑盒法为主,按照组装方案进行测试。测试。也称为也称为联合测试联合测试或或集成测试,集成测试,重点测试模块的接重点测试模块的接口部分,需设计测试过程使用的驱动模块或桩模口部分,需设计测试过程使用的驱动模块或桩模块。块。2 2 2 2 2 2、渐增式组装测试、渐增式组装测试、渐增式组装测试、渐增式组装测试、渐增式组装测试、渐增式组装测试渐增式是先进行模块测试,然后将这些模块逐步渐增式是先进行模块测试,然后将这些模块逐步组装成较大的系统,每连接一个模块进行一次测组装成较大的系统,每连接一个模块进行一次测试试。两种方案:两种方案:设计驱动模块或桩模块,对每一个新组装的子设计驱动模块或桩模

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

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

36、装测试。成程序整体的组装测试。D4D4D4D5D5D5M1M4M3M2M6M5程程序序模模块块示示意意图图第第一一步步,对对最最底底层层的的模模块块M3、M5、M6进进行行测测试试,设设计计驱驱动动模模块块D1、D2、D3来模拟调用。来模拟调用。第第三三步步,设设计计驱驱动动模模块块D4、D5 和和D6模模拟拟调调用用,分分别别对对新新子子系系统进行测试。统进行测试。第第二二步步,用用实实际际模模块块M2、M1和和M4替替换换驱驱动动模模块块D1、D2、D3。D6深度优先与宽度优先深度优先与宽度优先深度优先与宽度优先深度优先与宽度优先深度优先与宽度优先深度优先与宽度优先无论是无论是自顶而下增值

37、还是自底而上增值,还可选择自顶而下增值还是自底而上增值,还可选择深度优先深度优先或者或者宽度优先宽度优先增值。增值。举例:按自顶而下增值法,写出下图中分别按照举例:按自顶而下增值法,写出下图中分别按照深度优先深度优先或或者者宽度优先宽度优先增值的模块组装次序。增值的模块组装次序。ABCDHGJEFIKLMN问问 题题(1 1)自顶而下增值与)自顶而下增值与自底而上自底而上自底而上自底而上增值各有何优、增值各有何优、缺点?缺点?(2 2)为什么在实际的组装测试中,都应该采用)为什么在实际的组装测试中,都应该采用混合增值的方法?混合增值的方法?(3 3)请自己设计)请自己设计 2-3 2-3个混合

38、增值的测试方法。个混合增值的测试方法。确定集成过程的原则确定集成过程的原则确定集成过程的原则确定集成过程的原则确定集成过程的原则确定集成过程的原则 自顶而下增值自顶而下增值优点:能够尽早发现系统主控方面的问题。优点:能够尽早发现系统主控方面的问题。缺点:无法验证桩模块是否完全模拟了下属模块的功缺点:无法验证桩模块是否完全模拟了下属模块的功能。能。自底而上自底而上自底而上自底而上增值增值优点:驱动模块较容易编写桩模块,能够尽早查出底优点:驱动模块较容易编写桩模块,能够尽早查出底层涉及较复杂的算法和实际的层涉及较复杂的算法和实际的I/OI/O模块中的错误。模块中的错误。缺点:最后才能发现系统主控方

39、面的问题。缺点:最后才能发现系统主控方面的问题。集成过程的原则集成过程的原则集成过程的原则集成过程的原则 尽早测试关键模块。尽早测试关键模块。尽早测试关键模块。尽早测试关键模块。尽早测试包含尽早测试包含尽早测试包含尽早测试包含I/OI/OI/OI/O的模块。的模块。的模块。的模块。3 3 3 3 3 3、混合增值、混合增值、混合增值、混合增值、混合增值、混合增值常见的常见的混合增值方案:混合增值方案:衍变的自顶而下衍变的自顶而下先自底而上集成子系统,再自顶而下集成总系统。先自底而上集成子系统,再自顶而下集成总系统。自底而上自底而上自顶而下增值自顶而下增值对含有读操作的子系统采用自底而上。对含有

40、读操作的子系统采用自底而上。对含有写操作的子系统采用自顶而下。对含有写操作的子系统采用自顶而下。回归测试回归测试 在回归测试中自底而上,对其余部分(尤其是在回归测试中自底而上,对其余部分(尤其是对修改过的子系统)采用自顶而下。对修改过的子系统)采用自顶而下。三、确认测试三、确认测试三、确认测试三、确认测试三、确认测试三、确认测试(validation testingvalidation testingvalidation testingvalidation testingvalidation testingvalidation testing)1 1、任务、任务 又称为有效性测试或功能测试。其

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

42、盒法,验证软件特性是制定测试计划,运用黑盒法,验证软件特性是否与需求符合。否与需求符合。(2 2)软件配置复查)软件配置复查软件配置软件配置 指软件工程过程中所产生的所有信指软件工程过程中所产生的所有信息项息项:文档、报告、程序、表格、数据。随着软文档、报告、程序、表格、数据。随着软件工程过程的进展软件配置项(件工程过程的进展软件配置项(SCI software Configuration Item)快速增加和变化。应复查快速增加和变化。应复查SCI是否齐全。是否齐全。(3 3 3 3 3 3)测试和测试和测试和测试和测试和测试和 测试测试测试测试测试测试 测试测试 是在开发机构的监督下,由个

43、别用户在是在开发机构的监督下,由个别用户在确认测试阶段后期对软件进行测试,目的是评价确认测试阶段后期对软件进行测试,目的是评价软件的软件的FLURPSFLURPS(功能、局域化、可使用性、可靠功能、局域化、可使用性、可靠性、性能和支持)性、性能和支持),注重界面和特色。注重界面和特色。测试测试 由由支持软件预发行支持软件预发行的客户对的客户对FLURPSFLURPSFLURPSFLURPS进行进行测试,主要目的是测试系统的可支持性。测试,主要目的是测试系统的可支持性。F F F Function Testing unction Testing 功能测试功能测试 L L L Local Area

44、 Testing ocal Area Testing 局域化测试局域化测试U U U Usability Testing sability Testing 可使用性测试可使用性测试R R R Regression Testing egression Testing 回归测试回归测试P P P Performance Testing erformance Testing 性能测试性能测试S S S Supportability Testing upportability Testing 可支持可支持性测试性测试四、系统测试四、系统测试四、系统测试四、系统测试四、系统测试四、系统测试(system

45、 testing system testing system testing system testing system testing system testing)将经过确认测试的软件,与计算机硬件、外设、将经过确认测试的软件,与计算机硬件、外设、支持软件等一起,在实际运行环境下测试。支持软件等一起,在实际运行环境下测试。五、验收测试(五、验收测试(acceptance testingacceptance testing)验收测试是以用户为主的测试。软件工程课程设验收测试是以用户为主的测试。软件工程课程设计的验收测试,计的验收测试,1919周进行。周进行。1 1、步骤为:、步骤为:(1 1

46、)由课题组根据测试用例,自己演示系统所有)由课题组根据测试用例,自己演示系统所有功能。功能。(2 2)由教师进行测试。)由教师进行测试。2 2、软件工程课程设计验收表、软件工程课程设计验收表、软件工程课程设计验收表、软件工程课程设计验收表3 3 3 3 3 3、软件测试文档、软件测试文档、软件测试文档、软件测试文档、软件测试文档、软件测试文档模块测试报告模块测试报告至少选择一个典型模块进行测试。至少选择一个典型模块进行测试。A A、综合测试策略(静态分析、白盒法为主,辅以、综合测试策略(静态分析、白盒法为主,辅以黑盒法)黑盒法)B B、测试情况(根据覆盖标准列出)、测试情况(根据覆盖标准列出)

47、C C、测试用例(保留)、测试用例(保留)D D、查错记录(数量、位置)、分析结果。、查错记录(数量、位置)、分析结果。组装测试报告组装测试报告A A、组装次序、测试方法(以黑盒法为主)、组装次序、测试方法(以黑盒法为主)B B、测试情况、测试情况C C、测试用例(保留)、测试用例(保留)D D、查错记录(数量、位置)、分析结果。、查错记录(数量、位置)、分析结果。功能测试与系统测试功能测试与系统测试与上类似。与上类似。6.4 6.4 6.4 6.4 面向对象的测试面向对象的测试面向对象的测试面向对象的测试传统的观点认为测试要在编码之后才进行,假设测试传统的观点认为测试要在编码之后才进行,假设

48、测试的对象是程序代码。的对象是程序代码。需求和设计是代码产生的基础,需要对需求和设计进需求和设计是代码产生的基础,需要对需求和设计进行测试。行测试。需求或设计的测试通常以两种方式进行需求或设计的测试通常以两种方式进行:一是在没有代码的情况下进行测试;一是在没有代码的情况下进行测试;二是在有代码的情况下进行测试。二是在有代码的情况下进行测试。面向对象的测试,既要使用许多传统的成熟的软件测面向对象的测试,既要使用许多传统的成熟的软件测试方法和技术,也有其不同的特点;主要反映在测试对象试方法和技术,也有其不同的特点;主要反映在测试对象和内容的不同。和内容的不同。6.4.1 6.4.1 6.4.1 6

49、.4.1 分析模型测试的重要性分析模型测试的重要性分析模型测试的重要性分析模型测试的重要性 在在不不同同的的软软件件开开发发过过程程模模型型中中,需需求求、设设计计和和编编码码总总是是有有一一定定的的时时序序特特性性。需需求求模模型型、设设计计模模型型和和实实现现代代码码之之间间还还具具备备解解释释特性,即设计解释了需求,实现代码解释了设计。特性,即设计解释了需求,实现代码解释了设计。1 1 1 1、需需需需求求求求的的的的质质质质量量量量影影影影响响响响并并并并决决决决定定定定了了了了设设设设计计计计的的的的质质质质量量量量,进进而而影影响响并并决决定定了了代码,直至整个系统的最终质量。代码

50、,直至整个系统的最终质量。必须首先重视需求的质量,而测试是质量保证的重要手段。必须首先重视需求的质量,而测试是质量保证的重要手段。2 2 2 2、需需需需求求求求测测测测试试试试可可可可以以以以较较较较早早早早地地地地发发发发现现现现需需需需求求求求中中中中不不不不合合合合理理理理的的的的项项项项目目目目、以以及及错错误误地理解了用户需求的项目,避免对于成本和资源的消耗。地理解了用户需求的项目,避免对于成本和资源的消耗。同时也减少了返工的几率,应尽早发现并解决这些问题。同时也减少了返工的几率,应尽早发现并解决这些问题。3 3 3 3、减减减减少少少少需需需需求求求求的的的的模模模模糊糊糊糊性性

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 教案示例

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁