霍格沃兹测试开发学社
07-07 · 北京测吧
安卓稳定性测试该怎么落地?(三)
06 一份方案的诊断学员打开了屏幕共享,展示自己写的稳定性测试方案。方案里写了:用Monkey做随机遍历,用UIAutomator2 做固定路径覆盖,监控崩溃、丢帧、GC、交互响应等指标。“你这里有个问题,”老师指着屏幕说,“Monkey确实能跑,但它有个致命缺点——覆盖面不够 。”“对!”学员说,“我们的应用页面层级很深,Monkey很难点到深层页面,覆盖率上不去。”“是的,Monkey是纯随机事件,对复杂的业务场景基本无能为力。市面上也有一些自动遍历工具,比如Fastbot、AppCrawler,但它们的适用场景也有局限。”“那怎么办?”学员问。“要么你们自研一套基于深度遍历的工具,要么——用数据驱动 。”老师接着说:“你们可以做埋点采集,拿到用户的真实操作轨迹,然后转成自动化用例。用户怎么点,你就怎么测。这个比你自己拍脑袋想的路径要真实得多。”“埋点……我刚来两周,不太清楚公司埋了哪些信息。”“可以去找产品和研发要,APM的数据通常都会埋。埋点越精细,你越能知道用户真实是怎么操作的。很多用户的操作是反人类的——进去就退出、狂点、杀后台……这些你自己是想不出来的。”这其实就是“基于用户行为的稳定性测试”,比盲目的Monkey高效得多。07 性能指标怎么拿?工具链怎么串?“老师,还有两个实操问题。”“第一个,我怎么用脚本把30多个自研应用的启动时间、帧率这些指标批量跑出来?总不可能手工一个一个测吧?”“第二个,Monkey这种工具,跑完之后的结果怎么自动生成报告?我不想手工分析log。”老师笑了:“这些问题都不难解决。”“性能指标这块,启动时间、渲染性能、GPU占用……市面上都有现成的工具。比如adb shell am start -W 可以拿启动时间,GPUView 或一些开源工具可以看渲染性能。你完全可以把这些命令封装到Python脚本里,一次性跑完所有应用,把数据收集起来。”“报告这块,Airtest本身就集成了报告能力。Monkey跑完后,你也可以写个脚本解析log,把崩溃、ANR、异常抓出来,生成HTML报告。这些都不是难事。”学员听得眼睛亮了:“那就是说,我可以串起来?”“对,Python可以做胶水语言。调用adb命令、启动Monkey、解析结果、发报告——一套流程跑下来。”
发布于 北京
分享
评论
赞
未登录
友善发言
评论
加载中
下载脉脉APP,成就职业梦想
违法不良信息&未成年人有害信息举报电话/客服电话:400 065 0808
违法不良信息&未成年人有害信息举报邮箱/客服邮箱:maimai@taou.com
清朗系列专项行动相关违规信息举报电话:400 065 0808,举报邮箱:maimai@taou.com
个人/企业等被诽谤侮辱、人身权或知识产权等被侵犯、网络谣言的举报地址:maimai.cn/tousu | 涉企虚假不实信息举报投诉专区
京ICP备12005786号-1copyright©maimai.cn