自动化软件测试能取代手工测试吗?

发布于 更新于

技术文章

手工发现的缺陷远远比自动化测试得多 在目前如果不采用基于AI的自动化测试下,有机构做过统计,估计80%的缺陷是由人工测试发现的,自动化测试发现的缺陷仅占20%。在ISTQB初级大纲中,软件测试目的被概括为四点,其两点为“发现程序缺陷”和“...

手工发现的缺陷远远比自动化测试得多

  在目前如果不采用基于AI的自动化测试下,有机构做过统计,估计80%的缺陷是由人工测试发现的,自动化测试发现的缺陷仅占20%。在ISTQB初级大纲中,软件测试目的被概括为四点,其两点为“发现程序缺陷”和“对程序树立质量信心”。所以手工测试主要针对于新开发出来的特性,其目的主要在于“发现程序缺陷”;而自动化测试化测试主要在于对老特性的回归测试,其目的主要在于“对程序树立质量信心”。在作者提出的纯软件测试理念中,把软件测试分为“测”与“试”两部分:“测”即验证软件是否满足用户提出的需求,主要通过自动化测试来实现;而“试”即试图找出软件中存在的缺陷,主要通过手工测试来实现。所以自动化测试与手工测试缺一不可,互为补充。见下图


自动化测试对测试人员的技术要求较高

  自动化测试工程师首先要会使用自动化测试工具,其次由于现在基于脚本开发的自动化测试越来越受到了青睐,所以要求自动化测试工程师需要掌握至少一门编程语言,且对应这门语言的测试架构框架、对数据库操作能力等有一定的要求。所以采用自动化测试技术对人的要求是非常高的。这也使进入软件测试的门槛变高了。

 

自动化测试成本投入高、风险大

  使用自动化测试工具是否可以提高研发本产品的质量?现有的工程师是否具有使用自动化测试的能力?公司是否有能力去购买一些商用的自动化工具?培养工程师学习自动化是否可行?是否被培养起来的工程师存在离职,另求高薪的可能?这些问题都是作为决策层应该考虑的问题。事实也很多次得证明,自动化测试是个好东西,但不是银弹,关键看企业的产品是否适用以及企业如何去使用。

 

自动化测试是死的,不具有情感

  计算机毕竟是机器,不具有人的抽象能力、想象能力等情感,所以类似于一些UI/UX、需要具有发散式思维的测试是不能完全依赖自动化测试。即使是同一份基于文字的自动化测试用例,让多个人去执行,或者让同一个人在不同时刻去执行,往往会发现不同的缺陷。另外在自动化测试优势中提到的兼容性测试,对于产品的分辨率适应性,文字会不会超出控件等问题,自动化测试可能也是无能为力的。

 

自动化测试完全不可能取代手工测试

  如上所述,自动化测试完全不可能取代手工测试。


继续阅读