一些观点:
1、自动化实现了,就可以做到随时发布。
2、自动化覆盖率到达了,就可以不用手工测试了。
3、UI自动化是一项ROI较低的测试项。ROI: return on investment,投资回报率
等等。
真正的价值:
1. 验证逻辑而非UI
UI验证的越多,case越是不稳定,不易维护。
2. 代替大量的UI重复操作
2.1 用次数来增加价值,比如持续集成,性能监控
2.2 确保不出致命的问题,核心功能验证,比如登陆、点击查看
最大难点,成本、维护:
1. 成本控制,先核心的feature
2. 分享交流自动化遇到的坑,自我能力的提升
3. 降低维护成本的方法
3.1 代码里不要有坐标,图像识别这些。
3.2 代码里不要有sleep
3.3 代码要基于面向对象的
3.4 通过划分步骤的方式化繁为简
3.5 不要再给UI操作本身压力,比如输入文本操作,没必要用键盘来触发,直接调用enterText就行。
3.6 稳定系统:网络、手机、电脑、账号
UI自动化测试的未来:
问题:UI自动化到底应不应投入?有没有前途?
一要视具体的项目类型,比如Android手机的,因为项目相对来说比较稳定,几千个UI自动化测试用例,都能维护过来,而且通过率极高。
比如做前端应用的,迭代快,UI会经常变动的,业务逻辑却不多,那投入产出就会不对称。
二要视公司技术的战略,说虚点就是从上到下都是支持的,愿意投入,方向正确,那一定会有积极的产出。
三要视公司发展的阶段,比如创业公司,迅速上线1.0版本是首要任务,自动化是1.0上线后要考虑的。比如成长期的公司,就要考虑大量投入这方面了,为将来规模做大了做技术储备,多条产品线,就有些通用的功能可以自动化,平均成本就比较低。
别人的总结:
UI自动化是一种能力,常常无法回避。
UI自动化会给人幻觉,要看清现实与价值。
UI自动化最适合一句话,喜欢是放肆,爱是克制。而克制是UI自动化能发挥作用的关键。
写在最后:
UI自动化测试是一门学起来很简单,用起来很麻烦的测试技术。
想要入门,两周就可以了解清楚uiautomator或espresso这类工具。UI自动化,无非就是查找元素、操作元素或设备、验证结果。这三个步骤循环多次,就是一个用例。
但要用好,并产出能效,需要走的路其实很长。
网友评论