作为一名测试人员,如何平衡手工和自动化测试,是一道绕不过去的课题。不可否认,自动化测试具有提高效率,加快回归速度并因此有助于及时交付项目的好处。但是,在考虑自动化之前,我们应该评估一些要点,至少我们要知道以下几个方面自动化测试工具暂时还无法完成∶
1、 可用性测试- 是根据应用程序的难易程度来测试应用程序。这是为了测试应用程序与将要使用它的用户之间的交互性,这些测试无法自动执行。
2、 UI和UX测试-UI 和UX测试不能自动进行,即使您要尝试也只能在一定程度上进行,自动化脚本可以用来测试布局,css错误和html结构,但不能提供整个用户体验自动,因为它非常主观。
3、 探索性测试-塞姆·坎纳( Cem Kaner)于1984年创造了该术语,将探索性测试定义为:“一种软件测试风格,强调个体测试人员的个人自由和责任,以通过对待与测试相关的学习来不断优化其工作质量。这个也是自动化无法完成的。”
4、 临时测试- 这完全是计划外的测试,依赖于测试人员的洞察力和方法。没有准备好进行此测试的脚本,必须手动执行。
虽然手动测试有自动化测试无法替代的地方,但是不可否认自动化测试的优点:
1)、 回归测试 – 回归案例大部分是重复的,我们可以将它们自动化一次并及时执行。
2)、 负载测试 – 在负载测试的情况下,自动化非常有用。负载测试可识别各种工作负载下系统中的瓶颈,并检查负载逐渐增加时系统如何做出反应,这可以通过自动化来实现。
3)、 性能测试- 性能测试定义为一种软件测试,用于确保软件应用程序在预期的工作负载下能否正常运行。在这种类型的测试中,自动化非常有用。
一方面自动化测试有这么多优点,一方面自动化测试又不能完全取代手工测试?那我们在开始自动化测试之前,就要好好考虑以下三个问题:
- 哪些需要自动化?
首先让我们考虑一下到底需要自动化什么。在这里,“精确”是指“需求” /“功能” /“应用”的哪一部分是寻求自动化的候选人。通常将要自动化的应用程序称为AUT(被测应用程序)。很有可能中间一部分功能可以自动化,而其余功能可以手动测试,这就需要深入研究该功能,测试用例和所需的工作。
- 为什么要自动化?
这个非常重要。为什么需要自动化?是否因为它减少了工作量并提高了效率?还是因为它将长期受益?还是只是常规?这是一次性的要求,将来永远不会出现吗?自动化解决方案是否复杂?时间有限制吗?等等,这些决定自动化测试的因素一定要考虑好。
3.如何进行自动化?
在确定了要做自动化测试之后,接下来就是要想清楚如何进行自动化,就是指找到解决方案。比如针对AUT自动化?如果您要使整个应用程序或一个小功能实现自动化,就不要将其与AUT或功能混淆;因为对于小型应用程序,我们并不需要完整的自动化框架。还有就是自动化工具的选择,市面上有各种可用的自动化测试工具,它们不需要编码就可以解决需求。
基于以上内容,仅手动测试或仅自动化测试都不是正确的方法,只要两者之间保持平衡,才是王道。
学习安排上
如果你不想再体验一次学习时找不到资料,没人解答问题,坚持几天便放弃的感受的话,在这里我给大家分享一些自动化测试的学习资源,希望能给你前进的路上带来帮助。
视频文档获取方式:
这份文档和视频资料,对于想从事【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!以上均可以分享,点下方小卡片进群即可自行领取。