zoukankan      html  css  js  c++  java
  • 软件测试方法之黑盒测试

      在软件测试中,有很多重要的测试方法,在此不一一赘述,在这篇博客中,主要讨论的是黑盒测试。

      所谓黑盒测试,主要是将被测软件看作一个打不开的黑盒,根据功能需求设计测试用例,进行测试。它是软件测试中一个非常重要的测试方法。

      往下细分,黑盒测试还可以分为等价类划分,边界值分析,因果图法,决策表法等。

    1、先说一下等价类划分法:所谓等价类是指输入域的某个互不相交的子集合,所有等价类的并集便是整个输入域。目的在于测试用例的无冗余性。其中:

    (1)有效等价类:检验程序是否实现了规格说明预先规定的功能和性能。

    (2)无效等价类:检查软件功能和性能的实现是否有不符合规格说明要求的地方。

    根据等价类设计测试用例方法如下:

    (1)在确立了等价类之后,可列出所有划分出的等价类表。

    (2)为每一个等价类规定一个唯一的编号。

    (3)设计一个新的测试用例,使其尽可能多地覆盖尚未覆盖的有效等价类。重复这一步,直到测试用例覆盖了所有的有效等价类。

    (4)设计一个新的测试用例,使其覆盖且只覆盖一个尚未覆盖的无效等价类。重复这一步,直到测试用例覆盖了所有的无效等价类。

    2、 边界值分析法:

    这里讨论一个有两个变量x1和x2的程序P。假设输入变量x1和x2在下列范围内取值:

                           a≤x1≤b, c≤x2≤d

               边界值分析利用输入变量的最小值(min),稍大于最小值(min+),稍小于最小值(min-),域内任意值(nom),稍小于最大值(max-),最大值(max),稍大于最小值(max+)来设计测试用例。对于n个变量的程序,共需要设计6*n+1个测试用例。

    3、因果图法:

    等价类划分法和边界值分析方法都是着重考虑输入条件,如果程序输入之间没有什么联系,采用等价类划分和边界值分析是一种比较有效的方法。如果输入之间有关系,例如,约束关系、组合关系,这种关系用等价类划分和边界值分析是很难描述的,测试效果难以保障,因此必须考虑使用一种适合于描述对于多种条件的组合,产生多个相应动作的测试方法,因果图正是在此背景下提出的。该方法着重说明输入与输出之间的依赖关系。

    例子:某软件规格说明书规定:输入的第一个字符必须是A或B,第二个字符必须是一个数字9,此情况下进行文件打印;如果第一个字符不是A或B,则给出信息ER1,如果第二个字符不是数字9,则给出信息ER2

    4、决策表法:

    决策表是把作为条件的所有输入的各种组合值以及对应输出值都罗列出来而形成的表格。

    它能够将复杂的问题按照各种可能的情况全部列举出来,简明并避免遗漏。因此,利用决策表能够设计出完整的测试用例集合。

    如下图把上例中的因果图转化为决策表:

    总之呢,测试是个麻烦活。。。。。各种方法层出不穷,珍爱身体,远离测试,阿弥陀佛。。。

  • 相关阅读:
    NoSQL--非关系型的数据库是什么?
    PHP Header 缓存 --- Header 参数说明
    apple-touch-icon,shortcut icon和icon的区别
    shell 中数学计算总结
    Linux下停用和启用用户帐号
    tar 实现增量备份
    DOMContentLoaded事件
    Linux获取时间日期方法
    JavaScript判断浏览器类型及版本
    和学生们的合影-20171104-gaojj-zhangsc-dengxy-suhw-xuyc
  • 原文地址:https://www.cnblogs.com/jakii/p/4458131.html
Copyright © 2011-2022 走看看