论文部分内容阅读
网络游戏开发到了中后期阶段,游戏服务器的压力测试和性能测试在整个测试阶段是非常重要的。而这类测试是需要模拟大量用户和大量数据来进行,单凭手工测试是无法完成预期目标的。同时,随着项目的稳定性趋于完善,大量的回归性测试也显得尤为重要。如果完全通过手工测试,每当版本有迭代,而且需要上线的时候,都需要全面做一次测试,这样会消耗大量的人力精力在这些重复性用例上。另外,由于网络游戏的特殊性,使得测试人员在测试系统功能时还是采用传统的手工测试方法。这种方式虽然能快速的发现缺陷,但随着网络游戏的功能越来越丰富,用户量不断增长,用户对游戏的质量也逐渐提高,这种方式不可避免会遗漏很多无法预知的问题,而且在测试的过程里也有可能会人为的出现测试失误。针对以上问题,本文提出了开发一款用于模拟大量玩家的连接,通过脚本指定模拟玩家的行为,将各种因素考虑到极点来对服务器进行专业性和系统性测试的自动化测试工具。文章中结合了现有数据驱动自动化测试框架和关键字驱动自动化测试框架的优势,采用混合框架的模型搭建本网络游戏自动化测试工具。网络通信模型采用IOCP能够有效的提高工具的并发性能力。用户交互部分采用Lua脚本二次开发的方式,使用关键字驱动模型,很好的分离了用户事件同服务器之间的交互和外部数据同逻辑的分离。所有的事件实现在工具的内部,通过接口只把函数暴露给Lua脚本,使得测试人员不需要修改工具代码,仅仅定制Lua脚本就可以完成全部的测试计划。对于测试用例中需要频繁修改的数据,只需要直接修改Lua脚本,就可以完成对数据的更新。文章在以上的基础设计并开发了基于多模板的自动化测试工具。通过后续的模块测试和集成测试,本模块成功解决了在应用中高并发性、可移植性、易用性等难点。作为游戏开发工具集的成员,同时也开始在实际项目中开始应用并取得了一定的效果,大大减少了手工测试的工作量。针对基本的样例测试,已完成大部分的脚本开发,并应用到项目中。