《软件测试》课堂笔记03
黑盒测试的方法有很多种,主要分为以下几种:
1.边界值分析法
2.因果图法
3.决策表法
边界值分析方法:
定义:大量的软件测试实践表明,故障往往出现在定义域或值域的边界上,而不是在其内部。为检测边界附近的处理专门设计测试用例,通常都会取得很好的测试效果。因此边界值分析法是一种很实用的黑盒测试用例方法,它具有很强的发现故障的能力。
条件:边界是一些特殊情况。程序在处理大量中间数值时都是正确,但是在边界处可能出现错误。边界条件就是软件计划的操作界限所在的边缘条件。
边界值与等价类关系:等价类划分就是以边界来划分。等价类测试用例选择时应该选边界值作为测试用例。
方法:(这里只讨论两个变量的例子,多变量可根据双变量延伸即可)
1. 通过使所有变量取正常值(nom),只使一个变量分别取最小值(min),略高于最小值(min+)、略低于最大值(max-)和最大值(max)。
![](http://images0.cnblogs.com/blog2015/729688/201504/122143460712479.jpg)
2. 即通过使所有变量取正常值(nom),只使一个变量分别取略低于最小值(min-)、最小值(min),最大值(max)和略高于最大值(max+)。
![](http://images0.cnblogs.com/blog2015/729688/201504/122145050084364.jpg)
3. 健壮性(Robust)边界值测试。
![](http://images0.cnblogs.com/blog2015/729688/201504/122146504463984.jpg)
4. 最坏情况测试(Worst Case)。
![](http://images0.cnblogs.com/blog2015/729688/201504/122147520862354.jpg)
因果图法:
定义:如果程序输入之间没有什么联系,采用等价类划分和边界值分析是一种比较有效的方法。如果输入之间有关系,例如,约束关系、组合关系,这种关系用等价类划分和边界值分析是很难描述的,测试效果难以保障,因此必须考虑使用一种适合于描述对于多种条件的组合,产生多个相应动作的测试方法,因果图正是在此背景下提出的。
表示符号:
1.
![](http://images0.cnblogs.com/blog2015/729688/201504/122151391189026.jpg)
2.
![](http://images0.cnblogs.com/blog2015/729688/201504/122153258366391.jpg)
3.
![](http://images0.cnblogs.com/blog2015/729688/201504/122154016804708.jpg)
4.
![](http://images0.cnblogs.com/blog2015/729688/201504/122154386336351.jpg)
5.
![](http://images0.cnblogs.com/blog2015/729688/201504/122155280084100.jpg)
6.
![](http://images0.cnblogs.com/blog2015/729688/201504/122156023837431.jpg)
7.
![](http://images0.cnblogs.com/blog2015/729688/201504/122156401966945.jpg)
决策表法:(最严格)
定义:决策表是把作为条件的所有输入的各种组合值以及对应输出值都罗列出来而形成的表格。它能够将复杂的问题按照各种可能的情况全部列举出来,简明并避免遗漏。因此,利用决策表能够设计出完整的测试用例集合。
结构:决策表通常由条件桩(Conditions)、条件项(Condition Alternatives)、动作桩(Actions)和动作项(Action Entries)4部分组成。
![](http://images0.cnblogs.com/blog2015/729688/201504/122158580711458.jpg)
步骤:
(1)列出所有的条件桩和动作桩。
(2)确定动作规则(条件项)的个数。
(3)填入条件项。
(4)填入动作项,得到初始决策表。
(5)简化决策表,合并相似规则。
以上就是对黑河测试的三种方法的介绍。大部分内容来源于老师的课件。
自我总结:
1.对于边界值方法来说,我认为所有的程序都应该进就行边界值测试。写了好几年代码,大部分错误都出现在值的域,是否溢出等情况,也就是边界值问题。希望在以后的程序当中尽量将边界值得情况考虑清楚。
2.决策变法是黑盒测试中最为严格的一种测试方法,也是必不可少的一步,但相对来说决策表法有些困难,所以得十分注意。