基于模型的需求设计测试工具研究综述
立即解锁
发布时间: 2025-08-24 00:06:56 阅读量: 1 订阅数: 3 

# 基于模型的需求设计测试工具研究综述
## 1. 咖啡/茶自动售货机建模与测试用例生成
使用开源编辑器 Beremiz,按照 PLCOpen 标准格式将咖啡/茶自动售货机建模为功能块图(FBD)模型。该模型包含不同的块和一个由内部生成时钟操作的定时器。基于输入信号(如选择饮料)的值,机器计算咖啡的供应时间。模型以循环方式执行,各块无中断运行。
使用 CompleteTest 生成满足决策覆盖标准的测试用例。生成的测试用例由输入向量序列、时间信息和输出组成。当规范与实际输出一致时,工具以浅灰色(或绿色)显示输出;否则,以深灰色(或红色)显示,表明程序存在错误或规范有问题。
### 1.1 模型结构
模型由不同的块和定时器组成,定时器由内部时钟操作。输入信号(如 ChooseDrink、InsertCoins 等)决定机器的行为,根据这些输入计算咖啡的供应时间。
### 1.2 测试用例生成
使用 CompleteTest 工具生成测试用例,满足决策覆盖标准。测试用例包含输入向量序列、时间信息和输出。通过比较规范和实际输出,工具以不同颜色显示结果,方便识别问题。
## 2. 模型驱动测试工具的分类结果
### 2.1 支持的模型符号类型
| 模型符号类型 | 工具数量 |
| --- | --- |
| 基于转换的符号 | 23 |
| 前置/后置符号 | 5 |
| 随机符号 | 2 |
| 数据流符号 | 3 |
大多数基于模型的测试工具依赖于基于转换的符号和前置/后置符号,只有少数工具能处理随机和数据流符号。这与两个主要事实相符:一是基于转换的符号是捕获系统行为的简单有效方式;二是对随机行为的测试需要测试人员创建软件行为的随机模型,而非单个测试用例,这在行业中并非常见做法。
### 2.2 测试执行方式
在审查的 33 个基于模型的测试工具中,18 个仅支持离线测试执行,4 个支持在线测试执行,8 个工具可同时在线和离线使用测试框架。结果倾向于离线测试用例生成,可能是因为在线测试适用于非确定性系统,而许多实现是确定性的;在线和离线测试的结合需要除离线算法外的即时和监控技术,只有少数工具能够提供。
### 2.3 测试工件
所有 33 个工具都支持功能工件,其中 3 个还处理额外功能工件。在审查中,没有工具直接处理架构工件,但发现了一个关于架构测试的概念验证工具 ABATT,由于其描述简略且未提供原型设计信息,未将其纳入收集的工具中,但认为这是基于模型的测试工具在架构工件方面主流应用的一个积极成果。
### 2.4 测试映射
25 个基于模型的测试工具可以生成可执行测试,8 个工具仅生成抽象测试。这一结果强化了基于模型的测试框架的最终目标:自动化生成最终将针对被测系统运行的测试用例。
## 3. 代表性工具的应用与分析
选择了四个具有代表性的基于模型的测试工具,即 ProTest、UPPAAL CoVer、MaTeLo 和 CompleteTest,将它们应用于一个简单示例,以了
0
0
复制全文
相关推荐









