1. 概述

程序的功能说明通常由动态说明和静态说明组成, 动态说明描述的是输入数据的次序和转移的次序,而静态说明描述的是输入条件与输出条件之间的对应关系。当程序中过于复杂并且存在大量的组合时,仅仅使用静态说明设计的测试用例,往往是考虑不够的,所以采用动态说明来补充一定的测试用例时必要的。而功能图法就是使用动态描述来生成测试用例的方法,其本质是一种白盒和黑盒测试方法组合的测试用例设计方法。

2. 定义

功能图方法是用功能图形象的描述程序的功能说明,并机械的生成功能图的测试用例。功能图由状态迁移图和逻辑功能模型构成。
其中状态迁移图和逻辑功能模型的相关描述如下:

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

附: 前面已经说过,这种方法是一种黑盒白盒测试方法相结合的设计方法,具体来说就是在从功能图导出测试用例时需要用到白盒测试方法中的路径覆盖和逻辑覆盖的测试用例设计方法。

3. 状态迁移图法导出测试用例的步骤

  1. 明确状态节点。 分析被测对象的测试特性及需求规格说明书,明确被测对象的状态节点数量及相互迁移关系。
  2. 绘制状态迁移图。 利用圆圈表示状态节点,有向箭头表示状态间的迁移关系,根据需要在箭头旁边标识迁移条件。可以利用绘图软件绘制状态迁移图。
  3. 绘制状态迁移树。 根据状态迁移图,按照广度优先和深度优先搜索绘制状态迁移树。首先确定起始节点和终止节点,在绘制时,当路径上遇到终止节点时,不再扩展,遇到已经出现的节点也停止扩展。
  4. 抽取测试路径设计用例。 根据绘制好的状态迁移树,提取测试路径,从左到右,横向抽取,每条路径构成一条测试规则,然后再利用等价类和边界值等测试用例设计方法设计具体的测试用例。

4. 实例

一个编辑文本的软件中有可以改变字体颜色的功能,其中可选的颜色共有黑、红、蓝三种颜色。
想要测试这个功能,首先,分析上述需求可以得出,该功能共有三种状态,假设红色为起始状态,那么可以得到如下的状态迁移图:

根据上述的状态迁移图,绘制出如下的状态迁移树:

然后,从状态迁移树中,可以导出以下规则:

最终,根据以上测试用例规则,可以导出如下测试用例:

