软件测试三-----------测试用例的设计方法

一、测试用例的简单认识

概念:为了实施测试而向被测试的系统提供的一组集合,这组集合包含:测试环境、操作步骤、测试数据、预期结果等要素。
评价测试用例的方法:对比好坏代码的评价标准

  • 用例表达清楚,无二义性
  • 用例可操作性强
  • 用例的输入输出比较明确,一条用例只有一个输出结果
  • 用例的维护性好
  • 用例对需求的覆盖率高
  • 暴露程序bug的能力强大

二、测试用例常见的设计的方法

(1)测试用例总体的设计的方法
RBT(Requirements-Based Testing)是基于需求的测试方法,会使测试更加的有效,因为它使测试专注于质量问题产生的根源,即需求。
基于需求的测试是一种最根本的测试方法重点关注于以下两个关键的大问题(1)验证需求是否正确、完整、无二义性、并且逻辑一致。(2)从黑盒测试的角度,来设计出充分且必要的测试集。
(2)具体的设计方法
1)等价类
概念:需求将输入划分为若干个等价类,从等价类中选出一个测试用例,如果这个测试用例通过了,就证明这些所有的测试用例都能进行通过,则认为代表的等价类就能全部进行通过。
优点:较少的测试用例就能达到尽量多的功能覆盖
缺点:解决了不能进行穷举测试的问题

  • 有效等价类:程序的规格说明书是合理的、有意义的输入数据构成的集合,利用有效等价类验证了程序是否实现了规格说明中所规定的的功能和性能。
  • 无效等价类:根据需求说明书,不满足需求的集合。

2)边界值
概念:就是对输入或输出的边界值进行测试的一种黑盒测试方法,通常边界值分析法是作为对等价划分法的补充,其测试用例来自于等价类的边界。
3)因果图
概念:简化的逻辑图,能直观的表明程序输入条件(原因)和输入动作(结果)之间的相互关系。因果法是借助图形来设计测试用例的一种方法。
优点:适合于被测程序具有多种输入条件,程序的输出又依赖于输入的关系。
恒等
这里写图片描述

这里写图片描述

这里写图片描述

这里写图片描述
设计步骤:

  • 分析所有可能的输入和可能的输出
  • 找出输入与输出之间的对应关系
  • 画出因果图
  • 将因果图转换成判定表
  • 把判定表对应到每一个测试用例

4)正交排列
正交法的目的:减少用例的数目,用尽量少的用例覆盖输入的两两组合。
概念:就是依赖正交性,由实验因素的全部水平的组合中挑选出最具有代表性的点进行试验,找出最优的组合。
优点:是一种基于正交表的、高效率、快速、经济的试验;

因素(Factor):在一项试验中,凡欲考察的变量称为因素(变量)
水平(位级)(Level):在试验范围内,因素被考察的值称为水平(变量的取值)
正交表的构成
行数(Runs):正交表中行的个数
因素数(Factor):正交表中列的个数,用C代表
水平数(Levels):任何单个因素能够取到的值的最大个数,正交表中包含的值从0到数“水平数-1”,或从1到“水平数”,用T代表。
正交表的表示形式:L=行数(水平数*因素数)(L=NTC)(C:因素,N行数,实验次数)

正交表的两条性质

  • 每一列中各数字出现的次数是一样多
  • 任何两列所构成的有序数对出现的次数是一样多。

正交法设计测试用例的步骤

  • 有哪些因素
  • 每个因素有哪几个水平(变量的取值)
  • 选择一个合适的正交表
  • 把变量的值映射到表中
  • 把每一行的各因素水平组合作为一个测试用例
  • 加上你认为可疑的且没有在表中出现的用例组合

    5)场景设计法
    6)错误猜测法
    针对经验丰富的测试人员的一种测试方法。

三、什么是测试用例的有效性

1)测试用例对应的功能已经删除,不可操作了
2)执行一条测试用例未发现bug,该处实际上是有bug的
3)执行一条测试用例,发现了bug
4)执行一条测试用例,没有发现bug,实际该处的bug已经被修改了

四、测试用例的粒度和评价

粒度:指的是测试用例编写的详细的程度
设计出测试用例粒度的评判

  • 产品的质量要求
  • 项目对用例的要求
  • 测试时间和资源是否充分

测试用例的评价

  • 同行评审(最敏捷的方法)
  • 用户检查
  • 项目组评审