嵌入式软件系统测试技术深度解析
基于自定义形式化测试描述语言的测试方法
在现有的形式化方法研究之外,国内外在自定义语言的研究方面取得了众多成果。由于脚本技术是测试自动化的重要支撑,基于自定义语言的形式化方法大多是针对特定测试系统或工具的专用脚本语言。以下是常见测试脚本技术的总结:
| 脚本类型 | 是否结构化 | 脚本智能性 | 脚本处理 | 测试用例定义 | 描述方式 |
| — | — | — | — | — | — |
| 线性脚本 | 否 | 常量 | 无 | 脚本 | 描述性 |
| 结构化脚本 | 是 | 常量 | if/loop 语句 | 脚本 | 描述性 |
| 共享脚本 | 否或是 | 常量和变量 | if/loop 语句 | 脚本 | 描述性 |
| 数据驱动脚本 | 是 | 变量 | if/loop 语句 | 数据读取,脚本和数据 | 描述性 |
| 关键字脚本 | 是 | 变量和关键字 | if/loop 语句 | 数据读取,关键字解释 | 数据,描述性 |
美国喷气推进实验室使用扩展的 Tcl/Tk 作为测试脚本语言,能模拟整个飞行器生命周期内的大部分功能。测试脚本通过上层图形开发环境加载,下载到网络节点(子系统),每个脚本通过脚本解释器在各自节点完成相应功能的模拟测试。不过,该环境实时性能差,无法控制时间特性,只能进行功能模拟,且是分布式半自动化测试环境。
中国华中科技大学开发了用于互联网的简单网络协议设计与测试平台(SNPDTP)及其测试脚本语言(C - Script),采用简化的 C 语法并修改了部分特性,如增加时间驱动机制和对网络协议描述的支持。该系统以软件方式模拟网络环境,但