Testing 自动测试总是赢?

Testing 自动测试总是赢?,testing,automation,Testing,Automation,我正在读这一页: 和其他几页相比,就用户性而言,与手动测试相比,自动测试似乎是赢家。我不知道情况是否如此?测试专家能分享他们的想法吗?谢谢。是和否。自动测试是良好软件开发的重要组成部分。每个开发人员都应该使用它。单元测试,集成测试,功能测试。。。使用它们!他们将使你的软件更好!那是肯定的 另一方面,人工测试会让你的软件变得更糟吗?不因此,如果合适,让用户测试您的软件。用户体验是什么?你的软件容易使用吗?它是否符合用户的期望 这两种测试(自动测试和手动测试)都将帮助您改进代码。为您的项目找到合适

我正在读这一页:


和其他几页相比,就用户性而言,与手动测试相比,自动测试似乎是赢家。我不知道情况是否如此?测试专家能分享他们的想法吗?谢谢。

是和否。自动测试是良好软件开发的重要组成部分。每个开发人员都应该使用它。单元测试,集成测试,功能测试。。。使用它们!他们将使你的软件更好!那是肯定的

另一方面,人工测试会让你的软件变得更糟吗?不因此,如果合适,让用户测试您的软件。用户体验是什么?你的软件容易使用吗?它是否符合用户的期望


这两种测试(自动测试和手动测试)都将帮助您改进代码。为您的项目找到合适的组合。

是和否。自动测试是良好软件开发的重要组成部分。每个开发人员都应该使用它。单元测试,集成测试,功能测试。。。使用它们!他们将使你的软件更好!那是肯定的

另一方面,人工测试会让你的软件变得更糟吗?不因此,如果合适,让用户测试您的软件。用户体验是什么?你的软件容易使用吗?它是否符合用户的期望


这两种测试(自动测试和手动测试)都将帮助您改进代码。为您的项目找到合适的组合。

链接中提供的自动测试的所有优点都足够准确,尽管我会在每个优点中添加“…如果正确完成”。设计或实现拙劣的自动化测试可能会导致完全相反的结果(我已经看到了以下所有情况!):

  • 由于准确性差,需要花费时间和金钱进行故障排除或维护——例如,如果测试经常因时间变化或测试环境中未正确考虑的变化而失败,或者如果测试依赖于某些未记录的行为,而这些行为后来会发生变化
  • 减少测试覆盖率-如果开发人员过于依赖自动化测试,而没有花时间考虑如何最好地执行他们正在处理的特定代码(“我正在修复一个涉及X和Y之间交互的错误,因此如果我运行X的单元测试和Y的单元测试,这涵盖了所有内容!”)
  • 忽略了手动测试可以做的事情——例如,自动化测试的好处和坏处在于它每次都做同样的事情。手动测试中的人为因素(时间变化、意外鼠标点击或打字、改变做事顺序、关注可用性)可以发现自动测试可能会遗漏的问题
  • 伤害团队士气-如果不惜一切代价通过脆弱的自动化测试,会使人们的注意力从实际确保系统按预期工作转移开

这就是说,明智地设计和实现自动化测试绝对是一个好处。我认为,自动化和手动测试的合理组合通常比“所有的自动化,所有的时间”都要好。一些特别复杂的一次性测试可能无法证明将其自动化以在以后重新运行所需的额外时间和成本是合理的。而且,除非您的自动化非常全面,否则手动测试中固有的变化总是提供一些额外的信心,并有可能发现自动化测试程序可能没有遇到的问题。

链接中为自动化测试提供的所有优势都足够准确,虽然我会在每一个上面加上“…如果做得好”。设计或实现拙劣的自动化测试可能会导致完全相反的结果(我已经看到了以下所有情况!):

  • 由于准确性差,需要花费时间和金钱进行故障排除或维护——例如,如果测试经常因时间变化或测试环境中未正确考虑的变化而失败,或者如果测试依赖于某些未记录的行为,而这些行为后来会发生变化
  • 减少测试覆盖率-如果开发人员过于依赖自动化测试,而没有花时间考虑如何最好地执行他们正在处理的特定代码(“我正在修复一个涉及X和Y之间交互的错误,因此如果我运行X的单元测试和Y的单元测试,这涵盖了所有内容!”)
  • 忽略了手动测试可以做的事情——例如,自动化测试的好处和坏处在于它每次都做同样的事情。手动测试中的人为因素(时间变化、意外鼠标点击或打字、改变做事顺序、关注可用性)可以发现自动测试可能会遗漏的问题
  • 伤害团队士气-如果不惜一切代价通过脆弱的自动化测试,会使人们的注意力从实际确保系统按预期工作转移开

这就是说,明智地设计和实现自动化测试绝对是一个好处。我认为,自动化和手动测试的合理组合通常比“所有的自动化,所有的时间”都要好。一些特别复杂的一次性测试可能无法证明将其自动化以在以后重新运行所需的额外时间和成本是合理的。而且除非你的自动化是非常全面的,否则手动测试中固有的变化总是提供一些额外的信心,并有可能发现自动化测试过程可能没有遇到的事情。

我认为这是完全错误的。自动化测试永远无法像摇滚明星黑拳击手那样进行探索性测试。此外,使用手动测试仪也不会带来维护方面的麻烦,误报的频率也会大大降低。自动化太棒了,别误会我。但是我想要自动售货机的原因