面对手动或自动化测试,我们该如何选择

作者: Nextgen | 日期: 2020年12月23日 | 分类: 博客文章

“The reports of my death are greatly exaggerated.”

虽然自动化互操作性测试已经取得了长足的进步,但手动测试在一系列测试场景中仍然保留着它的地位和价值。

 然而,随着物联网设备的不断增加(麦肯锡预测到2023年,设备将达到430亿台),手动测试会不会面临更大的挑战?

 面对消费需求的快速增长,开发速度的加快,这往往给质保部门带来了巨大的压力。这种压力加上前所未有的各种产品以及多样性的用例,让市场急需出现更强大的测试程序。

 那么,互联产品和用例的多样性是否会彻底消除手动测试呢?或者人类参与测试还能带给技术进步尚未实现的好处吗?

manual-or-automated-interoperability-testing

手动测试的主要优势是什么?

尽管新技术日新月异,手工测试仍然是QA部门重要的组成部分。原因如下:

  1. 手动测试可以快速探索不可预期结果。想找到一些异常问题?QA测试人员可以马上投入,在理解问题和考虑潜在解决方案方面迅速取得进展。
  2. 手动测试可以更好地识别用户体验问题。人类有能力发现相似的用户体验问题。虽然这些基本上就像显示器上有错误的颜色背景一样,但它们很难通过自动化测试来识别。
  3. 手动测试可以更快速展开。即使不熟悉测试第三方产品,测试员可以像终端用户一样,使用相同控件进行测试,人类可以很快做到这一点
  4. 手动测试更容易复现高频问题。如果现场出现一个问题,解决问题的最佳和最具成本效益的方法通常是进行手动测试。
  5. 手动测试有利于处理动态行为。当测试的步骤发生变化时——当不知道X会发生还是Y发生——人类非常善于处理而自动化并不擅长。

自动化测试的主要优势是什么?

七个优点是使用自动化测试的关键原因 :

  1. 自动化降低了每次测试的成本。它也不像手动测试那样是线性的。通过人工测试,人类的能力最终会被超越。这与自动化测试无关。
  2. 自动化可节省大量人力资源。降低企业人工成本。
  3. 自动化避免地理分散。它允许您保留整合的团队,并确保不同地区的测试方法一致。
  4. 自动化为测试的一致性和深度提供了信心。无论是在测试过程中还是在报告中,它都没有人为错误的余地。方法总是相同的。
  5. 自动化提供24/7的测试周期。由于不需要人工输入,因此不需要担心员工的工作时间或轮班模式。
  6. 自动化可以完成更广泛的测试场景。它能够以更有效的成本处理更复杂的测试,因为它不需要很多工程师同时测试。
  7. 自动化保证了详细的日志记录和错误责任。它可以客观准确地指出问题,迫使第三方供应商面对并解决他们的设备问题。

哪些情况最适合手动测试?

在某些特定的情况下,手动测试具有明显的优势。

 因为目前人类的适应性远远超过自动化,在较短的测试周期中,手工测试带来了明显的好处。与简单地设置自动化测试相比,人类通常可以在更短的时间内完成测试的设置、执行和分析。

 手动测试也非常适合于测试团队验证更新后的软件是否解决了先前存在的问题。

 最后,手工测试是测试早期产品原型最合理的方法。如果原型是在产品开发周期的早期,那么使用自动化测试可能没有什么太高价值,因为产品在准备发布之前可能会发生重大变化。

哪些情况最适合自动化测试?

在几种情况下,自动化测试是唯一明智的选择。

回归测试是自动化优先于手动测试的一个明显领域。如果您想在新软件版本中反复运行相同的测试,特别是在复杂的产品上,自动回归测试有助于确保产品的特性和功能没有被破坏。

自动化测试也是加快产品上市的关键。它可以发现更多的错误,并且比手动测试更快。它是持续集成与开发(CI/CD)过程的重要组成部分。

如果直接报告对您的开发团队来说至关重要,那么自动化测试提供的细节和深度是手动测试人员触不可及的。

最后,它是消除可能威胁品牌声誉重要测试的理想解决方案。

组合测试何时最合适?

组合测试(手动测试+自动测试)在实际测试中已经变得越来越普遍,因为它提供了一种两全其美的方法。即使是支持手动测试的怀疑论者也能看到人机混合的好处。

有些场景根本无法实现100%自动化覆盖,因此人工输入仍然是必不可少的环节。即使人工智能(AI)和机器学习技术不断进步,但它们也是需要在数据模型上运行,而这些通常是人类使用手动测试来构建的,在学习了测试需求和过程之后,自动化才开始接管。

如果某些步骤很难实现自动化,组合测试也特别有效。自动化完成了它能做的所有测试,然后工程师在测试过程结束时运行所需的手动测试。

通过组合测试也可以获得更快的投资回报(尽管从长期来看,它们未必是最好的投资回报率)。

继续升温的自动化测试

由于一系列的挑战,包括自动化测试过程的困难、开发可预测性,可重用的测试环境,以及缺乏熟练的测试自动化操作员等,测试活动的自动化程度目前仍然低于20%。根据凯捷资讯说法,这已成为“企业成熟测试”的头号瓶颈。

然而,毫无疑问,自动化测试仍然能够为利用其潜力的企业提供非常显著的优势。

集成自动化测试是在充满挑战的市场中创造和加强竞争优势的关键步骤。未来几年,人工智能将继续使自动化变得更加容易和有效。因此,投资自动化测试是一项长期的决定,而且将会获得可观的回报。