移动端UI自动化随谈

一些观点:

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自动化,无非就是查找元素、操作元素或设备、验证结果。这三个步骤循环多次,就是一个用例。

但要用好,并产出能效,需要走的路其实很长。

你可能感兴趣的:(移动端UI自动化随谈)