monkey、遍历、功能测试想必大家都不陌生,monkey 随机性强能够发现隐藏的问题但是随机性强,不可控,效率低;遍历流程可控,但是往往需要较高的时间成本编写维护相关脚本。MQC 在自动化测试领域耕耘多年,在充分吸取各种测试方式优点的情况下,为兼容性测试打造了全新的测试工具 Ripper。  我们将与大家分享 MQC 是如何利用现有的数据来提升测试效率;如何智能化的操作 App;如何有效的去定位 bug。

一、应用质量 & 开发速度

大多数公司在 App 开发的同时往往有三方面的考虑,时间成本、开发成本、失败成本。

•与时间赛跑
•开发成本
•失败成本

二、测试现状 & 痛点

人工测试

•重复性工作多,测试速度慢
•需要关注的点多,QA 成本高

自动化功能测试

•变化快,需要经常性修改,维护成本高
•流程重复,难以发现 crash
•用例失败原因往往是脚本或是设置问题

三.兼容性测试工具

兼容性测试 Monkey

•动作不可控,覆盖程度低
•测试耗时长
•开发定位问题困难

兼容性测试 遍历

•提高检测覆盖度
•缺少具体的业务场景
•缺少问题定位

兼容性测试 ripper

•更多的动作:多指操作 (缩放)、连击、中文输入
•精确控制,高并发,测试效率高
•Perftool
•场景

四、兼容性测试能力对比

为了对比 Ripper 与 monkey 的测试效果,我们编写了一个包含各种控件(viewpager、listview、fragment、imageview 等等)的属性页面结构 App。

image

image

image

五、兼容性测试特点

image

image
•Anr
   KeyDispatchTimeout
•IllegalStateException
   Fragment already added
  50 ~ 200ms

六、兼容性测试弱场景

image

•控件(语义、类型)
•弹窗

七、兼容性测试 功能场景

•为数十万 app 提供测试服务
•数百万页面
•缩放,连击
•视频切换,方向切换
•登录,注册,反馈
•快速遍历

image

八、兼容性测试 问题复现与定位

无法复现的 bug 是没有价值的。相信大家常常会因为无法定位问题、复现问题而无法有效修复 bug,MQC 在测试 App 质量的同时提供了 Crash 定位、Crash 解决方案来辅助开发修复 bug。

image

九、兼容性测试 解决方案

image

十、兼容性测试 畅想


↙↙↙阅读原文可查看相关链接,并与作者交流