游戏项目中的自动化测试和持续集成[4]

发表于:2010-04-21来源:作者:点击数: 标签:自动化项目游戏
游戏项目中的自动化测试和持续集成[4] 软件测试 完全自动化、重复的 build和 测试过程 ,这种过程每天运行多次,在 极限编程 中,我们把它称为:持续集成。为了更好的实行持续集成,像 Cruise Control或者Anthill这样的 开源 代码工具可以将版本管理软件和自

  游戏项目中的自动化测试和持续集成[4]   软件测试

  完全自动化、重复的 build和测试过程,这种过程每天运行多次,在极限编程中,我们把它称为:持续集成。为了更好的实行持续集成,像 Cruise Control或者Anthill这样的开源代码工具可以将版本管理软件和自动build工具,例如ANT,整合起来。使用这样的工具, 可以很轻松的搭建适合自己的持续集成系统。

  我们发现搭建专用持续集成服务器使得开发过程变得更顺畅,开发者可以更专注于自己的工作。与此同时,测试可以被很好的运行,一旦提交了错误的代码,持续集成系统会自动通知开发者和项目经理,因此开发者也可不必为此分心。自动化,自动化!

  自动化测试和持续集成的使用为我们在游戏和工具的开发上带来了极大的收益。例如,持续集成服务器根据Wiki中的变化,每天自动生成CHF (windows帮助文件)文件。而且,使用ANT和CruiseControl来制作软件自动分发包会非常容易。这样一来,用最新的代码(或最新的 tag)创建一个完整的分发包就是举手之劳。

  自动化过程中的自 动化测试执行,例如测试框架中的常规单元和回归测试,他们不是用来检查错误,而是用在相同环境下得到测试结果来衡量和比较引擎的性能(系统配置的结果以 XML文件格式存放在版本管理软件系统上)。如果当前的结果比参考结果差很多,那么测试失败,反之,它就成为了新的参考结果。

  性能测试是一种特殊的回归测试。当引擎代码被重构,我们通过它来确保修改不会降低引擎原有的性能。这样,就迫使我们时刻关注代码的运行效率和对代码的优化工作,可以避免遇到在实际运行中,速度突然变慢的现象发生。

  结论

  根据我们的经验,使用自动化测试和持续集成可以使开发团队工作更有效而开发出更好、稳定、简单的软件。而且,减少人工测试也可以减少开发团队的压力和工作负荷,可以在开发过程中尽早的发现Bug

  当然,自动化测试不会使你的游戏想当然成为畅销品。但毋庸置疑,它会使各类开发人员甚至玩家活得更自在。

  参考

  * Unit Tests: http://c2.com/cgi/wiki?UnitTest

  * The Standish Group, Inc. (2001), Extreme Chaos

  * By the Books: Solid Software Engineering for Games (GDC 2002 roundtable):

  * http://www.convexhull.com/sweng/GDC2002.html

  * Continuous Integration: http://cruisecontrol.sourceforge.net/

  * http://c2.com/cgi/wiki?ContinuousIntegration

  * ANT: http://ant.apache.org

  * BullseyeCoverage: http://www.bullseye.com

  * AQtime: http://www.automatedqa.com

原文转自:http://www.ltesting.net