测试技术 --黑盒测试与白盒测试

黑盒测试与白盒测试的区别:黑盒测试不知道内部代

一、测试方式不同

1、黑盒测试:功能测试,是通过测试来检测每个功能是否都能正常使用。

2、白盒测试:称结构测试、透明盒测试、逻辑驱动测试或基于代码的测试。

二、测试目的不同

1、黑盒测试:把程序看作一个不能打开的黑盒子,在完全不考虑程序内部结构和内部特性的情况下,在程序接口进行测试,只检查程序功能是否按照需求规格说明书的规定正常使用,程序是否能适当地接收输入数据而产生正确的输出信息。

2、白盒测试:通过检查软件内部的逻辑结构,对软件中的逻辑路径进行覆盖测试。在程序不同地方设立检查点,检查程序的状态,以确定实际运行状态与预期状态是否一致。

测试技术 --黑盒测试与白盒测试

 

三、测试原则不同

1、黑盒测试:以用户的角度,从输入数据与输出数据的对应关系出发进行测试的。很明显,如果外部特性本身设计有问题或规格说明的规定有误,用黑盒测试方法是发现不了的。

2、白盒测试:一个模块中的所有独立路径至少被测试一次。所有逻辑值均需测试true和false两种情况。

码与逻辑结构 白盒知道

 

黑盒测试与白盒测试的主要内容:

 ·黑盒测试:

  1.       场景法: 模拟用户操作软件时的场景,主要用于测试系统的业务流程  其下主要有四种类型:正常的用例场景,备选的用例场景,异常用例场景,假定推测场景

  2.        等价划分法:将一个输入分成若干个子集从每个子集中选取一个代表性的数据作为测试用例。主要由:有效的数据和无效的数据组成

测试技术 --黑盒测试与白盒测试

      3.     边界值划分:就是边界上的点。主要是离点和内点,离点:闭区间两边,开区间里边
      4.      判定表:   

测试技术 --黑盒测试与白盒测试

     5.因果图
测试技术 --黑盒测试与白盒测试
      6.两两组合(成对测试) 主要用在配置项的测试中 避免测试所有维度的所有值以及减少测试的量。其实就是通过组合减少需要测试的量实现快速找出bug
测试技术 --黑盒测试与白盒测试

    7.正交实验:根据正交表的特性从全面试验中挑选合适,有代表性的点进行实验,具备均匀分散,整齐可比的特点。

测试技术 --黑盒测试与白盒测试

 

白盒测试

         1.语句覆盖   让程序中的代码都运行一下

语句覆盖率=(至少执行一次的语句)/(可执行的语句)

          2.判定覆盖   运行测试,使得程序中每个判断的语句的取真分支和取假分支都得到执行

判定覆盖率=(每个判定的真假值至少出现一次)/(判定结果的总数)

          3.判定条件覆盖 他们之间的区别就是条件覆盖要求只有真分支或者假分支执行了就行。但是判定条件覆盖要求所有的都进行一次 

          4 条件组合 设计若干测试用例进行测试

条件组合覆盖率 = (条件组合至少出现一次)/(条件组合的总数)

         5 修正判定条件覆盖  设计若干测试用例。并且要求所有的结构都是被互补影响的测试一次、

         小结:

测试技术 --黑盒测试与白盒测试

最后:基本路径测试 在程序控制流图的基础上,通过分析控制构造的复杂性,导出基本可执行的路径集合,从而设计测试用例。

设计方法:

1.代码 --》 流程图 --->控制流图

2确定控制流图的复杂度  

         如何计算复杂度???? 

        V(G)=区域数量

        V(G)=连线数量-结点数量+2

        V(G)=判断结点+1

3确定线性独立路径的基本集合

4测试用例覆盖每条基本路径

测试技术 --黑盒测试与白盒测试

答案是4  V(G) = 判断结点个数 +1

测试技术 --黑盒测试与白盒测试