1、老张的求知思考世界《为什么你做了很多无效的自动化》有感
一、自动化最大的价值
很多同学认为自动化最大的价值在于:面试或者KPI
二、为什么会出现此状况
1、国内敏捷迭代的速度很快,时间有限
管理者认为别人有的我们也必须有,测试人员可能是为了赶KPI,各方都没有想清楚自动化的本质是什么,没有时间去做真正的自动化测试思考和设计
2、组织上的割裂
几年前,功能的做功能,自动化的做自动化,自动化测试由于不是很了解业务因此做的很浅,比如只校验到状态码或者只检查success这样的关键字就结束,没有太大价值
3、测试人员技能单一
大势所趋,会些许自动化,可是代码能力不足,花了好久写的测试代码,Bug比研发的Bug还多,本来是为了提高工作效率,到头来要测试2个系统的Bug,很尬
4、认知误区
1)自动化测试可以替代手工测试:一揽子自动化测试方案,可以减少测试人员的数量,降本
2)自动化测试可以发现很多Bug
三、自动化本质
1、逐步减少重复劳动,增加对于测试设计的思考时间,更好的优化工作结构
2、提高工作效率,用于回归测试场景,有更多时间去设计异常场景和复杂场景,整体交付发现更多Bug来提升质量,自动化测试本身发现不了很多Bug
四、怎么做更好
1、改变认知
1)自动化无用或者过度依赖自动化,这两种极端,都需要改变
2)自动化本身只是工具而已,最终还是要从业务本身出发,内核驱动是个人的设计思考能力,所有的自动化场景设计运行都需要在控制之中
3)两条腿走路,业务和技术都要抓,最终落脚点是个人的综合素质而不是单纯的某个技术,机械的引入技术平台,形成内耗反而适得其反
2、自动化测试框架或者平台的选型
1)成熟的测试框架或者免费开源的测试平台很多,选择一个自己团队适用的
2)目前很多公司选择了测试平台,因为测试框架维护成本还是比较高的
3)目前市面上免费的测试平台:itestwork、metersphere都可以使用
任何一个团队对于新事物的接受都需要一个过程,首先要取决于新事物是不是确实优秀,有没有经过充分考验;
团队的认知不会都处于一条水平线,都有适应期和学习期,实际落地的效益需要时间证明
3、少数技术能力强的同学做框架或者平台的维护,自动化用例由对应业务测试人员完成
1)专职的测试开发团队4-5人,一年时间开发了接口测试平台,人力成本200万,做的东西不如开源的稳定
2)自动化用例应该由对应业务测试人员自己去完成,对于平台或者框架的维护改造可以由技术能力强的同学去完成,一个团队配置1-2个足以
4、回到业务场景本身
1)注重测试的场景化设计,回归到质量本身,固话重复劳动,形成自动化
2)有的同学在业务理解很浅的情况下去对框架做更多的技术设计,这样的技术设计并非能真的带来业务上的价值