【培训】DAY2 测试基础方法

推荐阅读:

黑盒测试

将被测软件看作一个打不开的黑盒,主要根据功能需求设计测试用例,进行测试。
主要用于发现以下情况:

  1. 是否有不正确或遗漏了的功能
  2. 在接口上,能否正确地接受输入数据,能否产生正确地输出信息
  3. 访问外部信息是否有错
  4. 性能上是否满足要求
  5. 界面是否错误,是否不美观
  6. 初始化或终止错误
    【培训】DAY2 测试基础方法
    注:黑盒测试不深入代码细节

黑盒测试方法

等价类划分

等价类划分

在分析需求说明书的基础上把输入域划分为若干部分,然后在每部分中选取代表数据形成测试用例。在分析需求说明书的基础上把输入域划分为若干部分,然后在每部分中选取代表数据形成测试用例。

等价类划分方法

所谓等价类是指输入域的某个互不相交的子集合,所谓等价类是指输入域的某个互不相交的子集合,
所有等价类的并便是整个输入域。
组成:划分等价类 + 测试用例设计
【培训】DAY2 测试基础方法

等价类划分法测试用例设计

  1. 对每个输入或外部条件进行等价类划分,形成等价类表,为每一等价类规定一个唯一的编号;
  2. 设计一测试用例,使其尽可能多地覆盖尚未覆盖的有效等价类,重复这一步骤,直到所有有效等价类均被测试用例所覆盖;
  3. 设计一新测试用例,使其只覆盖一个无效等价类,重复这一步骤直到所有无效等价类均被覆盖;

举个例子

输入值是学生成绩,范围是0~100,

  1. 等价类可作如下划分
    有效等价类:①0≤成绩≤100
    无效等价类:①成绩<0,②成绩>100
  2. 设计一用例,输入值范围在0≤成绩≤100,选取符合要求的数据进行测试;
  3. 设计一用例,输入值范围在成绩<0,选取符合要求的数据进行测试;
  4. 设计一用例,输入值范围在成绩>100 ,选取符合要求的数据进行测试;

边界值分析法

对输入或输出的边界值进行测试

原则

选取正好等于、刚刚大于或刚刚小于等价类边界的值作为测试数据

举个例子

程序的规格说明中规定:“重量在10公斤至50公斤范围内的邮件”。

  • 测试用例中:
    • 选择正好等于边界的值:10及50
    • 选好刚好大于或者刚刚小于边界的值:10.01,49.99,9.99及50.01等。

因果图法

利用图解法分析输入的各种组合情况,从而设计测试用例的方法,它适合于检查程序输入条件的各种组合情况。

因果图法的原理

因果图中使用了简单的逻辑符号,以直线联接左右结点。左结点表示输入状态(或称原因),右结点表示输出状态(或称结果)。
ci表示原因,通常置于图的左部;ei表示结果,通常在图的右部。ci和ei均可取值0或1,0表示某状态不出现,1表示某状态出现。
【培训】DAY2 测试基础方法

因果图法测试用例的设计步骤

  1. 确定软件规格中的原因和结果
  2. 确定原因和结果之间的逻辑关系
  3. 确定因果图中的各个约束
  4. 把因果图转换为决策表。
  5. 根据决策表设计测试用例。

举个例子

有一个处理单价为1元5角的盒装饮料的自动售货机软件。
若投入1元5角硬币,按下“可乐”,“雪碧”或“红茶”按钮,相应的饮料就送出来。
若投入的是两元硬币,在送出饮料的同时退还5角硬币。

  1. 分析原因及结果
    【培训】DAY2 测试基础方法
  2. 画出因果图
    【培训】DAY2 测试基础方法
  3. 决策表
    【培训】DAY2 测试基础方法
  4. 设计测试用例
    【培训】DAY2 测试基础方法

其他

决策表法

  • 决策表是把作为条件的所有输入的各种组合值以及对应输出值都罗列出而形成的表格。
  • 它能够将复杂的问题按照各种可能的情况全部列举出来,简明并避免遗漏。因此,利用决策表能够设计出完整的测试用例集合。

错误推测法

  • 概念:基于经验和直觉推测程序中所有可能存在的各种错误,从而有针对性的设计测试用例的方法。
  • 基本思想:列举出程序中所有可能有的错误和容易发生错误的特殊情况,根据它们选择测试用例。例如:
    • 在单元测试时曾列出的许多在模块中常见的错误、以前产品测试中曾经发现的错误等,这些就是经验的总结。
    • 还有,输入数据和输出数据为0的情况、输入表格为空格或输入表格只有一行等。这些都是容易发生错误的情况,可选择这些情况下的例子作为测试用例。

场景法

  • 为什么用场景法设计测试用例?
    大多数业务软件由后台管理(比如:用户管理、角色管理、权限管理等等各种管理)和工作流等几个部分组成。终端用户,期望软件能够实现业务需求,而不是简单的功能的组合。对于单点功能利用等价类、边界值、判定表用例设计方法能够解决大部分问题。涉及业务流程的软件系统,采用场景法比较合适。

  • 场景法设计测试用例的步骤?

  1. 理解需求,确定业务流程(基本流程、备选流程、异常流程)
  2. 绘制流程图,再次确认流程路径
  3. 根据业务流程图,抽取测试路径(每一路径需含一个未走过得路径)
  4. 细化路径,利用等价类边界值方法细化路径,抽取测试用例
  • 场景法设计测试用例的优缺点?
    • 优点:涉及倒业务流程的业务需求适合用场景法
    • 缺点:只验证业务流程,不验证单点功能。一般先采用先用等价类,边界值,错误推断,判定表等方法对单点功能进行验证,验证通过后再采用场景法进行业务流程的验证。

白盒测试

白盒测试概念

白盒测试也称结构测试或逻辑驱动测试,是一种测试用例设计方法,它从程序的控制结构导出测试用例。

白盒测试的主要目的

  • 保证一个模块中的所有独立路径至少被执行一次;
  • 对所有的逻辑值均需要测试真、假两个分支;
  • 在上下边界及可操作范围内运行所有循环;
  • 检查内部数据结构以确保其有效性。

测试覆盖标准

白盒法考虑的是测试用例对程序内部逻辑的覆盖程度。最彻底的白盒法是覆盖程序中的每一条路径,但是由于程序中一般含有循环,所以路径的数目极大,要执行每一条路径是不可能的,只能希望覆盖的程度尽可能高些。

白盒测试方法

  • 在逻辑覆盖测试中,按照覆盖策略由弱到强的严格程度:

    • 语句覆盖:每个语句至少执行一次。
    • 判定覆盖:在语句覆盖的基础上,每个判定的每个分支至少执行一次。
    • 条件覆盖:在语句覆盖的基础上,使每个判定表达式的每个条件都取到各种可能的结果。
    • 判定/条件覆盖:即判定覆盖和条件覆盖的交集。
    • 条件组合覆盖:每个判定表达式中条件的各种可能组合都至少出现一次。
    • 路径覆盖:每条可能的路径都至少执行一次,若图中有环,则每个环至少经过一次
  • 在路径分析测试中,独立路径测试和Z路径覆盖测试:

    • 独立路径测试方法把覆盖的路径数压缩到一定限度内,程序中的循环体最多只执行一次,对程序中所有独立路径进行测试。
    • Z路径覆盖测试是指采用简化循环的方法进行路径覆盖测试。