领先的工作方式,即刻开始

自动化测试可以代替手工测试吗?

自动化测试可以替代手工测试,这其实是一个误会。

预言家难题

测试中最艰巨的任务之一,就是在运行一个测试用例时,如何才能知道被测试软件确实完成了它应该完成的任务?被测试软件是否输出了正确的结果?在运行过程中,是否带来副作用?如何才能确信这一点?如果给定一个用户环境,特定的数据配置和输入顺序,有没有预言家能断言:软件确实做了,也只做了它所应该做的事情。现实情况下,往往由于软件的设计规格说明书并不完整,或者根本没有,这导致软件的测试人员也没有办法做这个断言。所以说:自动化确实很重要,但光靠它还不够,过度依赖自动化测试会为程序的最终成功带来隐患。 如果测试人员不能依靠开发人员的缺陷预防工具和自动化手段,他们还能寄希望于什么呢?唯一答案是手工测试。

自动化测试是把以人为驱动的测试行为转化为机器执行的一种过程。通常,在设计了测试用例并通过评审之后,由测试人员根据测试用例中描述的规程一步步执行测试,得到实际结果与期望结果的比较。在此过程中,为了节省人力、时间或硬件资源,提高测试效率,便引入了自动化测试的概念。

E2

虽然目前的测试趋势是推行自动化,但自动化有其局限性,通常需要同时满足以下条件:

  1. 软件需求变动不频繁
  2. 项目周期足够长
  3. 自动化测试脚本可重复使用

另外,在手工测试无法完成,需要投入大量时间与人力时也需要考虑引入自动化测试。比如性能测试、配置测试、大数据量输入测试等。

机器毕竟不是人,它只能按照固定的步骤来执行计算、判断,例如自动化运行中途出现:操作系统升级重启、机器断网、浏览器故障重启了、页面刷新较慢元素在该有的时间内没出现、HTTP 丢包等等任何一些不稳定,自动化的流程就很容易崩溃并最终等待人的介入。所以过度依赖自动化是不明智的,手工测试永远都会继续发挥着作用。