使用手动测试,您不需要购买软件自动化工具或编写脚本。
自动化测试是机器人的,不一定像一个真正的用户。另一方面,手动测试允许开发程序像发射时一样被使用。当用户以某种方式处理程序时,可能出现的任何错误都更有可能在手动测试中被捕获。
可以改变课程的东西(功能、GUI等)对于该项目,您希望能够立即进行工作。自动化测试需要更多的时间来设置,这不允许您快速、轻松地测试想法。
发布于 2016-09-08 10:35:31
想象一下,您正在工作的环境中,新特性迅速出现,并且每隔几个小时就会构建一次。每个新特性都有可能破坏系统某些部分中的某些内容。
您没有时间每天手动进行完全回归测试,因此投资于一个自动化套件来执行回归测试是一个明智的想法,而您需要对这个特定的新特性/想法进行手动测试。
理论上,您可以通过雇用更多的测试人员来获得更好的结果,这些测试人员将手动进行所有的回归,而且它实际上可以提供更好的“测试”,但这将是非常低效和昂贵的。
因此,自动化测试并不比手工测试“更好”,它只是比手工测试更高效。
发布于 2016-09-08 10:29:18
我认为最合适的答案是它取决于。
使用手动测试,您可以随时在运行时临时编写和调整测试,并查看意外情况并处理好它们。
在自动化测试中,脚本将只完成他们被编程要做的事情。它们不会处理意外情况或AUT (在测试下的应用程序)的任何更改。
是的,你不需要购买自动化工具,但这不仅仅限于手工测试。有许多开放源码工具,您可以使用这些工具来自动化测试。因此,对于自动化测试,您也不必购买工具。
是的,你必须写剧本,而且你必须擅长它。剧本不会自己思考和即兴发挥。您必须善于提出正确的要求和逻辑,并为它们编写脚本。
你真的需要了解什么是可以自动化的,什么是不能实现的,你需要弄清楚它是否真正值得为AUT实现自动化。如果一个项目是一个小项目,并且不会有许多维护和重复或连续的开发周期,那么投资于自动化将不会给您带来任何好处,因为编写自动化脚本需要在计划、技能、时间和调试方面付出很大的努力。但是,如果项目很大,并且分为几个阶段,并且有连续的发布周期,那么您可能需要考虑回归的自动化测试。随着每一个版本,您的软件将更新新的功能,错误修复和更新。此时,您可能需要进行回归测试,以确保软件的现有模块没有受到阻碍,并且功能运行良好。在这里,手工测试会变得非常繁忙。
是的,开发自动化脚本可能会占用大量的时间,但是一旦开发出来,它们将节省测试执行的时间。但是,您还需要不时地更新测试脚本,以检查新的条件。
除此之外,如果你真的看到,没有自动化测试这样的东西。是的,您编写了一些脚本,它将执行AUT并产生一些结果。但这不可能独自发生。你会写剧本的。你将做所有的思考,并提出它的逻辑。一旦脚本准备好,您将告诉计算机或任何设备,它将执行脚本,它将简单地遵循您的指示。一旦脚本执行完成,您将分析结果并确定其中是否有任何问题或它们是正确的。然后你会得到他们的问题清单,并报告给合适的人修理。因此,没有任何事情发生在它自己,因此它不自动暗示它的实际手动测试!
发布于 2016-09-08 12:09:50
很短的版本-这取决于
根据您正在进行的测试类型,某种形式的自动化可能是最好的选择,它可能是帮助您设置来执行手动测试的方法,或者可能比根本不进行测试更糟糕。或者在这两个极端之间的任何地方。
计算机非常擅长做同样的事情,而且速度比人类快很多倍。如果测试任务需要重复多次,每次都以完全相同的方式执行,并且/或在短时间内做很多事情,那么自动化测试可能是比手动测试更好的选择。
人们非常善于识别异常和识别模式。如果测试任务需要模式识别,检查一些不容易编码到单个正确的甲骨文中的东西(例如屏幕看起来是否正确),手动测试可能是比自动测试更好的选择。
对于介于两者之间的每一件事,都取决于投资回报。如果您有一个成熟的自动化框架,使添加新测试变得简单,并且修改现有的测试变得简单(因为您不必在自动化代码中的数百个地方更改内容),那么您可能会在可能/合理的情况下更倾向于自动化测试。
此外,还有大量的自动化辅助任务经常发生,例如:
我使用的一些启发式方法是:
这绝不是一个全面的清单,但它是一个起点。
https://sqa.stackexchange.com/questions/22476
复制相似问题