在测试领域,很多的测试从业人员都在讨论或者曾经讨论过自动化测试。支持者认为自动化能够提高测试效率,减少枯燥繁琐的用例执行。持反对意见人的当心自动化测试的引入成本太大,反而没有手工测试来的高效。更有人当心自动化测试无法保证软件的质量,其实能否保证软件的质量,不是由自动化测试决定,而是取决于你的用例的设计。对于新的事物,在没有任何实践的基础上不能轻易地下结论,因为每个人都有惯性的思维,有时候很难跳出固有的思维去考虑新的事物。
自动化测试本身作为一种测试的手段不存在任何的问题。它的好与坏,本质是由其最终结果来决定的。如果自动化测试带来收益大于我们投入的成本,那么自动化测试就是成功的。我们要做的就是在自动化测试实施过程中去提高我们的收益,去降低我们的成本。
何为自动化测试?自动化测试是希望能够通过自动化测试工具或其他手段,按照测试工程师的预定计划进行自动的测试。目的是减轻手工测试的劳动量,腾出更多的时间和精力去测试重要模块,同时又保证已有覆盖自动化测试的模块的质量,从而达到提高软件质量的目的。自动化测试的目的在于发现原有模块引入的新缺陷,保证已有功能的质量。
自动化测试开展的前提
首先部门或者公司要从管理层次上支持你,其次要有专门的测试团队去建立适合自动化测试的测试流程、测试体系,排除上面的因数之外我总结了自动化测试一些前提条件。
1. 长期性
指的是被测产品(或功能)是否需要一个长期的维护,因为短期的项目是没有实现自动化测试的必要的,短期的项目很明显他的投入成本肯定大于其收益。
2. 稳定性
被测产品(或功能)是否有一个相对稳定的产品。如果功能和界面都处于不稳定阶段而且经常发生变化的,那脚本和用例的维护成本是非常高的,
所以也是不具备实施自动化的前提条件。
3. 合适测试工具
(工欲善其事,必先利其器)
假如被测产品(或功能)难以通过工具识别其控件的话
假如使用脚本语言难懂难学,而且扩展性差。
4. 人员
你的产品组内是否具备合适人员去开展自动化,是否具备一定合适的人去做自动化脚本开发。自动化测试实施的好与坏,很大程度上取决于该测试工程师,因为要有效实施自动化测试,单一的测试工具的熟练是远远不够的,他需要其它一些辅助的测试手段,所以同时也就需要该测试工程师具备一定的方案解决能力,能够找到较优的方案来解决现实中碰到的问题。
5. 用例
整体来说自动化测试能否有效开展,能否有效的实施,不是单一取决于某一个人或者某自动化测试工程师的能力,他是整个团队合作的结果。
自动化测试成本
这是领导们最关心的问题。因为他们都希望自动化测试带来的收益要远大于所投入的成本。不然怎么体现自动化测试价值?如果没有价值还不如直接手工测试来的干脆。
那么自动化成本有哪些?
1、调研成本
2、脚本开发维护成本
3、自动化用例设计与维护成本
4、资源投入成本