软件测试的基本概念课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《软件测试的基本概念课件.ppt》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件 测试 基本概念 课件
- 资源描述:
-
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
展开阅读全文