自动化测试:真是银弹?[2] 自动化测试工具
不幸的是,由于测试工作被任意删减,开发团队无法完全清楚地知道产品的总体质量,他们面临所交付的软件带有严重问题的风险。借助于自动化测试的力量我们能够摆脱这种困境吗?我们接着探讨一下。
自动化测试如何帮助我们?
在计划实施自动化测试之前,您需要理解自动化测试的定义。换句话说,它对您意味着什么?这里有一些我听到的其他人对自动化测试的描述:
1、完全无人干预的测试。
2、测试脚本。
3、测试工具。
4、不清楚。
有时人们将自动化测试的概念理解得过于狭窄,只关心由工具或编程产生的测试脚本。实际上自动化一词包含了更为广阔的含义。看看一个Quality Engineering团队在构建一套自动化测试准则时对自动化测试的这个定义:在我们的环境中,"自动化"指的是对策略、工具和工件的使用,它增加或减少了手工或人为参与或干预非技巧性、重复或冗长工作的需要。除该定义之外,准则还为该团队提供了应用自动化方法的例子。
现在,定义自动化对于您和您的团队意味着什么是至关重要的。然后您就可以使用该定义开始构建一套自动化准则,从而团队中的每个人都可以使用相同的方法、快速评诂一项任务是否适合应用自动化。
让测试自动化真正发挥出强大的威力,就要对这张进行不断的修补。如果我们每次的操作都是相同的,再通过对结果的验证和补充,不断的完善,这样才能将发挥自动化的强大的力量。 软件测试
软件测试实行自动化进程,绝不是因为厌烦了重复的测试工作,而是因为测试工作的需要,更准确地说是回归测试和系统测试的需要。
将测试的操作标准化不是简单的写个用例就可以解决,它要包括很多详细的内容,要包括数据的准备,系统环境的准备,标准的操作流程,以及结果的标准判断方法。最佳实践效果就是一个只要会操作计算机的人都可以执行测试,并且结果是相同。那么,这时实施自动化才能够发挥最大的功效。
从上面可以看出测试自动化的实现成本较高,我们不能单纯的出于技术的目标而实施自动化,自动化的实施只有在产品的被测试部分相对稳定后才可以实施自动化.在业界暂时还没有通用的判定标准。
合理的运用自动化测试可以大大提高工作效率,反之则会是无何止的噩梦.无论测试自动化多么强大,在现阶断仍然是以手工测试为主.我想不需要人工设计的测试自动化只有在斯皮尔伯格的“人工智能”实现后才会真正的出现。
现在您已知道什么是自动化测试以及它能胜任哪些工作,我希望您能运用这些知识为您的产品进行更多更好的测试。尽管自动化测试不是银弹,但它仍不失为一件优秀工具;如果能够将其应用于适合的工作,将为您带来巨大收益。
图1:自动化测试生存周期方法学结构
自动化测试的好处
缩短软件开发测试周期,可以让产品更快投放市场;测试效率高,充分利用硬件资源;节省人力资源,降低测试成本;增强测试的稳定性和可靠性;提高软件测试的准确度和精确度,增加软件信任度;软件测试工具使测试工作相对比较容易,且能产生更高质量的测试结果;手工不能做的事情,自动化测试能做,如负载、性能测试。