多变量测试一般性方法
针对系统测试中黑盒输入变量较多提出一些测试方法,可以提高有限的测试资源下测试设计的有效性。对于计费、报表等测试设计有较好的实用价值。
1. 从实践中常遇到的问题开始:
在黑盒系统测试计划设计中,一般将界定的测试需求细化为详细的测试功能集,每个可测试的功能都有一些输入和输出,通过组合特定的输入来校验预期的输出。
常见的组合方法有:等价类划分、因果图、正交矩阵法、边界分析、判定表驱动、功能图等,主要是解决输入穷举数量级与测试有效性的矛盾。
对于较少的输入变量,通常有较好的效果,或者多种方法复合使用等等。但是当输入因素较多时(比如有200个),如果照搬套用的话,那么数量级将超出测试资源的约束,也就是说可能不得不牺牲测试的有效性。
在计费测试中,简单地按照黑盒测试划分输入因素,计费文件和配置数据将组合出太多的可能;如果轻率地只用几个测试用例,那么计费的有效性显然没有说服力。
报表测试与此类似,影响某个报表结果的数据库输入组合同样很多。
如果把输入变量的组合理解为一个区域,白色为已有的测试用例
那么在灰色区域都没有经过测试,无法确认里面没有BUG。
2. 缩减输入变量的简易方法:
最简单的方法就是尽可能减少输入变量的个数和每个变量可能的取值范围,比如筛选出一些不变量或变化不大的变量不列入输入变量,当做是系统恒定值处理;再如根据需求筛选一些变量的取值范围,或剔除一些无意义的组合等等。目的是减小测试区域的面积。
这些方法只能减少较为有限的幅度,而且受应用的限制比较大。
3. 测试范围的界定:
在测试开始的时候,必须确定测试的范围,表面上看似乎是"毋庸置疑"的,但却可以重新认真选择和考量,比如
system
config
input
output
在该图中可以选择不同的椭圆作为测试的范围。如果选择最小的椭圆作为测试范围,那么可能需要把 config和input作为输入变量考虑;如果用中间的椭圆作为测试范围,只需要用input作为输入变量考虑;如果选择最大的椭圆作为测试范围,那么就没有输入变量了。(注:并非测试范围扩大就一定会得到较少的输入)
可以看到,选择不同的测试范围对测试输入有影响。一般来说,测试系统的范围至少要大于需求的范围,若把一些因素比如配置变量纳入测试范围内,则会减少输入变量。
对于上述将一些因素放入测试范围内而不再参加输入组合的穷举,必须有相应的"典型值集合"来弥补可能的遗漏。
同样以上图为例:选取一个集合config-A
config-A={config1,config2,config3,...,confign}
input-B={input1,input2,input3,…,inputn}
集合中将是一些典型的具有代表意义的若干组合,然后对集合A做INPUT的穷举组合(组合方法见前述黑盒测试方法)测试,再对集合B做CONFIG的穷举组合测试,如果必要的话可能在产品部署前针对确定的CONFIG-C做一次回归测试。
集合选取的策略可以根据需要灵活把握。
以此类推可以根据选择和组合将较多的输入变量简化为容易测试的集合。值得特别注意的是:例子中的config在需求中,恰好是一旦确定后变化不大,那么是否可以随意选择其他任意的因素呢?
4. 黑盒测试中的白盒测试
先看下
测试范围(需求区域)
设计实现区域
最大方框代表选定的测试范围(不能遗漏需求),蓝色区域表示设计实现部分,显然如果在灰色区域设计测试用例是无意义的,因为那里没有可测试的任何东西。
简单的,会联想到将白盒测试的一些方法用到这里会减少测试的范围,但是这样会产生什么问题呢?
编辑推荐:
温馨提示:因考试政策、内容不断变化与调整,长理培训网站提供的以上信息仅供参考,如有异议,请考生以权威部门公布的内容为准! (责任编辑:长理培训)
点击加载更多评论>>