第4章黑盒测试
本章要点
了解黑盒测试的基本概念
通过案例掌握等价类划分法及其应用
通过案例掌握边界值分析法及其应用
通过案例掌握因果图法及其应用
通过案例掌握决策表法及其应用
通过案例掌握场景法及其应用
了解不同黑盒测试方法优缺点和应用场合
黑盒测试又叫功能测试,它主要关注被测软件功能的实现,而不是其内部逻辑。在黑盒测试中,被测对象的内部结构、运作情况对测试人员是不可见的,测试人员把被测试的软件系统看成是一个黑盒子,并不需要关心盒子的内部结构和内部特性,而只关注于软件产品的输入数据和输出结果,从而检查软件产品是否符合它的功能说明。
黑盒测试有多种方法,比如场景法、等价类划分、边界值分析、因果图法、决策表法等。
等价类划分法
等价类划分法把程序的输入域划分为若干部分,然后从每个部分中选取少数代表性数据当作测试用例。每一类的代表性数据在测试中的作用等价于这一类中的其他值。
在划分等价类时,有一些规则应该遵循。
如果输入条件规定了取值范围或个数,则可确定一个有效等价类和两个无效等价类。
如果输入条件规定了输入值的集合或是规定了“必须如何”的条件,则可确定一个有效等价类和一个无效等价类。
如果输入是布尔表达式,可以分为一个有效等价类和一个无效等价类。
如果输入条件是一组值,且程序对不同的值有不同的处理方式,则每个允许的输入值对应一个有效等价类,所有不允许的输入值的集合为一个无效等价类。
如果规定了输入数据必须遵循的规则,可以划分出一个有效的等价类(符合规则)和若干个无效的等价类(从不同的角度违反规则)。
划分好等价类后,就可以设计测试用例了。设计测试用例的步骤可以归结为3步:
对每个输入和外部条件进行等价类划分,画出等价类表,并为每个等价类进行编号。
设计一个测试用例,使其尽可能多地覆盖有效等价类,重复这一步,直到所有的有效等价类被覆盖。
为每一个无效等价类设计一个测试用例。
在“C0编译器”案例中,从用户得到的输入条件有两个:源代码文件名和保存目标代码文件名,而程序本身将读取源代码;输出信息有三种可能:
全部输入正确且源代码正确,输出编译结果和运行结果,保存目标代码;
全部输入正确且源代码不正确,输出编译结果和错误信息;
输入存在错误,输出相应错误信息。
但是,这样进行等价类划分的测试只是测试了一些编译器的基本功能,并不能确定该编译器能够对C0语言进行正确的编译和执行。这需要针对C0语言定义,对“源代码”进行更细致的等价类划分。
边界值分析法
边界值分析法是一种补充等价类划分法的黑盒测试方法,它不是选择等价类中的任意元素,而是选择等价类边界的测试用例。实践证明,这些测试用例往往能取得很好的测试效果。边界值分析法不仅重视输入范围边界,也从输出范围中导出测试用例。
通常情况下软件测试所包含的边界条件有以下几种类型:数字、字符、位置、质量、大小、速度、方位、尺寸、空间等;对应的边界值应该在:最大/最小、首位/末位、上/下、最快/最慢、最高/最低、最短/最长、空/满等情况。
用边界值分析法设计测试用例时应当遵守几条原则:
如果输入条件规定了取值范围,应以该范围的边界内及刚刚超范围的边界外的值作为测试用例。如以a和b作为输入条件,测试用例应当包括a和b,以及略大于a和略小于b的值;
若规定了值的个数,应分别以最大、最小个数和稍小于最小和稍大于最大个数作为测试用例;
针对每个输出条件,也使用上面的两条原则;
如果程序规格说明书中提到的输入或输出范围是有序的集合,如顺序文件、表格等,应注意选取有序集的第一个和最后一个元素作为测试用例;
分析规格说明,找出其他的可能边界条件。
在“C0编译器”案例中,有很多和个数有关的约定,应该用边界值法结合等价类划分法进行测试。
因果图法
因果图法是一种黑盒测试方法,它从自然语言书写的程序规格说明书中寻找因果关系,即输入条件与输出和程序状态的改变,通过因果图产生判定表。它能够帮助人们按照一定的步骤高效的选择测试用例,同时还能指出程序规格说明书中存在的问题。
软件测试黑盒测试 来自淘豆网m.daumloan.com转载请标明出处.