monkey、遍历、功能测试想必大家都不陌生,monkey随机性强能够发现隐藏的问题但是随机性强,不可控,效率低;遍历流程可控,但是往往需要较高的时间成本编写维护相关脚本。MQC在自动化测试领域耕耘多年,在充分吸取各种测试方式优点的情况下,为兼容性测试打造了全新的测试工具Ripper。 我们将与大家分享MQC是如何利用现有的数据来提升测试效率;如何智能化的操作App;如何有效的去定位bug。
一、应用质量 & 开发速度
大多数公司在App开发的同时往往有三方面的考虑,时间成本、开发成本、失败成本。
•与时间赛跑
•开发成本
•失败成本
二、测试现状 & 痛点
人工测试
•重复性工作多,测试速度慢
•需要关注的点多,QA成本高
自动化功能测试
•变化快,需要经常性修改,维护成本高
•流程重复,难以发现crash
•用例失败原因往往是脚本或是设置问题
三.兼容性测试工具
兼容性测试Monkey
•动作不可控,覆盖程度低
•测试耗时长
•开发定位问题困难
兼容性测试 遍历
•提高检测覆盖度
•缺少具体的业务场景
•缺少问题定位
兼容性测试 ripper
•更多的动作:多指操作(缩放)、连击、中文输入
•精确控制,高并发,测试效率高
•Perftool
•场景
四、兼容性测试能力对比
为了对比Ripper与monkey 的测试效果,我们编写了一个包含各种控件(viewpager、listview、fragment、imageview等等)的属性页面结构App。
五、兼容性测试特点
•Anr
KeyDispatchTimeout
•IllegalStateException
Fragment already added
50 ~ 200ms
六、兼容性测试弱场景
•控件(语义、类型)
•弹窗
七、兼容性测试 功能场景
•为数十万app提供测试服务
•数百万页面
•缩放,连击
•视频切换,方向切换
•登录,注册,反馈
•快速遍历
八、兼容性测试 问题复现与定位
无法复现的bug是没有价值的。相信大家常常会因为无法定位问题、复现问题而无法有效修复bug,MQC在测试App质量的同时提供了Crash定位、Crash解决方案来辅助开发修复bug。
九、兼容性测试 解决方案
十、兼容性测试 畅想
- 业务场景测试(金融、社交、购物),定制化的测试工具
- 测试环境模拟(弱网、低电量、gps)
- Ui 问题自动化检测