【软件测试】黑盒及白盒的测试方法

黑盒测试方法

等价类划分法、边界值分析法、因果图法、场景法、正交实验设计法、判定表驱动分析法、错误推测法、功能图分析法、状态迁移

等价类划分方法

  使用有代表性的数据来测试程序;着重考虑输入条件

  把所有可能的输入数据,即程序的输入域划分成若干部分(子集),然后从每一个子集中选取少数具有代表性的数据作为测试用例。

  有效等价类

    指对于程序的规格说明来说是合理的,有意义的输入数据构成的集合;-- 检验程序是否实现了规格说明中所规定的功能和性能。

  无效等价类

    指除了有效等价类外的其他数据的集合

    软件不仅要能接收合理的数据,也要能经受意外的考验。这样的测试才能确保软件具有更高的可靠性。

  示例:登录用户名 只可包含字母,数字 且长度不能超过20个字符

    有效:字母;数字;字母+数字;长度0<n<=20

    无效:汉字;特殊字符;长度n=0 或n>20

  

边界值分析方法

   边界值分析方法是对等价类方法的补充;就是对输入或输出的边界值进行测试的一种黑盒测试方法;着重考虑输入条件

  与等价类的区别

    1) 边界值分析不是从某等价类中随便挑一个作为代表,而是使这个等价类的每个边界都要作为测试条件。

    2) 边界值分析不仅考虑输入条件,还要考虑输出空间产生的测试情况。

  常见的边界值

    对16-bit的整数而言32767和-32768是边界

    屏幕上光标在最左上、最右下位置

    报表的第一行和最后一行

    数组元素的第一个和最后一个

    循环的第0次、第1次和倒数第2次、最后一次

 

错误推测方法

  基于经验和直觉推测程序中所有可能存在的各种错误,从而有针对性的设计测试用例的方法。

   列举出程序中所有可能有的错误和容易发生错误的特殊情况。

 

因果图方法

   采用一种适合于描述对于多种条件的组合,相应产生多个动作的形式来考虑设计测试用例

  四种关系:恒等,与,或,非

  约束:即输入状态相互之间还可能存在某些依赖关系

  方法:

    (1)找出所有输入条件和输出条件,并编号

    (2)分析输入条件之间的关系,是互斥还是可以同时满足。

    (3)画出输入条件的排列组合情况。

    (4)编写测试用例。

 

流程图

  针对整个系统业务功能流程

  方法:   

  (1)详细了解需求。

  (2)根据需求说明或界面原型,找出业务流程的各个页面以及流转关系。

  (3)画出业务流图,或路径图。

  (4)编写测试用例,覆盖所有的路径分支。

 

判定表驱动分析方法

  因果图方法最终生成的就是判定表,它适合于检查程序输入条件的各种组合情况。 

 

功能图分析方法

   由状态迁移图和逻辑功能模型构成;

   功能图由状态迁移图和布尔函数组成。状态迁移图用状态和迁移来描述,一个状态指出数据输入的位置(或时间),而迁移则指明状态的改变,同时要依靠判定表或因果图表示的逻辑功能。

 

正交试验

   因子:所有参与试验的影响试验结果的条件称为因子

  水平:影响试验因子的取值或输入称为水平

  研究多因素多水平的一种试验设计方法

  直接对比法

  直观分析法

 

状态迁移

  关注被测对象的状态变化,在需求规格说明书中是否有不可达到的状态和非法的状态,是否产生非法的状态转移  

 

 

 


 

白盒测试方法

代码检查法、静态结构分析法、静态质量度量法、逻辑覆盖法、基本路径测试法、域测试、符号测试、路径覆盖和程序变异

静态测试

  不用运行程序的测试;

  指静态分析的关键功能是检查软件的表示和描述是否一致,有无冲突或者歧义。 

 

动态测试

  需要执行代码,通过运行程序找到问题;

  指当软件系统在模拟的或真实的环境中执行之前、之中和之后,对软件系统行为的分析

  在动态分析技术中,最重要的技术是路径和分支测试。

 

覆盖标准:逻辑覆盖、循环覆盖和基本路径测试

逻辑覆盖包括 语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖、条件组合覆盖、修改条件判断覆盖、路径覆盖>

  语句覆盖: 每条语句至少执行一次。

  判定覆盖: 每个判定的每个分支至少执行一次。

  条件覆盖: 每个判定的每个条件应取到各种可能的值。

  判定/条件覆盖: 同时满足判定覆盖条件覆盖。

  条件组合覆盖: 每个判定中各条件的每一种组合至少出现一次。

  修改条件判断覆盖:每一个判断的所有可能结果都出现过、每一个判断中所有条件的所有可能结果都出现过、每一个进入点及结束点都执行过、判断中每一个条件都可以独立的影响判断的结果。

  路径覆盖: 使程序中每一条可能的路径至少执行一次。

 

posted @ 2023-08-01 17:13  Phoenixy  阅读(204)  评论(0编辑  收藏  举报