黑盒测试方法之功能图法相关推荐

  1. 黑盒测试方法——边界值分析法

    目录 目录 一.方法简介 二.实战演习 一.方法简介 1.定义:边界值分析法就是对输入或输出的边界值进行测试的一种黑盒测试方法.通常边界值分析法是作为对等价类划分法的补充,这种情况下,其测试用例来自等 ...

  2. 黑盒测试方法—等价类划分法

    等价划分法是一种不需要考虑程序的内部结构,只需要考虑程序输入数据的黑盒测试方法,它将不能穷举的测试过程进行合理分类,从而保证设计出来的测试用例具有完整性和代表性. 需要把用户所有可能输入的数据划分成若 ...

  3. 黑盒测试方法之因果图法

    因果图法 因果图法步骤 软件需求示例 测试用例分析设计 总结 因果图法步骤 1)赋标识符.分析软件需求规格说明,找出哪些是原因(即输入条件或输入条件的等价类),哪些是结果(即输出条件),并给每个原因和 ...

  4. 软件测试 通用技术03 测试用例 黑盒测试用例设计方法 等价类划分法 边界值分析法 判定表法 场景法 功能图法 其他用例设计方法 用例设计方法综合选择

    文章目录 1 测试用例 1.1 测试用例的定义 1.2 测试用例模板 1.3 测试用例模板的内容 测试用例编号 测试项 依赖用例 测试步骤 测试数据 预期结果 测试结果 测试人 备注 2 测试用例编写 ...

  5. 软件测试--黑盒测试用例、测试步骤设计方法(正交实验法、功能图法、其他用例设计方法)

    黑盒测试用例设计(三) 正交实验法 正交表:一种特制的表,一般的正交表记为Ln(mk) m代表水平数,k代表因素数,n是需要进行实验的个数.这三个数没有任何数学关系. 仅适用于每个因素的水平数都相同的 ...

  6. 2020-12-18:【黑盒测试用例设计】测试方法之场景法

    [黑盒测试用例设计]测试方法之场景法 原理:核心思想是站在用户的角度上检测软件功能,发现软件的错误. 场景法能够以最少的测试成本,来发现最多的与用户平时使用时息息相关的软件缺陷或错误. 适用场景:业务 ...

  7. 黑盒测试方法(等价类划分法、边界值法、决策表、判定表、正交表、场景法、错误推断法)

    1.黑盒测试方法 1.1.等价类划分法: 根据软件测试原则可以知道,要做到穷举是不可能的,事实上也是不必要的.为了减少工作量,需要对测试用例进行适当选取.等价类划分法便提供了一种选取测试用例的方法. ...

  8. 黑盒测试用例设计方法三(正交实验法、功能图法、用例设计方法综合选择)

    测试步骤 一.正交实验法 1.1正交实验法介绍 1.2正交实验法实现步骤 1.3实际案例 二.功能图法 2.1功能图法原理介绍 2.2功能图法实现步骤 2.3实践案例 三.其他用例设计方法 3.1测试 ...

  9. 【软件测试】07 -- 黑盒测试方法(等价类划分法)

       等价类划分法    等价类划分法是一种常用的黑盒测试方法,它主张从大量的数据中选择一部分数据用于测试,即尽可能使用最少的测试用例覆盖最多的数据,以发现更多的软件缺陷.    一个程序可以有多个输 ...

  10. 『软件测试3』八大典型的黑盒测试方法已来袭,快快接住!

    文章目录 一.等价类划分法 1.定义 2.等价类划分法步骤 3.设计测试用例步骤 4.案例:学生选修课程 二.边界值分析法 1.边界值分析法概述 2.设计测试用例 3.边界值设计原则 三.错误推测法 ...

最新文章

  1. Linux 修改SSH 默认端口 22,防止被破解密码
  2. android studio butterknife自动生成,Android Studio使用ButterKnife和Zelezny的方法
  3. 听说你想去大厂看妹子,带你看看字节跳动Android开发岗面试是啥样?
  4. C# AE放大缩小地图全局显示功能
  5. 为什么服务端程序都需要先 listen 一下?
  6. sed查找文件包含字段_sed(查找替换) 与awk(提取字段)
  7. linux crypto cbc 接口,Linux 2.6.38.4: User-space interface for Crypto API
  8. python单引号双引号三引号_python中的单引号、双引号和三引号有何区别
  9. 7、matplotlib条形图的绘制
  10. oracle 白鳝 row cache lock,ROW CACHE LOCK导致数据库CPU高案例分析
  11. oled显示GIF动图
  12. 2021节假日安排,免费拿走
  13. springboot发送邮件
  14. 激光雷达公司一径科技完成C轮融资,将加快核心芯片自研
  15. python arduino i2c1602_Arduino 将1602液晶显示屏改造为IIC接口
  16. Windows 自启动文件夹
  17. 「 English 」英语口语练习-持续更新
  18. pythonString
  19. 智能图像处理技术:开启未来视觉时代
  20. MySQL数据操作与查询笔记 • 【第2章 表结构管理】

热门文章

  1. 最新Java开发毕业论文参考文献干货满满
  2. DICOM worklist入门一
  3. 三菱PlC程序大型项目QCPU+QD77MS16 宝贝包含一套完整的电气开发系统资料(包含plc程序,触摸屏程序,伺服模块设置程序,程序开发地址规划表)
  4. 海量监控视频如何存储?
  5. Spark-SQL常用内置日期时间函数
  6. 深度学习简明教程系列 —— 基础知识(合集)
  7. 关于 签名验证失败 的问题
  8. hbuildx打包成apk_基于HBuilder将H5站点打包成app
  9. 统计分析软件_专业统计分析软件 SPSS 25 来了!手把手教你安装
  10. P2525 Uim的情人节礼物·其之壱