Automated tests QA手动测试是否失效?

Automated tests QA手动测试是否失效?,automated-tests,Automated Tests,我可以自动化所有类型的测试(单元测试等),这样我就不需要QA团队来进行手动测试了吗?如果没有,为什么?只要人类使用您的产品,黑盒测试就永远不会消失。人类识别“正在发生的奇怪事情”的能力是无可替代的 我可以自动化所有类型的测试(单元测试等),这样我就不需要QA团队来进行手动测试了吗 没有 如果没有,为什么 并非所有技术/测试都适用于自动化 除此之外,如果自动测试代码是由编写要测试的代码的同一个人编写的,那么测试可能缺少一些要验证的重要方面(但原始开发人员没有检测到) 没有 你的QA可以是一个较小的

我可以自动化所有类型的测试(单元测试等),这样我就不需要QA团队来进行手动测试了吗?如果没有,为什么?

只要人类使用您的产品,黑盒测试就永远不会消失。人类识别“正在发生的奇怪事情”的能力是无可替代的

我可以自动化所有类型的测试(单元测试等),这样我就不需要QA团队来进行手动测试了吗

没有

如果没有,为什么

并非所有技术/测试都适用于自动化

除此之外,如果自动测试代码是由编写要测试的代码的同一个人编写的,那么测试可能缺少一些要验证的重要方面(但原始开发人员没有检测到)

没有

你的QA可以是一个较小的团队,他们的目的是发现意想不到的事情。他们以用户可能采用的方式使用系统。以程序员意想不到的方式

一旦他们发现了什么,你就编写一个自动测试,这样他们就不需要重复了。但你仍然需要他们来找到那些案子

更不用说,他们会发现诸如打字错误、UI的可用性问题、难以阅读的颜色组合等问题。不


并不是所有的东西都可以通过自动化测试来测试。请不要这样建议!用户界面美学是QA团队应该帮助您解决的问题,而自动化测试无法解决。举个例子。

Vista体验的一个原因是微软减少了“纯人类”测试人员的数量,取而代之的是编写脚本的测试人员程序员


当然,脚本没有注意到一些事情,比如当您深入控制面板时,各种不同的主题,或者复制估计对话框或其他使整个产品看起来很糟糕的“次要”gui功能,自动化测试只与测试一样好。理论上,如果您可以为用户与您的系统进行的每个潜在交互编写一个测试,那么手动测试将过时。然而,这根本不实际


良好的测试将减少QA团队所需的手动测试量,但不会消除它。此外,良好的自动化测试有助于避免手动重新测试问题,因为一旦发现问题,就可以开发良好的测试来自动处理未来的特定场景。

我总结如下:

  • 自动测试用于查找您知道的问题(错误代码)

  • 手动测试用于查找您不知道的问题(不正确的设计/规格)


如果使用手动测试来查找代码的问题,则效率低下。如果您使用自动测试来发现设计问题,那是不可原谅的。

绝对不是。自动测试是代码。他们可能有自己的bug,这些bug会掩盖AUT中的bug。此外,没有自动测试能够询问“如果我这样做怎么办?”,或者能够对故障最可能发生的位置进行有根据的猜测。自动探索性测试不存在


在机械方面,编写一个只运行一次的自动化测试通常也是低效的。如果手动进行测试比开发测试花费的时间少,那么自动化测试是一种浪费。

手动QA,更常见的称为Blackbox QA,远未消亡

诚然,单元测试和通用自动化测试至少可以覆盖90%的代码路径测试。许多人没有意识到的是,最后一本10%的手册可能是软硬件组织能够完成的最重要的工作

让我们以用户界面为例。单元测试可以告诉您复选框放置在正确的位置,并按预期打开和关闭。测试无法告诉您的是,它的位图非常糟糕,并且在应用程序中使用了可怕的紫色和黄色配色方案,看起来非常糟糕

Blackbox QA最重要的原因是,您最终在组织内部拥有强大的客户拥护者。这些QA人员(包括我自己)中的许多人都有创作背景,而不是编程背景。虽然有些人可能认为这是一个失败,但这些人并不关心代码如何工作——他们关心产品如何工作。他们花时间像客户一样思考,而不是像开发人员一样思考;“哦,我的iPod已经完成同步,这意味着我可以关闭笔记本电脑,让它充电。是的,然后当我的电脑处于睡眠状态时(即使我正在电脑上播放音乐),我会把它拔出来,一切都会好起来的。”

开发人员和测试人员都知道产品应该如何工作,并且都按照规范来操作产品。一个好的测试人员的工作就是粗心大意地使用产品,以确保坏东西不会发生。当你复制数据时,从电脑上猛拉一个USB驱动器,你疯了吗?!?当然,这真是个愚蠢的主意。但人们总是这样做。一个好的QA人员会做到这一点,以确保拉动硬盘不会导致整个系统停机。或者在下载电影时关闭WiFi,或者在购买新内容时同步音乐,然后同时更改帐户密码和电子邮件地址。或者在MP3播放器上安装操作系统并尝试从中引导,然后在从设备引导时从系统中拉出播放器(是的,我这样做了,并从中发现了一个非常好的bug)

Joel on Software比我更雄辩地说了“为什么QA”-

Bec自动化主要用于回归测试,而不是所有测试用例

手动测试是常青树


临时测试和探索性测试应仅使用手动进行

忽略手动测试将导致您错过自动化无法捕获的重要错误。真实世界的测试需要r