什么是基于模型的测试?
基于模型的测试是一种软件测试技术,根据模型做出的预测检查被测软件的运行时行为。可共享性必须对测试中的系统有准确的描述。
有许多可用的模型,描述了系统行为的不同方面。该模型的示例包括:
- 数据流
- 控制流
- 依赖图
- 决策表
- 状态转换机
基于模型的测试描述系统如何响应操作(由模型确定)。提供操作,并查看系统是否按照预期做出响应。
它是一种轻量级的验证系统的形式化方法。这种测试既可以应用于硬件测试,也可以应用于软件测试。
在本教程中,将了解
- 什么是基于模型的测试?
- 基于模型的测试用例
- 有限状态机
- 状态图表
- 统一建模语言(UML)
- 基于模型的测试面临的挑战
- 模型测试的好处
基于模型的测试用例

上面的模型解释了在记事本上写诗的简化方法,以及与每个步骤相关的可能操作。对于每个动作(如启动、输入诗歌、保存),可以生成测试用例并验证输出。
MBT的类型:
基于模型的测试框架有两种类型。
- 离线/a先验:在执行测试套件之前生成它。测试套件只不过是测试用例的集合。
- 在线/On-The-Fly:在测试执行期间生成测试套件
测试中的不同模型:
为了理解MBT,有必要理解下面解释的一些模型。逐一来看一下:
有限状态机
该模型帮助测试人员根据选择的输入评估结果。可以有导致系统相应状态的输入的各种组合。
系统将具有特定状态和当前状态,该状态由测试员给出的一组输入来管理。
考虑一下这个例子-
有一个允许员工登录应用程序的系统。现在,在“Log In”状态下,员工可以查看、打印、扫描系统中的文档。

状态图表
它是有限状态机的扩展,适用于复杂的实时系统。对于每个状态,系统的行为被分析并以事件的形式表示。
例如-
在状态为新建的缺陷管理工具中提出缺陷。状态图的设计方式应该是为每个状态调用一个事件。

统一建模语言(UML)
统一建模语言(UML)是一种标准化的通用建模语言。UML包括一组图形表示法技术,用于创建的可视模型,这些模型可以描述非常复杂的系统行为。
UML具有如下符号:
- 活动
- 角色
- 业务流程
- 组件
- 编程语言

基于模型的测试的挑战:
在每个组织中部署MBT显然需要大量的投资和努力。以下是MBT在软件工程中的缺点。
- 测试人员所需的必要技能
- 学习曲线的时间会更长
- 很难理解模型本身
模型测试的优势:
以下是MBT的优势:
- 轻松维护测试用例/套件
- 降低成本
- 提高测试覆盖率
- 可以在n台机器上运行不同的测试
- 早期缺陷检测
- 缺陷数量增加
- 节省时间
- 提高测试员工作满意度
结论
无论如何,测试人员在他们的测试过程中都会构建心理模型。这有助于测试人员实现可读性和可重用性。
基于模型的测试是一种新的软件测试方法。