论文部分内容阅读
国家“十一五”预研项目“嵌入式半实物仿真测试平台”的研究目的是构建一个评测各种航天软件的通用性测试平台。航天软件测试工作通常在半实物仿真平台下进行,具有较高的实时性,被测软件运行1分钟都需要数兆的测试用例。显然对于如此规模的测试数据,采用人工设计,手动生成是不现实的。为使测试人员利用编程的方式完成测试用例生成的工作,课题提出设计和实现基于ANTLR自定义航天软件测试语言(Test Script Language,TSL)。 自定义航天软件测试语言是为航天软件测试领域完成测试用例生成任务而设计实现的,属于领域专用语言(domain-specific languages,DSLs)。其设计和实现的难点主要有两个:第一,如何设计一套规范的语言文法规则,并生成语言识别器,最终能够解释执行;第二,在自定义语言环境中,如何对航天软件中的模拟器进行操作并生成字节码形式的测试用例。本文就自定义航天软件测试语言的设计和实现做了以下几方面的工作: 1.详细地综述了相关理论技术知识。 2.在分析了Python语言文法规则的基础上,设计了一套规范的航天软件测试语言的EBNF文法规则,包括定时任务和周期任务等TSL特有的关键字。 3.根据航天测试语言EBNF规则描述,设计和实现了代码识别器,将识别器输出的代码中间形式翻译成目标代码执行。 4.根据航天软件系统配置文件,解析出系统中的仿真对象,并定义常用的数学运算函数库和仿真对象操作通用接口,完成生成测试用例的工作。