永远不可能完全取代手工测试。自动化测试无法做到手工测试的覆盖率。不是每个测试用例都适合转换成自动化测试用例的。另外,复杂性极强的操作也只能通过手工测试来完成
无法完全保证测试的正确性。自动化测试核心仍然是代码,说的简单点,自动化测试就是程序测试程序。是程序就一定会有缺陷,所以,不能保证测试工程师开发的脚本就完全100%没有缺陷,如果代码中出现一个小小逻辑错误,哪怕一个条件判断的误写也会导致测试结果完全出错。
手工测试能发现的缺陷远比自动化测试多。可以这么说,有85%的缺陷是归功于手工测试,而只有15%的缺陷归功于自动化测试。而且在这15%中,大约只有0.1%不到的缺陷属于新缺陷。自动化测试最大的用途就是回归……再回归。
对测试质量的依赖性极大。自动化测试的运行首先要建立在版本测试质量(在这里基本指手工测试质量)稳定的大条件下,如果当前版本的测试质量不够稳定,运行自动化测试将会非常不顺利,几乎是一种无用功和白白浪费时间的行为。
测试自动化可能会制约软件开发。由于自动化测试比手工测试更脆弱,以及脚本维护会受到限制,从而制约软件的开发。
自动化测试工具是死的,它本身没有任何想象力。自动化测试是无法做到像人类一样随心所欲地创造的,自动化测试的好坏,完全取决于自动化测试负责人和测试开发工程师的思想与技术,和自动化测试工具没有任何关系,工具是没有思想的,所有的操作全部由人通过输入代码的方式告诉工具它该怎么做。
成本投入过高,风险大。自动化测试需要很大的成本投入,并且如果没有良好的成本分析与控制手段以及自动化测试计划与执行过程控制,那么失败的自动化测试案例数不胜数,导致企业白白浪费人力物力还得不到任何回报。
自动化测试对测试人员的技术要求较高,对测试工具同样有一定要求。自动化测试对测试工程师来说必须有一定的开发技术背景,开发技术越高则写出来的脚本质量也就越高、越有技术性和想象力。
领取专属 10元无门槛券
私享最新 技术干货