基于模型的测试工具和示例

什么是基于模型的测试?

基于模型的测试是一种软件测试技术,根据模型做出的预测检查被测软件的运行时行为。可共享性必须对测试中的系统有准确的描述。

有许多可用的模型,描述了系统行为的不同方面。该模型的示例包括:

  • 数据流
  • 控制流
  • 依赖图
  • 决策表
  • 状态转换机

基于模型的测试描述系统如何响应操作(由模型确定)。提供操作,并查看系统是否按照预期做出响应。

它是一种轻量级的验证系统的形式化方法。这种测试既可以应用于硬件测试,也可以应用于软件测试。

在本教程中,将了解

  • 什么是基于模型的测试?
  • 基于模型的测试用例
  • 有限状态机
  • 状态图表
  • 统一建模语言(UML)
  • 基于模型的测试面临的挑战
  • 模型测试的好处

基于模型的测试用例

Model Based Testing – Stuff You Must Know!
Model Based Testing – Stuff You Must Know!

上面的模型解释了在记事本上写诗的简化方法,以及与每个步骤相关的可能操作。对于每个动作(如启动、输入诗歌、保存),可以生成测试用例并验证输出。

MBT的类型:

基于模型的测试框架有两种类型。

  1. 离线/a先验:在执行测试套件之前生成它。测试套件只不过是测试用例的集合。
  2. 在线/On-The-Fly:在测试执行期间生成测试套件

测试中的不同模型:

为了理解MBT,有必要理解下面解释的一些模型。逐一来看一下:

有限状态机

该模型帮助测试人员根据选择的输入评估结果。可以有导致系统相应状态的输入的各种组合。

系统将具有特定状态和当前状态,该状态由测试员给出的一组输入来管理。

考虑一下这个例子-

有一个允许员工登录应用程序的系统。现在,在“Log In”状态下,员工可以查看、打印、扫描系统中的文档。

Model Based Testing – Stuff You Must Know!
Model Based Testing – Stuff You Must Know!

状态图表

它是有限状态机的扩展,适用于复杂的实时系统。对于每个状态,系统的行为被分析并以事件的形式表示。

例如-

在状态为新建的缺陷管理工具中提出缺陷。状态图的设计方式应该是为每个状态调用一个事件。

Model Based Testing – Stuff You Must Know!
Model Based Testing – Stuff You Must Know!

统一建模语言(UML)

统一建模语言(UML)是一种标准化的通用建模语言。UML包括一组图形表示法技术,用于创建的可视模型,这些模型可以描述非常复杂的系统行为。

UML具有如下符号:

  • 活动
  • 角色
  • 业务流程
  • 组件
  • 编程语言
Model Based Testing – Stuff You Must Know!
Model Based Testing – Stuff You Must Know!

基于模型的测试的挑战:

在每个组织中部署MBT显然需要大量的投资和努力。以下是MBT在软件工程中的缺点。

  • 测试人员所需的必要技能
  • 学习曲线的时间会更长
  • 很难理解模型本身

模型测试的优势:

以下是MBT的优势:

  • 轻松维护测试用例/套件
  • 降低成本
  • 提高测试覆盖率
  • 可以在n台机器上运行不同的测试
  • 早期缺陷检测
  • 缺陷数量增加
  • 节省时间
  • 提高测试员工作满意度

结论

无论如何,测试人员在他们的测试过程中都会构建心理模型。这有助于测试人员实现可读性和可重用性。

基于模型的测试是一种新的软件测试方法。

IT赶路人

专注IT知识分享