论文部分内容阅读
随着宽带网络的不断发展,在线数字娱乐领域近年来发展非常迅速,在线数字娱乐系统变得越来越复杂。如何在不断增加新功能的基础上保持软件系统的健壮性,成了在线数字娱乐系统软件开发项目中的一个重要瓶颈。本文基于这一背景提出并实现了在线数字娱乐系统自动化测试系统的解决方案,并且基于项目实践针对自动化测试系统的效率、性能需求提出了进一步改善的策略。本文首先介绍了在线数字娱乐系统的自动化测试系统的技术架构,以及单个自动化测试案例的测试流程,然后阐述了自动化测试系统的具体实现。自动化测试流程具体阐述了一个测试指令如何从客户机传送到服务器,然后进一步传送到待测目标板,最后在目标机器上执行测试命令并反馈测试结果到服务器,由服务器评估测试结果并生成测试报告的流程。自动化测试系统包括测试服务器接口通讯模块,测试脚本解释模块,测试案例模块,日志模块,测试案例配置管理模块,以及HTTP服务器等核心组成部分,文中进一步阐述了它们的具体实现。另外,针对自动化测试系统实际部署中遇到的问题,提出并开发出基于ASSERTION的自验证案例,阐述如何用XML或正则表达式提取和构建一个有效的python单元测试案例,如何利用测试局部性原理去生成ASSERTION,也就是局部的数据或逻辑约束是一个项目中不易变的约束。然后引入测试子案例的概念,将每一测试子案例描述为UML状体图的一个状态变迁,以此为基础阐述了如何基于UML状态图自动化生成测试案例的方法。并提出了一种创造性的方法将状态图转换为图的数据结构,然后引用图论中的经典方法,描述了如何将其应用于自动化案例生成系统的实现,以及如何应用测试约束完成测试覆盖率这一关键性的测试指标,文中提出了如何保证测试状态,测试动作,以及状态转换全覆盖的测试案例生成方法。另外,在线数字娱乐系统,数据量非常大,测试回归性能极其重要,本文首先针对测试案例的复杂度提出了两种相应的方法,将测试案例内的并行方法应用于复杂度高的压力测试案例集和将测试案例间的并行方法应用于复杂度低但数量多的单元测试案例集,最后将并行计算资源和测试管理系统分离,实现了基于多服务器,网格系统,Hadoop云计算环境的并行化自动测试系统方案。最后根据实际项目需要给出了有效的应用并行化测试系统的测试策略,依据不同的角色采取不同的测试策略,此策略的应用极大地提高了自动化测试系统的企业内运行效率。