随着图像处理技术的进步,目前市面上的自动化框架有很多已经可以较好的支持基于切图的控制、断言(比如 Airtest \Skuli 等)。
但 UI 切图理应和功能逻辑解耦,否则测试维护的工作量会及其巨大,也不利于分层开发。
而功能逻辑层的测试最优选择就是基于元素 - 属性的测试。
就带来一个问题,移动端 APP 的设计质量参差不齐,测试端如何建立对开发的自动化准入要求?
可从以下角度切入:
- UI-layout,结构树的命名标准和规范(没有规范管理的页面结构树对自动化测试会产生严重的阻塞)
- 定制快速操作的 API(如自定义 adb 命令进行复杂设置操作、或者读取参数)
- 定制化的测试 client 服务: 如方便实时读取 log 和系统参数、给测试业务定制的 jar/apk
- 账户测试的万能验证码
- 接口测试的虚拟服务器,模拟关键的云端环境和测试场景
- 针对多语种文言的快速遍历测试设计(而不是重开发一套多语种 case 后重新测试)
etc.
以上抛转引玉,如有先驱,请不吝分享经验和细节。谢谢。
↙↙↙阅读原文可查看相关链接,并与作者交流