自动化测试是工作了3年测试人员逃不掉的砍,除非你不想做自动化;
但是如果你逃脱了,你真的认为你自己就摆脱了,甚至是觉得自己赢了吗?
看了一眼市场,但凡有个1年工作经验的,也需要有自动化经验了;
说了那么多,就问你慌不慌?
兄弟,该慌了,别总是那么镇定!
该努力了啊~~~
说句心里话,测试人员在面对残酷现实“随着软件版本的敏捷迭代、测试计划(时间)已经评估好的情况下项目组总是压缩测试时间、点点点真的让自己很累而且效率真的很低还不讨好”,我也替伤心替你流泪替你忧愁;
面对困难,就需要思索“为什么总是觉得测试的效率提升不了?自己是否真的适应不了大环境下的敏捷迭代?工作3年了,还只会点点点,能在测试之路混到头吗 ?产出比一直很低,下一个被赶走的会不会轮到自己?”
来,静下心来聊一聊自动化测试;
点击查看《关于自动化适配的落地方案》
字不多,挺简短~
自动化的定义:以工具或脚本模拟人工执行被测系统的业务功能的过程和结果。
-
自动化的优势
1、批量构造测试所需数据
2、高效回归测试,速度快到按秒来计算
3、以某版本测试时间10天计算,每个版本迭代,可以节约至少2个工作日(剩下的时间用来喝茶散步,不香吗?)
4、可以把被项目组压缩的时间赶回来
5、如果你努力一点,可以通过python+git+jenkins,实现“定时触发、持续测试”【夜深人静的时候,自动运行脚本,跑完了自动发送《自动化测试报告》】
6、可以前置构造测试数据,规避(不必要地)因bug修复后发版等因素阻塞测试;
7、把在web操作消耗约20分钟,缩短至20秒;
8、可以绕过阻塞,提前构造测试数据;–这点实际上也是缺点。 -
自动化的劣势
1、投入成本(时间、编码能力)比较高
2、版本较频繁时,不适宜开展自动化
3、仅有部分被测系统适合做自动化
4、流水线型的自动化,做起来会很累人,代码维护成本还很高,虽然实施了自动化,但有种“吃力不讨好”的感觉 -
自动化的误区
1、自动化是为了发现bug。 >>是为了加快回归效率
2、被测系统可以100%实现自动化 >>一般实现整个被测系统(case)的30%
3、自动化落地后可以释放软件测试人员 >>离不开测试人员,因为自动化脚本就是人工编写的
4、所有系统都可以做自动化>>业务功能型、流程类比较适合 -
实施自动化的时机
1、较稳定的版本,通常可以在当次版本编写上一个版本的自动化脚本
2、较成熟的自动化框架基础之上,落地更多被测模块的业务功能,这样能减少人力成本的时间和精力消耗
3、单元、接口、UI自动化之间,更偏向于推荐接口自动化
4、仅对主流程接口实施接口自动化
5、在基础版本(V2.0)追加版本(v2.1)或追加定制化功能(譬如:a、b、c等)时,使用自动化可以实现30秒急速验证追加版本或追加定制化功能满足预期需求且相互兼容;