软件测试-测试用例的设计-黑盒测试方法
- 格式:pptx
- 大小:1019.76 KB
- 文档页数:62


路漫漫其修远兮,吾将上下而求索 -
百度文库
11 常用的四种黑盒测试用例设计方法
1.
等价划分。所谓等价类划分是指一套被选择的值,这些值分别代表了许多众多的可能输入值,程序对其处理的方式都是一样的。等价类划分的方法作为继边界值分析方法之后补充的测试用例设计试用的一种方法。划分等价类、确定测试用例。
等价类划分是一种典型的黑盒测试方法,使用这一方法时,完全不考虑程序的内部结构,只依据程序的规格说明来设计测试用例。等价类划分方法把所有可能的输入数据,即程序的输入域划分成若干部分,然后从每一部分中选取少数有代表性的数据做为测试用例。
等价类的划分有两种不同的情况:有效等价类:是指对于程序的规格说明来说,是合理的,有意义的输入数据构成的集合。无效等价类:是指对于程序的规格说明来说,是不合理的,无意义的输入数据构成的集合。在设计测试用例时,要同时考虑有效等价类和无效等价类的设计。
2. 边界值分析。在设计测试用例确定输入和输出参数时,大多数情况下都是用边界值分析方法,采用边界值分析设计的测试用例发现程序错误能力最强。边界值分析也是一种黑盒测试方法,是对等价类划分方法的补充。人们从长期的测路漫漫其修远兮,吾将上下而求索 -
百度文库
22 试工作经验得知,大量的错误是发生在输入或输出范围的边界上,而不是在输入范围的内部。因此针对各种边界情况设计测试用例,可以查出更多的错误。
3. 错误推测法。人们也可以靠经验和直觉推测程序中可能存在的各种错误,从而有针对性地编写检查这些错误的例子。这就是错误推测法。错误推测法的基本想法是:列举出程序中所有可能有的错误和容易发生错误的特殊情况,根据它们选择测试用例。
4. 因果图。如果程序的功能说明中含有输入条件的组合情况,则一开始就可以选用因果图法。如果在测试时必须考虑输入条件的各种组合,可使用一种适合于描述对于多种条件的组合,相应产生多个动作的形式来设计测试用例,这就需要利用因果图。因果图方法最终生成的就是判定表。它适合于检查程序输入条件的各种组合情况。
实验2 黑盒测试---边界值测试用例设计与执行教案
授课时数:2学时 授课日期: 上课教室:
实验目的:
通过本次实验教学,使学生熟悉边界值分析方法。
实验重点:
边界值分析法设计测试用例。
实验难点:
因果图测试法中中间结点的产生。
实验内容、方法步骤及时间分配:
分析NextDATE问题中的逻辑,用边界值分析法的思想设计测试用例。
(1)对于NextDate问题,分析它的输入限制;
NextDate是一个有三个变量(月份、日期和年)的函数。函数返回输入日期后面的那个日期。变量月份、日期和年都是整数值,并满足以下条件:
c1:1<=月份<=12
c2:1<=日期<=31
c3:1812<=年<=2012
我们的处理要包括对月份、日期和年的无效输入值的响应处理,还要对无效逻辑处理,例如任意年的4月31日。
在NextDate函数中有两种复杂性来源:输入域和闰年规则。关于公历闰年是这样规定的:地球绕太阳公转一周叫做一回归年,一回归年长365日5时48分46秒。因此,公历规定有平年和闰年,平年一年有365日,比回归年短0.2422日,四年共短0.9688日,故每四年增加一日,这一年有366日,就是闰年。但四年增加一日比四个回归年又多0.0312日,400年后将多3.12日,故在400年中少设3个闰年,也就是在400年中只设97个闰年,这样公历年的平均长度与回归年就相近似了。由此规定:年份是整百数的必须是400的倍数才是闰年,例如1900年、2100年就不是闰年。
(2)在最坏情况下,从输入限制的边界设计测试用例;
在NextDate函数中,隐含规定了变量mouth和变量day的取值范围为1≤mouth≤12和1≤day≤31,并设定变量year的取值范围为1912≤year≤2050 。
(3)从FTP上下载NextDate.jar,执行手工测试,记录结果。
第5章 白盒与黑盒测试的测试用例设计
5.1 覆盖率的概念
覆盖率是用来度量测试完整性的一个手段
逻辑覆盖和功能覆盖
覆盖率=(至少被执行一次的item数)/item总数
5.2 白盒测试的测试用例设计
5.2.1逻辑覆盖
逻辑覆盖是以程序内部的逻辑结构为基础的测试用例设计技术,属白盒测试。为了衡量测试的覆盖程度,需要建立一些作为测试彻底度的定量衡量标准。目前常用的覆盖标准是:
语句覆盖;判定覆盖;条件覆盖;判定/条件覆盖;条件组合覆盖;路径覆盖
一、语句覆盖
语句覆盖就是设计若干个测试用例,运行所测的程序,使得每一可执行语句至少执行一次。
二、判定覆盖
判定覆盖就是设计若干个测试用例,使程序中的每个判断至少出现一次“真值”和一次“假值”,即程序中的每个分支都至少执行一次。
三、条件覆盖
条件覆盖是指利用若干个测试用例,使被测试的程序中,对应每个判断中每个条件的所有可能情况均至少执行一次。
四、判定/条件覆盖
判定/条件覆盖就是设计足够多的测试用例,使得程序中每个判断条件的所有可能的结果至少取到一次,又使每次判断的每个分支至少通过一次。
五、条件组合覆盖
解决上述问题的新标准是条件组合覆盖。条件组合覆盖就是设计足够多的测试用例,使得每个判断的所有可能的条件取值组合至少执行一次。
六、逻辑覆盖举例
[例1]试用逻辑覆盖测试法为采用冒泡排序(bubble sorting)法进行数据排序的C程序设计测试用例。
本例是一个对k个整数进行升序排序的C程序,采用的算法是冒泡排序。基本步骤是:
(1) 从数组中取出第2个元素;
(2) 如果新取出的元素大于等于其前邻元素,则转向第(4)步;
(3) 如果新取出的元素小于其前邻元素,则与其前邻元素交换位置;
(4) 将新元素与新的前邻元素比较,若仍小于新的前邻元素,则重复第(3)步;
(5) 取下一个元素。如果数组中元素已取完则结束排序,否则转向第(2)步。
⿊盒测试⽤例设计⽅法
⼀、等价类划分法
该⽅法是将系统的输⼊域划分为若⼲部分,然后从每个部分选取少数代表性数据进⾏测试,这样可以避免穷举法产⽣的⼤量⽤例。
等价类是指某个输⼊域的⼦集合,在该⼦集合中,各个输⼊数据对于揭露软件中的错误都是等效的。并合理地假定:测试某等价类的代表值就等于对这⼀类其它值的测试。
有效等价类:是指对于系统的规格说明来说是合理的,有意义的输⼊数据构成的集合。利⽤有效等价类可以验证程序是否实现了规格说明中所规定的功能和性能。
⽆效等价类:是指对于系统的规格说明来说是不合理或⽆意义的输⼊数据所构成的集合。
设计测试⽤例时,要同时考虑这两种等价类。因为,软件不仅要能接收合理的数据,也要能经受意外的考验,这样的测试才能确保软件具备有更⾼的可靠性。1、划分等价类
基于特性测试⼦项所对应的 SRS ⽚段,可以参考下⾯⼏条原则:1.在输⼊条件规定了取值范围或值的个数的情况。
例⼦:在1=5 和 x<=1。2.在输⼊条件规定了输⼊值的集合或者规定了必定如何的条件的情况下,可确⽴⼀个有效等价类和⼀个⽆效等价类。
例⼦:规定字段”星期”是输⼊星期⼏。该输⼊条件⼀个有效等价类是输⼊的值属于从星期⼀到星期⽇的集合,⼀个⽆效等价类是不属于星期⼀到星期⽇的其他值。3.在输⼊条件是⼀个布尔量的情况。
例⼦:性别,如果规定输⼊“男”为有效,则⼀个有效等价类:“男”,⼀个⽆效等价类:“⼥”。4.在规定了输⼊数据的⼀组值假定 n 个,并且程序要对每⼀个输⼊值分别处理的情况下,可确⽴ n 个有效等价类和⼀个⽆效等价类。
例⼦:PPT的打印效果分为幻灯⽚加框和幻灯⽚不加框,则对于打印效果这个输⼊条件,n (这⾥ n =2)个有效等价类:幻灯⽚加框,幻灯⽚不加框;⼀个⽆效等价类:加框和不加框外的其他值。5.在规定了输⼊数据必须遵守的规则的情况下,可确⽴⼀个有效等价类符合规则和若⼲个⽆效等价类从不同⾓度违反规则。
例⼦:⽤户名规则:长度 6-16 位,由英⽂和数字组成,则⼀个有效等价类:符合长度和字符类型的字符串,如 test123。若⼲个⽆效等价类可以包括:违反长度,如test1,test1234567890123456,;违反字符类型,如 test@123,test 123等。6.在确知已划分的等价类中个元素在程序处理中的⽅式不同的情况下,则应再将该等价类进⼀步的划分为更⼩的等价类。