[软件测试]白盒测试与黑盒测试

什么叫黑盒测试:

所谓黑盒测试,就是把软件当成一个黑盒,里面内部结构你啥都看不见,那么看不见软件你能看见啥呢,只能看输入和输出呗,所以黑盒测试就是给各种输入,然后看输出有啥不同,根据输出来推测软件内部结构,这种测试就是黑盒测试。

打个比方,你在街上看见一个人,想知道这人是中国人还是日本人,于是你啪一耳光呼他脸上,然后如果这个人说“我槽尼玛!“,那么说明是中国人,如果这个人说"巴嘎!”,说明是日本人,这就叫黑盒测试。

等价类划分:

那么根据黑盒测试的定义我们显而易见,黑盒测试你得把所有可能的输入都给到,才能对软件进行详细的测试,但是一个软件可能的输入有那么多嘞,你咋可能全输入一遍?所以肯定要找代表性的测试样例,一个测试样例能代表一类测试样例,这一个过了那么这一类就全能过。

所以这需要把全部可能的测试样例划分成若干个等价类,这就是等价类划分。

划分等价类需要经验,以下给出一些规则:
A. 如果某输入条件规定了输入的范围,那么可以划分为一个有效的等价类和两个无效的等价类。如X的值的输入范围是[1,99],那么测试X时,可以这样划分:有效等价类为[1,99],无效等价类为(-∞,1)和(99,+∞)。
B. 如果某个输入条件规定了一组可能的值,且程序可以对不同的值作出不同的处理,那么可以为每种值确定一个有效的等价类,同时还有一个无效等价类。

如,“职称”这个量可能的值是:教授、副教授、讲师、助教。那么可以这样划分:四类有效等价类分别为教授、副教授、讲师、助教,无效等价类为四种职称以外的所有值。

总结就是根据输入条件和现实逻辑,把所有可能的输入划分为若干个等价类。

确定测试样例

就是用样例不断去覆盖等价类:
A.给每个等价类规定一个唯一的编号;
B.设计一个新的测试用例,使其尽可能多地覆盖未被覆盖过的有效等价类。重复此步,直至所有有效等价类被覆盖;
C.设计一个新的测试用例,使其覆盖而且只覆盖一个尚未被覆盖的无效等价类。重复此步直到所有无效等价类被覆盖。
通常程序发现一类错误后,就报出错信息,不再检查其它类错误,所以设计测试用例时,一次只覆盖一个无效等价类。

你可能感兴趣的:(软件工程方法论,笔记)