【评测-测试用例设计方法】-7-功能图法和场景法

功能图法

  • 概述:功能图方法其实是一种灰盒测试(兼有黑盒和白盒测试)用例设计方法。通常情况一个程序的功能说明通常由动态说明和静态说明组成。动态说明描述了输入数据的次序或转移的次序;静态说明描述了输入条件与输出条件之间的对应关系。用功能图形象地表示程序的功能说明, 并机械地生成功能图的测试用例。
  • 对于较复杂的程序,由于存在大量的组合情况,仅用静态说明组成的规格说明对于测试来说往往是不够的,必须用动态说明来补充功能说明。

组成部分

  • 功能图方法是用功能图形式化地表示程序的功能说明,并机械地生成功能图的测试用例。 功能图模型由状态迁移图和逻辑功能模 构成。
    • 1状态迁移图:用于表示输入数据序列以及相应的输出数据。在状态迁移图中,由输入数据和当前状态决定输出数据和后续状态。
    • 2逻辑功能模型:用于表示在状态中输入条件和输出条件之间的对应关系。逻辑功能模型只适合于描述静态说明,输出数据仅由输入数据决定。
  • 测试用例则是由测试中经过的一系列状态和在每个状态中必须依靠输入/输出数据满足的一对条件组成。

测试用例生成的方法和规则

  • 方法:从功能图生成测试用例,得到的测试用例数是可以接受的。问题的关键是如何从状态迁移图中选取测试用例。 若用节点代替状态,用弧线代替迁移,则状态迁移图就可转化成一个程序的控制流程图形式。问题就转化为程序的路径测试问题了。
  • 规则:为了把状态迁移(测试路径)的测试用例与逻辑模型(局部测试用例)的测试用例组合起来,从功能图生成实用的测试用例,须定义下面的规则。在一个结构化的状态迁移中,定义三种形式:顺序、选择和重复

从功能图生成测试用例的过程

  1. 生成局部测试用例:在每个状态中,从因果图生成局部测试用例。局部测试用例由原因值(输入数据)组合与对应的结果值(输出数据或状态)构成。
  2. 测试路径生成:利用上面的规则(三种)生成从初始状态到最后状态的测试路径。
  3. 测试用例合成:合成测试路径与功能图中每个状态中的局部测试用例。结果是初始状态到最后状态的一个状态序列,以及每个状态中输入数据与对应输出数据的组合。
  • 测试用例的合成算法:采用条件构造树。

状态迁移图的步骤

  • 画出状态迁移图;
  • 列出状态-事件表;
  • 得到状态转换树;
  • 推出测试路径;
  • 根据测试路径编写测试用例。

场景法

  • 概述:从一个流程开始,通过描述经过的路径来确定的过程,经过遍历所有的基本流和备用流来完成整个场景。通过运用场景来对系统的功能点或业务流程进行描述,从而提高测试效果。

【评测-测试用例设计方法】-7-功能图法和场景法_第1张图片

相关术语

  • 场景:由一系列相关活动组成,且场景中的活动还能由一系列场景组成。
  • 基本流:是经过用例的最简单的路径,无任何差错, 程序从开始直接执行到结束。
  • 备选流:一个备选流可能从基本流开始,在某个特定条件下执行,然后重新加入基本流中,也可以起源于另一个备选流,或终止用例,不再加入到基本流中。

流程示意

【评测-测试用例设计方法】-7-功能图法和场景法_第2张图片【评测-测试用例设计方法】-7-功能图法和场景法_第3张图片

  • 如图所示,图中经过用例的每条路径都用基本流和备选流来表示,直黑线表示基本流,是经过用例的最简单的路径。备选流用不同的色彩表示,一个备选流可能从基本流开始,在某个特定条件下执行,然后重新加入基本流中(如备选流13);也可能起源于另一个备选流(如备选流2), 或者终止用例而不再重新加入到某个流 (如备选流24)。

场景法设计步骤

  • 根据需求规格说明,描述出程序基本流和备选流
  • 根据基本流和各项备选流生成不同的场景
  • 对每一个场景生成相应的测试用例,可以采用矩阵或决策表来确定和管理测试用例
  • 审核用例,去掉冗余或等价的测试用例,给用例确定测试数据值

场景法测试用例设计表

  • 概述:一般采用如下图所示的表,使用通用格式来确定和管理测试用例,其中每一行代表一个测试用例,列代表测试用例的信息。
  • 说明:设计测试用例时,先确定执行场景所需要的数据元素,然后构建矩阵,最后确定包含执行场景所需的适当条件的测试用例。 在矩阵中,VValid)表示有效的数据元素,IInvalid)表示无效的数据元素,n/aNot Available)表示不适用或者没有

【评测-测试用例设计方法】-7-功能图法和场景法_第4张图片

应用场景

  • 场景法:解决业务流程清晰的系统或功能
  • 基本流:最短路径,无差错,程序从开始直接执行到结束
  • 备选流:特定情况下发生

你可能感兴趣的:(软件评测师)