面向HLA的自动化测试(1)
来源: 北京航空航天大学虚拟现实技术与系统国家重点实验室
HLA(高层体系结构,High Level Architecture)是为了解决建模和仿真领域长期存在的重用性和互操作性问题而提出的一种体系结构,RTI(运行支撑环境,Run-Time Infrastructure)是HLA接口规范的具体实现,是仿真应用程序设计和运行的基础。RTI的功能和性能的好坏直接关系到HLA仿真系统开发与应用的成败,因此,需要对RTI软件进行全面而反复的测试,通过不断地测试来发现并及时地解决问题。
RTI的测试主要包括功能测试、性能测试和规模测试三个方面。功能测试主要是为了保证RTI六大类管理(联盟管理、对象管理、声明管理、时间管理、对象所有权管理和数据分发管理)服务及其支撑服务的正确性。性能测试是为了让开发者更加明确软件执行的效率,主要的测试指标包括延迟、丢包率和吞吐量等方面。而规模测试是为了保证在进行大规模分布式仿真时RTI工作的正确性。
以DMSO为例,DMSO HLA 1.3接口规范一共定义了129个服务,而IEEE 1516.1标准中共定义了107个服务。测试用例不仅需要单独测试每个接口功能的正确性,还要保证各个接口组合使用时的正确性,在软件的测试过程中还需要不断地进行单机与多机的测试。手工测试是一个劳动密集型的工作,出错率高,成本也较高,不支持那些可能由自动测试工具完成的相同种类的质量检查。如果单纯的进行手工测试,既耗费人力又耽误时间,对于一些测试出现的问题也可能无法重现。性能测试存在这样的问题。规模测试需要多台计算机的协同,同样需要花费大量人力。软件自动化测试作为软件测试的一个重要组成部分,它可以替代许多手工测试繁琐的测试过程,实现手工测试无法实现或者难以实现的测试。正确、合理的实施自动化测试,能够快速、彻底的对软件进行测试,从而提高软件质量,节省经费,缩短产品发布周期。自动化测试可以完成一些重复性的测试,降低人为因素对测试过程的干扰,排除测试的随机性和盲目性,降低冗余,减少遗漏等,并且可以图或表格的形式呈现在用户面前。基于工具的软件测试技术的自动化,也是软件测试的发展趋势。引入自动测试工具能够用更有效、可重复的自动测试环境代替传统的手工测试活动。减少测试开销,增加有限时间内的测试。更加快速地开发出高质量的软件产品。因此,对RTI进行自动化测试就显得尤为重要。
北航虚拟现实与系统国家重点实验室之前已经完成了BH RTI的开发、测试,有了一套比较完整的功能测试用例和性能、规模测试程序。本课题就是在此背景下提出的。目的是设计并实现一个系统,能够通过脚本或用户输入命令的方式自动化的运行测试脚本和多机协同地运行测试程序,并把测试结果直观的表现出来。






