1、如何在快速变更的环境中开展测试工作作者:Randall W. Rice, CSTE, CSQA翻译:connie 如同一句古老的谚语说的,世界上唯一永恒的东西就是改变。在软件开发过程当中,传统的开发模式的一个缺点就是他能够呈现较少的改变甚至没有改变。真实世界每天都在改变。正因为此,其他的开发模式,如快速应用开发(RAD)已经提升到可以包含改变并在计划过程中使用改变来精炼开发。在 RAD 模式帮助软件开发者更早的得到更新的版本并更快的运行程序的同时,他也给测试人员带来很多令人头疼的烦恼。因为每个改变都可能产生新的缺陷。找到新缺陷的唯一的方法就是使用回归测试,回归测试可以完整的重复先前的测试过程并
2、与得到的结论进行比较,以便找到不同的地方。接下来就产生了 2 个问题:1)能否在快速变更的需求过程中进行彻底的测试?2)在测试快速变更的软件时需要采用什么策略?能否在快速变更的需求过程中进行彻底的测试?答案是,不能。这是一个恶作剧式的问题,因为在大多数情况下,即便是在稳定的环境当中,进行彻底的测试都是不可能的。我们可以将这个问题改成这样,“能否在快速多变的环境中进行有效的测试?”我们能否期望在测试软件时能够充分有效的利用人力及其他资源?我们能否期望在测试中找到预期数量的缺陷?通过观察使用 RAD 模式进行开发的项目,我发现要找到缺陷和得到任何程度的成效的本质的部分就是测试过程。由于在软件开发中
3、,大多数我们使用的测试标准是规范是使用不重复的过程,所以很多人在测试 RAD 环境的软件时,采用的方法是平时我们在其他环境中使用的方法在各个不同的地方使用较少的用例来查找问题和缺陷。我们可以采用什么样的策略呢?研究每个单独的环境当中需要采用的策略将会耗费过多的时间,这里有一些通用的策略,可以在快速改变的测试环境中使用。首先,你必须接受一个事实,那就是不可能花去 6 个星期的时间来测试一个天天都在改变的软件。这就意味着你需要限定测试过程使得他可以快速并有效的进行。做一个风险程度的估定。知道风险的标准是关键所在,因为你需要在一个较短的时间内来确定你要测试内容的优先级。风险越高,册是的优先级越高。自
4、动化测试过程。回归测试工具帮助你在短时间内进行重复的测试工作。好的工具需要在软件及培训方面进行重要的投资,但他不能一天不间断的工作。有一些事情需要在自动测试之前考虑并提前做好。你必须拥有软件的工作标准文档来跟将来的测试进行比较。你必须定义需求,测试用例和测试环境。工具只能记录并回放基于操作者的操作行为的活动。数据维护是关键。你将怎样维护这些测试数据?例如,如果你使用回归测试工具来添加一个记录,脚本文件将得到“重复的记录”这样的错误。这将耗费相当多的时间以及金钱来使得这个工具融入到你们的公司。在此之前还必须对相关人员进行工具使用的培训。因此,必须使人们相信,跟目前工作当中需要建立测试脚本和测试用
5、例这些琐碎的事情相比,这样做对于长期利益的发展是非常有价值的。在快速多变的环境中进行测试并不是不可能的,但是他需要能够做出快速的响应,灵敏的进行操作,并且与变更的轨迹保持一致。那些不愿意考虑新技术,如自动化测试的公司、组织将不能在快速多变的开发环境中开展有效的测试工作。这就好比是手工工具来盖一座房子,很显然他最终是无法成功的。在快速多变开发环境中同样也需要一个对于机构和过程的新观念。单独使用工具并不是最终的答案。必须有一个能快速执行并且充分有效的利用人力资源和时间的操作程序。要达到工具使用、操作程序以及人力的完美结合,必将是一个很大的挑战。如果你想得到用户验收测试相关的更多的培训及方法,可以通过以下的链接联系 e-mail Randy Rice.