论文部分内容阅读
随着互联网技术的广泛应用,越来越多的应用系统以动态开放性网络环境作为计算与运行的平台,系统的功能需求也越来越复杂。DDS分布式构件化系统因其较强的实时性、开放性、可扩展性以及松散耦合特性,在民用工业系统、舰船装备等众多领域中得到了广泛应用,国内外许多舰船就采用DDS中间件来构建软硬件综合集成的任务关键系统。这些基于DDS的任务关键系统有着极高的质量要求,但是系统在研发模式、系统结构与应用需求方面存在与一般软件系统相异的特征,同时系统也出现了新的失效场景,这些给包括测试用例生成等在内的测试方法与技术带来了新的挑战。针对DDS分布式构件化系统测试过程中的测试用例生成问题,本文提出了一种面向DDS分布式构件化系统的场景建模方法,对被测系统中存在失效风险的场景进行建模。在此基础上,提出一种基于场景模型的测试用例生成方法,通过测试事件的数据序列生成与故障注入,构造易于发现系统缺陷的测试用例集。具体研究内容如下:(1)提出一种基于扩展正则表达式的场景建模方法。使用扩展正则表达式,对被测系统中存在失效风险的场景构建事件序列模式,表达场景中交互事件的时序关系。然后对事件序列中的事件参数进行数据建模,描述各事件内部及事件之间的数据约束,并为场景模型增加错误注入要求,以提高发现系统故障的能力。(2)提出一种基于场景模型的测试用例生成方法。根据场景模型中的事件序列模式生成对应场景的测试事件序列,然后根据事件数据模式为该序列中的事件填充测试数据,并支持测试数据的在线补充与验证。(3)提出一个基于DDS通信的测试执行框架。通过设计一种可动态构造DDS报文收发程序的机制,执行测试用例中的事件数据序列,收集测试执行信息,进而获得测试结果,以评估用例的测试效果。(4)基于所提出的测试用例生成方法,实现一个面向DDS分布式构件化系统的测试原型系统,并将其应用于真实舰船任务系统的测试实践,论证了该方法的有效性。