白盒测试计划书着重测试软件的源代码,黑盒技术着重测试软件功能。因此,设计测试用例时,需要研究需求说明和总体设计说明中的相关程序功能或输入,输出之间的关系等信息,从而与测试后的结果进行分析比较。
在实际测试中,常常把黑盒测试常常与白盒测试联合使用,它是与白盒测试互补的测试方法。它很可能发现白盒测试不易发现的其他类型的错误。
用黑盒技术设计测试用例一般有等价类划分,边界值分析,错误推测和因果图4中方法,现在咱们分别来看看吧!
一、等价类划分法
咱们在前面曾经说过,完全的黑盒测试通常是不现实的。因此,只能选取少量最有代表性的输入数据作为测试数据,用较少的代价暴露出较多的程序错误。等价类划分法将不能穷举的测试过程进行合理分类,从而保证设计出来的测试用例具有完整性和代表性,从而减少必须设计的测试用例的数目。
等价类划分法是把所有可能的输入数据或有效的和无效的划分成若干个等价类。测试每个等价类的代表值就等于对该类其他值的测试。也就是说,如果从某个等价类中任选一个测试数据未发现程序错误,该类中其他数据也不会发现程序的错误。相反地,如果一个测试用例测出一个错误,那么,这一等价类中的其余测试用例也能发现同样的错误。这样就把漫无边际的随机测试改变为有针对性的等价类测试,用少量有代表性的测试数据代替大量测试目的相同的例子,能有效提高测试效率,并取得良好的测试结果。
在划分等价类时,我们可以将其划分为两类:
1)有效等价类。是指输入完全满足程序输入的规范说明,合理的,有意义的输入数据所构成的集合,利用有效等价类可以检验程序是否满足规格说明书所规定的功能和性能。
2)无效等价类。指完全不满足程序输入的规格说明,不合理,无意义的输入数据所构成的集合。使用无效等价类可以检验程序的容错性能。
在划分等价类的时候,我们可以借鉴以下几个原则,可以让你事半功倍,同样咱们还需要丰富的经验。
(1)如果某个输入条件规定了取值范围或者输入数据的个数,则可划分出一个有效等价类和两个无效等价类。
(2)如果输入条件规定了输入数据的一组值,而且程序对不同输入值做不同处理,则每个允许的输入值是一个有效等价类,此外,还有一个无效等价类。
(3)如果规定了输入数据必须遵守的规则,则可以划分出一个有效等价类和若干个无效等价类。
(4)如果规定了输入数据位证书,则可划分为正整数/零/负整数三个有效等价类,其他为无效等价类。
(5)如果在已划分出的等价类中个元素在程序中的处理方法不同,则应再将该等价类进一步划分为更小的等价类。
等价类划分好了,那么如何测试用;例呢?你会了吗?不管你会不会,我们一起来看看吧!
(1)为一个等价类规定一个唯一的编号
(2)设计一个新的测试用例,使其尽可能多地覆盖尚未被覆盖的有效等价类,重复这一步,直到所有的有效等价类都被测试用例覆盖为止,即将有效等价类分割到最小。
(3)设计一个新的测试用例,使它覆盖一个而且只能覆盖一个尚未被覆盖的无效等价类,重复这一步,直到所有无效等价类都被覆盖为止。
二、边界值分析法
大量实践表明,程序在处理边界情况时最容易发生错误。边界情况值输入等价类和输出等价类边界上的情况。因为在测试过程中,可能会忽略边界值的条件,大量的错误是发生在输入或输出范围的边界上。因此,设计是程序运行在边界情况的测试用例,查出程序错误的可能性更大一些。
使用边界值分析方法设计测试用例时,一般与等价类划分方法结合起来,通常测试输入等价类和输出等价类的边界情况作为重点目标,应该选取刚好等于,小于或大于边界值的数据来进行测试,有较大可能发现错误。
在实际的软件设计过程中,会涉及到大量的边界值条件和过程,用边界值分析设计测试用例时,可以参考以下原则。
1)如果输入条件规定了值的范围,则选择刚好等于边界值的数据作为合理的测试用例,同时还要选择刚好超过边界的数据作为不合理测试用例。
2)如果输入条件规定了输入值的个数,则按最大个数,最小个数,比最大个数多1,比最小个数少1等情况分别设计测试用例。
3)度每个输出条件分别按照上述两条原则确定输出值的边界情况。
4)如果程序的输入或输出范围是有序集合,则应选取集合的第一个元素和最后一个元素作为测试用例。
三、错误推测法
在软件 的测试用例设计中,人们根据经验,直觉和简单的判断来推测程序中 可能存在各种错误,从而有针对性地设计测试用例,此就是错误推测法。
由于错误推测法是基于经验和只觉得,因而没有确定的设计测试用例的步骤,其基本思想是:列举出程序中可能出现的错误和容易发现的错误的症状。在咱们平常测试系统的是,这个方法用的比较多。
四、因果图法
等价类划分法和边界值分析法都只是孤立地考虑各个输入数据的测试功能,而没有考虑多个输入数据的组合引起的错误,因果图法能有效地检测输入条件的各种组合可能会引起的错误,即在测试中使用因果图,可提供对逻辑条件和相应动作的简洁表示。因果图的基本原理是通过画因果图,把因果图转换为判定表,然后为制定表的每一列至少涉及一个测试用例。
在这咱们介绍了四种黑盒测试法的方法,它们各自都有偶自己的长处和短处。使用某一种测试法涉及出来的一组测试用例,可能发现某种类型的错误,但可能对另一类错误发现不了。
因此,在实际测试中,经常是联合使用各种测试方法,通常是选用黑合法设计基本的测试用例,再用白盒法来补充一些必要的测试用例。
====================================分割线================================
最新内容请见作者的GitHub页:http://qaseven.github.io/