测试基础 UI 自动化可测性标准和准入规范讨论

TatamiHermit · 2019年12月18日 · 1359 次阅读

随着图像处理技术的进步,目前市面上的自动化框架有很多已经可以较好的支持基于切图的控制、断言(比如 Airtest \Skuli 等)。
但 UI 切图理应和功能逻辑解耦,否则测试维护的工作量会及其巨大,也不利于分层开发。
而功能逻辑层的测试最优选择就是基于元素 - 属性的测试。

就带来一个问题,移动端 APP 的设计质量参差不齐,测试端如何建立对开发的自动化准入要求?
可从以下角度切入:

  1. UI-layout,结构树的命名标准和规范(没有规范管理的页面结构树对自动化测试会产生严重的阻塞)
  2. 定制快速操作的 API(如自定义 adb 命令进行复杂设置操作、或者读取参数)
  3. 定制化的测试 client 服务: 如方便实时读取 log 和系统参数、给测试业务定制的 jar/apk
  4. 账户测试的万能验证码
  5. 接口测试的虚拟服务器,模拟关键的云端环境和测试场景
  6. 针对多语种文言的快速遍历测试设计(而不是重开发一套多语种 case 后重新测试) etc.

以上抛转引玉,如有先驱,请不吝分享经验和细节。谢谢。

共收到 4 条回复 时间 点赞

仅仅是 UI 的话,没啥建议,我做的不多。。。如果已经进行分层自动化测试了,UI 搞起来应该不难,这么规范的测试,一般没有易测性这种技术债的。

基于图像的话,如果产品运营稳定的话 ,UI 频繁大改动用户会不会流失 , UI 应该只是小改动不会短期内频繁更改,个人觉得有一定维护量,但不会很大

匿名 #1 · 2019年12月18日

有几个点说到了,比如万能验证码,adb 快速接口,总体感觉说的应该是理想情况。不确定楼主是否实际中也按照这个执行了,真按这个的话,容易让别人感觉测试自动化测试而测试。现在 UI 自动化是伪命题,目前整个行业没有一家做的比较好的,或者收益好的。不管是录制回放,控件,图像识别,还是两者结合,或者 存坐标系的。后端接口全部录制后 Mock,最后图像断言的,都很一般吧。

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册