论文部分内容阅读
ATP(Automatic Train Protection,自动列车保护系统)软件是一个保证地铁列车安全运行的关键设备。传统的确认测试只能根据需求来设计用例,手动的执行测试,确认实现的软件是否符合需求,然后再通过附加一些场景测试用例,来增强安全场景的测试。没有一套完整的,自动化的方法,从覆盖率,安全性,场景实现等各个角度对ATP软件进行系统的测试。在本文中,首先提出一种专有的领域模型需求规约ATPDL(Automatic Train Protection Description Language),通过运用该规约来书写ATP软件的需求,并通过从需求模型规约中提取出状态迁移图和变量关系图,帮助测试人员理解需求模型,更好的进行需求验证。同时,开发了一款工具,ATPDL tester,来支持整个方法的实现和应用。其次,工具为了支持场景测试和基于需求的两种测试方法,测试人员可以选择运用ATPDL-SL(ATPDL Scenario Language)来创建安全关键的场景测试脚本,或运用工具生成的,符合MC/DC覆盖准则(Modified Condition/Decision Coverage)的单元测试用例,来执行测试。ATPDL-SL是一种准确,易懂的场景描述语言,能将测试人员脑海中的场景,转变为计算机能够理解的脚本语言,并能直接生成驱动测试平台的执行文件,从而可以得到系统实现的结果。最后,实现一个模型规约执行器,自动执行场景描述的系统需求模型,通过将模型执行后的需求执行状态结果集合,结合自动化测试平台执行得到的实际软件实现状态结果集合,进行分析处理,最终得到模型与实现符合性的结论。目前整套方法已经应用于公司的实际工作中,极大的提高了效率,并且运用的工具得到了第三方审计机构的认可,顺利的帮助国产化ATP系统通过德国莱茵TüV集团的第三方安全审计,符合EN50128 SIL4级安全许可。