在你睡觉(以及周末)时测试

Test While You Sleep (and over Weekends)

放松。我指的不是离岸开发中心,周末加班或夜班,我是想让你注意我们有多少计算资源。尤其是,有多少本可以让程序员生活更轻松一些的方式,而我们却没有利用起来的。你有没有发现工作日想要有足够的计算资源是很困难的?如果是,那你的测试服务器在平时工作以外的时间又在做什么呢?大多时候,测试服务器在夜间和周末基本是闲置的。其实你可以这么做来获益。

  • 你有没有提交过还没完全运行测试过的变更。程序员在提交代码前不去运行测试的主要原因就是它们花的时间太久。当期限逼近时,人们会本能地开始偷工减料。解决方式就是将大型测试套件分解为一个或两个配置文件。快速运行一个较小的强制测试配置文件有助于确保每次提交前测试都得到运行。所有测试配置(包括强制配置——只要被确定)都可以在夜间自动执行,在次日早晨将它们的结果报告准备好。
  • 你有足够的机会去测试产品稳定性吗?对于识别内存漏洞以及其它顽固问题,长时间运行测试必不可少。它们很少会运行一整天,因为这会占用时间和资源。你可以在夜间自动化的浸泡式测试,周末的话还会有更长时间。从周五下午6点一直到下周一早上6点,整整60个小时用于测试的潜在价值时间。
  • 对于性能测试环境你能得到高质量时间吗?我曾看到过团队为了获得性能测试环境时间而争吵。大部分原因是,不同团队在白天有足够的优质时间,而在夜间这些环境实际上就是闲置的。服务器和网络在夜间及周末并不忙。这就是运行高质量性能测试的理想时刻呀。
  • 是否有很多手动测试组合?很多情况下,你的产品要在不同平台下运行。例如32-bit和64-bit,Linux、Solaris、Windows,或者同一个操作系统不同版本。更糟的是很多现代应用程序都会过度暴露它们的传输机制和协议(HTTP、AMOP、SOAP、CORBA等)。手动测试这些组合是非常耗时的,很多资源都是在接近发布时才完成的。哎,在这个周期内才抓住那些恶心的bug,为时已晚。

在夜间或周末自动化的运行测试能确保所有组合被测试过。这里有一点思考和脚本知识,你可以安排一些cron(Linux定期执行脚本)任务在夜间或周末测试。还有很多很有帮助的测试工具。一些组织机构甚至有穿插值不同部门和团队的服务器网,确保资源的高效利用。如果你的组织机构里有这种情况,你就可以提交在夜间和周末的测试。

0%