黑盒测试与白盒测试

软件测试

软件测试其实就是对程序进行一些操作,来发现程序所存在的缺陷,衡量软件的质量,并对其是否能满足设计要求进行评估的过程。

软件测试方法分类

  • 基于直觉和经验的方法
    Ad-hoc测试方法:强调测试人员根据自己的经验,不受测试用例的约束,放开思想,灵活地进行测试。
    ALAC测试方法:Act like a customer,像客户那样做,对常用的功能进行测试;
    错误推测法:有经验的测试人员根据自己的工作经验和直觉测出程序可能存在的错误,从而有针对性地进行测试。
  • 基于输入域的测试方法
    等价类划分法
    边界值分析法
  • 基于组合及其优化的方法
    判定表法
    因果图法
    pair-wise方法
    正交试验法
  • 基于逻辑覆盖的方法
    语句覆盖
    判定覆盖
    条件覆盖
    判定-条件覆盖
    条件组合覆盖
    基本路径覆盖
    *

黑盒测试与白盒测试

黑盒测试:不关注程序的内部结构和内部特性,而是把程序看做是一个黑盒子对软件直接进行测试。主要包括等价类划分法和边界值分析法。
白盒测试:通过检查软件内部的逻辑结构,对软件中的逻辑路径进行覆盖测试。主要包括语句覆盖,判定覆盖,条件覆盖,判定-条件覆盖,条件组合覆盖,基本路径覆盖。

1.等价类划分法
等价类:某个输入域的一个集合,在这个集合中,每一个数据对于揭露程序可能存在的缺陷都是等效的。等价类可以分为有效等价类和无效等价类。

例题:某报表处理系统要求输入处理报表的日期,日期限制在2000年1月至2020年12月,如果日期不在此范围内,则显示输入错误信息。系统日期规定由年、月的6位数字字符组成,前四位代表年,后两位代表月。
黑盒测试与白盒测试_第1张图片
测试用例表:
在这里插入图片描述黑盒测试与白盒测试_第2张图片
2. 边界值分析法
选取输入或输出变量可行范围边界的数值对程序进行测试。
原则如下:
(1)如果输人条件规定了值的范围,则取刚刚达到这个范围的边界值;
(2)如果输人条件规定了值的个数,则用最大个数.最小个数、比最大个数多1个、比最小个数少1个的数等作为测试数据;
(3)根据规格说明的每一一个输出条件,分别使用以上两个规则;
(4)如果程序的规格说明给出的输人域或输出域是有序集合(如有序表、应选取集合的第一个和最后一个元素作为测试数据。

例题:
持卡人境外消费交易单笔金额满2000 元人民币或等值外币返现: 即可享20元人民币或等值外币返现;
境外消费单笔满3000元人民币或等值外币,即可享30元人民币或等值外币返现;
境外消费单笔满5000元人民币或等值外币,即可享50元人民币或等值外币返现;
每张卡片每个自然月最高返现500元人民币或或等值外币每笔消费交易返现一次,消费额不包含货币转换费。
测试用例表:黑盒测试与白盒测试_第3张图片

3.语句覆盖
主要特点:设计足够多的测试用例使得程序中每条语句至少被执行一次。

4.判定覆盖
主要特点:设计若干用例,运行被测程序,使得程序中每个判断的取真分支和取假分支至少经历一次,即判断真假值均曾被满足。

5.条件覆盖
主要特点:设计若干用例,运行被测程序,使得程序中每个条件的可能取值至少满足一次;

6.判定条件覆盖
设计足够多的测试用例,使得判定中每个条件的所有可能结果至少出现一次,每个判定本身所有可能结果也至少出现一次。

7.条件组合覆盖
主要特点:设计若干用例,运行被测程序,使得程序中每个条件的可能取值至少出现一次,并且每个判断本身的判定结果也至少出现一次。

8.基本路径覆盖
设计所有的测试用例,来覆盖程序中所有可能的、独立的执行路径。

你可能感兴趣的:(黑盒测试与白盒测试)