每个测试都可以通过自动化完成吗?

软件测试 自动化测试
2022-01-12 13:02:01

每个测试都可以通过自动化完成吗?

或者有什么是自动化无法完成的?

4个回答

不。

你不能自动化一切。

  • 你不能自动化人们对你的软件的反应(情绪)。
  • 你不能自动化你没有想到的事情。(嗯?嗯?)
  • 您无法自动化用户从一个功能到另一个功能的思维模式。
  • 您无法运行“有趣因素”指标(适用于游戏而不是企业软件,但仍然如此。)

这只是在 2 分钟内。我敢肯定我还能想出几十个。

我认为在不考虑您实际要测试的内容的情况下尝试使所有事情自动化是一种可怕的(但不幸的是很常见)的做法。

我的标准是你应该自动化 100% 应该自动化的测试弄清楚哪些测试要自动化(或不自动化)是困难的部分。测试人员经常浪费时间尝试自动化不应该自动化的东西,而其他人则浪费时间手动测试应该自动化的东西。

我个人的试金石是无聊。我将无聊的东西自动化,并用我的大脑来测试我感兴趣的东西。当然,也有例外,但这对我来说效果很好。

不,有几种类型的测试自动化是无用的。

  • 自动化测试在探索性测试中毫无意义。此类测试的主要思想是探索发现错误的功能,以偏离标准的用户故事。
  • 安全测试主要是手动的。虽然可以在那里使用测试脚本(例如,使用 SQL 或 XPATH 注入测试输入字段可能包含字符串),但重点是分析程序并破解它,仅使用自动化工具很难做到这一点。
  • 可用性测试不能仅通过自动化测试来执行。可以使用工具收集有关程序使用方式的数据。然而,这里的另一种技术是用户调查,或采访,以及用户观察,这不能通过运行测试程序来完成。

我想为“自动化测试在探索性测试中毫无意义”添加一个方面。

我可以想象一些场景,我想探索一些东西,让我们说当我一遍又一遍地执行功能八小时时程序的行为。或某些工作流程。

在这种情况下,手动探索将太耗时。所以我可能会考虑编写一些自动化测试来帮助我跟进该任务。

因此,我永远不会说“自动化”对 ET 没有帮助,但通常(总是?)它取决于背后的背景。