这篇文章主要思考和总结近年来自动化测试过程中的一些问题,何时自动化、如何自动化或如何自动化我们的测试工作。
为什么要进行自动化测试?1、在我们的日常测试工作中,新的需求或修复缺陷经常被引入,那么如何确定新的需求的添加或缺陷的修复没有在原有功能中引入新的缺陷呢?
我认为有必要测试原功能,以确保原功能正常。
因此,我们是否需要手动测试每次修复bug或添加新需求时的所有功能?你还需要手动测试,没有更多的成本、资源、时间,但是它的效果能满足要求吗?
我认为在这个时候,对自动化测试的需求已经来了,在我们的日常测试工作中,有很多回归测试需要我们进行自动化。
2.在我们的日常测试中,老板会不会对你说:对我们的系统压测下,看看性能怎么样?
一般来说,对于大多数软件测试人员来说,大多数人都会收到这样的工作要求,无论他们是否具备这种技术能力。
那怎样对系统进行压测呢?我觉得肯定不是让你喊很多人来一起点点点,因为靠人力做是不现实的。
因此,有必要自动化你的压测工作。
3. 这种情况在日常测试中经常面临吗?随着后端服务接口不断升级,UI不再发生重大变化,UI自动化测试在这个时候变得有价值。
同样,在项目的初中阶段,UI也在不断变化,但核心业务界面已经初步稳定,此时是引入界面级自动化测试的好时机。
根据更新频率等情况,在不同的技术层次上,我们可以把它自动化,以提高效率,提高质量。
自动化测试工作必然需要成本投入,也有各种风险。以下是一些总结。
什么是自动化测试的风险?在有些场景下,测试过程中可能会用得到自动化测试。如果你确实有自动化的想法,那在这之前,你需要思考以下问题:
- 你有专业的自动化团队吗?
- 自动化测试成本很高
- 对UI自动化进行慎重处理
- 自动化测试工作是否需要足够稳定的系统
- 可以实现100%自动化吗?
- 不要自动化一次性工作
- 你选择的自动化场景生命周期够长吗?
1.你有专业的自动化测试团队吗?
如果打算发展自动化测试,前提是团队要有足够的技术进行自动化测试,如果没有,团队成员需要快速掌握相应的技术。
如果你可以组建一个专业的自动化团队,那么你可以考虑开展自动化测试。
2.自动化测试成本很高。
不可否认,手工测试的成本也很高,特别是对于高质量的手工测试人才,但是如果你认为自动化测试可以代替手工测试,以降低成本,我建议你慎重思考。
从以下几个方面体现了自动化测试的成本:
采购自动化工具 引进或培养人才 自动化测试脚本的维护 实施和推广自动化测试
由于投入了大量的人力、时间、资源,许多进行自动化测试的团队对其自动化成果感到遗憾,因此,他们只得到了一堆基本的自动化脚本或一个好看的测试工具。
如果是这样的结果,自动化的目的是什么?
3.对UI自动化测试进行慎重处理。
UI级自动化测试前,应仔细选择业务场景,特别是避免可能的大面积UI更新场景,否则自动化测试脚本的维护成本会非常高。
因此,对于UI级自动化测试,人们通常只关注自动化最核心的业务流程,或者最典型的用户业务场景,或者关注功能模块。
4.自动化测试工作是否需要足够稳定的系统?
我认为自动化测试不需要等到系统足够稳定。
当然,前提是团队有足够强的技术技能,可以从源代码级或数据级别开始规划,设计自动化测试解决方案。
5.可以实现100%自动化吗?
只能说,不要做梦,如果你们都能100%,那么手工测试怎样才能发挥点点点的功力呢?当然,“100%”有机会在性能测试、回归测试、负载压力测试等领域实现。
6.不要自动化一次性工作。
对于一次性的测试工作,不要把它自动化,这太浪费了。
7.你选择的自动化场景的生命周期够长吗?
如果自动化场景的生命周期不长,请不要自动化它。建立自动化的一个基本标准是很大程度的降低成本。
最后欢迎大家加入我们下方的软件测试交流群,群里都是学测试的,如果你想学或者正在学习测试,欢迎你加入,大家都是测试党,不定期分享干货(只有软件测试相关的),包括我自己整理的一份2022最新的Python自动化测试进阶资料和零基础教学,欢迎进阶中和对测试感兴趣的小伙伴加入!