软件测试方法与实践讲义-第三章

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

2020年2月19日软件测试讲义1第三章黑盒测试2020年2月19日第三章黑盒测试2主要内容3.1基于图的测试方法3.2等价划分3.3边界值分析3.4因果分析法3.4.1因果图符号3.4.2因果图举例3.5正交数组测试3.6测试插桩3.6.1测试预言2.6.2随机数据生成器2020年2月19日第三章黑盒测试3黑盒测试概述黑盒测试(Black-boxTesting)又称功能测试,注重测试软件的功能性需求,即黑盒测试需要软件工程师生成输入条件集来检测程序所有功能需求。黑盒测试并不是白盒测试的替代品,而是配合白盒测试发现其他类型的错误。黑盒测试试图发现以下类型的错误:功能不对或遗漏界面错误数据结构或外部数据库访问错误性能错误初始化和终止错误注:白盒测试在测试的早期执行,而黑盒测试主要用于测试的后期。2020年2月19日第三章黑盒测试43.1基于图的测试方法1.黑盒测试的特点要用黑盒测试发现程序中存在的错误,必须用所有可能的输入条件和输出条件对程序进行测试,从而检测程序是否正确。因此,黑盒测试有两个比较明显的优点:黑盒测试与软件具体的实现无关,因此如果实现发生变化,测试用例仍然可以被使用;设计黑盒测试用例可以和软件实现同时进行,因此可以大大压缩项目总的开发时间。黑盒测试以软件规格说明书为依据选取测试数据,其正确性依赖于规格说明的正确性。2020年2月19日第三章黑盒测试53.1基于图的测试方法2.基于图的黑盒测试理解软件所表示的对象及其关系;定义一组保证“所有对象和其他对象具有所期望的关系”的测试序列。对象#1对象#2对象#3有向连接(连接权重)无向连接平行连接节点权重(值)2020年2月19日第三章黑盒测试63.1基于图的测试方法2.基于图的黑盒测试(例子)对象#1=新建文件菜单选择对象#2=文档窗口对象#3=文档文本新建文件菜单选择文档窗口文档文本菜单选择产生(生成时间1.0秒)被表示为包含属性:开始纬度:默认设置或偏好背景颜色:白色文本颜色:默认设置或偏好2020年2月19日第三章黑盒测试73.1基于图的测试方法3.使用图的行为测试方法事务流建模:节点代表事务的步数,连接代表步骤之间的连接关系。数据流图可用于辅助产生这种图。有限状态建模:节点代表用户可观测的不同软件状态,而连接掉膘状态之间的转换。状态变迁图可用来辅助产生这种图。数据流建模:节点是对象,而连接是对象间的顺序连接。连接权值用于指定程序执行所需的时间。时间建模:节点是程序对象,而连接是对象间的顺序连接。连接权值用于指定程序执行时所需的执行时间。2020年2月19日第三章黑盒测试83.2等价划分1.等价划分的概念定义:等价划分是一种黑盒测试方法,将程序的输入域划分为数据类,以便导出测试用例,理想的测试用例是能够独立发现一类错误。输入条件:通常是一个特定的数值、一个数值域、一组相关值和一个布尔条件;使用这种方法进行程序测试时,首先要在分析需求规格说明书的基础上划分等价类,然后列出等价类表。2020年2月19日第三章黑盒测试93.2等价划分2.等价类等价类就是指某个数据域的集合,在这个集合里如果一个输入条件作为测试数据不能发现程序中的错误,那么就说明这个集合中的所有输入条件在测试时也不能发生错误(除非这个等价类的某个子集还属于另一个等价类)。有效等价类是指符合需求规格说明书要求的,有意义的,合理的输入数据所构成的集合,它主要用于测试程序是否实现了需求规格说明书中的功能要求。无效等价类是指不符合需求规格说明要求的,非法的,无意义的输入数据所构成的集合,它只要用于测试程序是否做了需求规格说明以外的事。2020年2月19日第三章黑盒测试103.2等价划分2.等价类定义等价类指南:•输入条件代表范围,定义1个有效等价类和2个无效等价类;例如,规定计时里60分钟为1小时,分钟的范围就是0~60之间,因此有效等价类为0≤分钟≤60。无效等价类就是分钟0和分钟60。价类;•输入条件需要特定值,定义1个有效等价类和2个无效等价类;例如,一个理工科学生必须从所有人文限选课中选出1—2门学习,那么有效等价类为:1≤限选课数目≤2;无效等价类为:限选课数目1和限选课数目2。2020年2月19日第三章黑盒测试113.2等价划分2.等价类定义等价类指南:•输入条件代表集合一元素,定义1个有效等价类和1个无效等价类;例如输入为颜色,属于{红,橙,黄,绿,青,蓝,紫}中的一个,那么有效等价类为“颜色”=红,无效等价类为“颜色”=粉;•输入条件是布尔式,定义1个有效等价类和1个无效等价类。例如,在Pascal语言中对变量标识符规定为“以字母开头的……串”。那么有效等价类是“以字母开头的串”,而无效等价类有“以非字母开头的串”。2020年2月19日第三章黑盒测试123.2等价划分2.等价类利用等价类设计测试用例的步骤:①为每个等价类(有效的和无效的)规定一个唯一的等价类编号。②设计一个新的测试用例,使其尽可能多的覆盖尚未覆盖的有效等价类,重复这一步骤,直到所有的有效等价类都被完全覆盖为止。③设计一个新的测试用例,使其尽可能覆盖一个无效等价类,重复这一步骤,使所有无效等价类都被完全覆盖。2020年2月19日第三章黑盒测试133.2等价划分3.等价划分实例考虑自动银行应用软件数据管理,用户用微机拨号并输入6位密码,由键盘命令触发各种银行功能,数据如下:区号——空或3位数字。前缀——3位数字,但不是0和1开始。后缀——四位数字。密码——6位数字或字母。命令——“检查”、“存款”、“付款”等。2020年2月19日第三章黑盒测试143.2等价划分3.等价划分实例数据元素相关的输入条件表示为:区号•输入条件,布尔值——区号是否存在。•输入条件,范围——定义200-999之间的数值。前缀和后缀•输入条件:范围——指定数值大于200•输入条件:值——4位数字长度密码•输入条件:布尔值——密码是否存在。•输入条件:值——6位字符串。命令•输入条件:集合——包含事先声明的命令。2020年2月19日第三章黑盒测试153.3边界值分析1.边界值分析的概念边界值分析(BoundaryValueAnalysis,BVA)是一种选择测试用例检查边界值的一种黑盒测试技术。实践表明,设计一些边界测试条件用例,使程序运行在边界附近,这样常常取得良好的测试效果。边界测试条件是指相对于输入与输出等价类直接在其边界上或稍高于其边界,或稍低于其边界的状态条件。与等价类划分相比,边界值分析以专门挑选边界附近的值作为测试用例。2020年2月19日第三章黑盒测试163.3边界值分析2.BVA的指南如果输入条件代表以a和b为边界的范围,测试用例应包含a,b,略大于a和略小于b的值;例如,规定输入的考试成绩在0~100之间,则取0,100,1,99作为测试输入数据。如果输入条件代表一组值,测试用例应当执行其中最大值和最小值,还应测试略小于最小值和略大于最大值的值;例如,规定一运动员的参赛项目至少1项,最多3项,则可选择参赛项目分别是1项、3项、0项、4项的测试输入数据。2020年2月19日第三章黑盒测试173.3边界值分析2.BVA的指南上面两条适用于输出条件;例如,输出的金额值大于等于0且小于104,则选择使得输出金额分别为0、9999、-1、10000的输入数据作为测试数据。例如,规定输出的一张发票上,至少有1行内容,至多有5行内容,则选择使得输出发票分别有1行、5行、0行、6行内容的输入数据作为测试数据。如果程序数据结构有预定义的边界(如数组有100项)那需要测试边界的数据项。2020年2月19日第三章黑盒测试183.3边界值分析3.错误推测法在测试程序时,人们根据经验或直觉推测程序中可能存在的各种错误,从而有针对性地编写检查这些错误的测试用例,这就是错误推测法。错误推测法没有确定的步骤,凭经验进行。它的基本思想是列出程序中可能发生错误的情况,根据这些情况选择测试用例。如输入、输出数据为零是容易发生错误的情况;又如,输入表格为空或输入表格只有一行是容易出错的情况等。2020年2月19日第三章黑盒测试193.3边界值分析3.错误推测法例如对于一个排序程序,列出以下几项需特别测试的情况:(1)(2)(3)输入表中所有元素均相同。(4)输入表中已排好序。又如,测试一个采用二分法的检索程序,考虑以下情况:(1)表中只有一个元素。(2)表长是2(3)表长为2的幂减1或2的幂加1因此,要根据具体情况具体分析。2020年2月19日第三章黑盒测试203.4因果分析法1.因果图法在等价类划分方法和边界值方法中未考虑输入条件的各种组合,当输入条件比较多时,输入条件组合的数目会相当大。因果图方法是一种帮助人们系统地选择一组高效测试用例的方法,它既考虑了输入条件的组合关系,又考虑了输出条件对输入条件的依赖关系,即因果关系,其测试用例发现错误的效率比较高。2020年2月19日第三章黑盒测试213.4因果分析法1.因果图法因果图方法的特点是:考虑输入条件的组合关系;考虑输出条件对输入条件的依赖关系,即因果关系;测试用例发现错误的效率高;能检查出功能说明中的某些不一致或遗漏。2020年2月19日第三章黑盒测试223.4因果分析法2.因果图的符号在因果图中出现的基本符号通常在因果图中用Ci表示原因,用Ei表示结果,各结点表示状态,可取值“0”或“1”。“0”表示某状态不出现,“1”表示某状态出现。考虑输出条件对输入条件的依赖关系,即因果关系。因果图中的关系2020年2月19日第三章黑盒测试233.4因果分析法2.因果图的符号因果图中的关系在上图中,左边表示原因,右边表示结果,各结点表示其所处的状态,可取值为“0”表示某状态不出现,和“1”表示某状态出现。它们的含义分别是:⑴恒等:表示原因与结果之间一一对应关系,例如:如果a=1,则c=1,如果a=0,则c=0。⑵非:表示原因与结果之间相反的关系,例如:如果a=1,则c=0,如果a=0,则c=1。⑶或:表示若几个原因中任一个结果出现都出现,例如:如果a=1或b=1,则c=1,如果a=b=0,则c=0。⑷与:表示所有原因都出现结果才出现,例如:a=b=1,则c=1,如果a=0或b=0,则c=0。2020年2月19日第三章黑盒测试243.4因果分析法2.因果图的符号表示约束条件的符号为了表示原因与原因之间,结果与结果之间可能存在的约束条件,在因果图中可以附加一些表示约束条件的符号。2020年2月19日第三章黑盒测试253.4因果分析法2.因果图的符号表示约束条件的符号⑴E(互斥):表示a、b两个原因不同时为成立,最多只有一个可能成立,即a、b中至多只有一个1。⑵I(包含):表示a、b、d三个原因中至少有一个必须成立,即a、b、d中不可全部为0。⑶O(唯一):表示a、b中必须只有一个成立,即a、b中有且只有一个1。⑷R(要求):表示当a出现时,b也要必须出现,即如果a=1,b必须为1。⑸M(屏蔽):这个约束条件最为特殊,不同于以上是对输入原因的约束,而是从输出结果考虑,当a是1时,b必须是0;当a是0时,则b的值不定。2020年2月19日第三章黑盒测试263.4因果分析法3.用因果图设计测试用例的步骤1)分析软件规格说明描述,哪些是“原因”(输入条件的等价类),那些是“结果”(输出条件或程序状态的修改),并要给每个原因或结果赋予一个编号。2)分析软件规格说明,找出原因与原因之间,原因与结果之间对应的关系,根据此关系画出因果图。3)由于语法或环境的作用,有些原因与原因之间、原因与结果之间的一些组合情况不可能出现,由此,因果图上就会用一些标号标明约束或限制条件来表明其含义。4)由因果图转换成判定表。5)用判定表中每一列作为依据来设计测试用例。2020年2月19日第三章黑盒测试273.4因果分析法4.因果分析法实例一个文件管理系统的一段规格说明:“在文件的第一列的字符必须是A或B,在文件第二列的字符必须是一个数字。在这种情况下,文件被

1 / 44
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功