做兼容性测试的原因:
Android,iOS版本多,API在不同版本上的行为不一致,系统机制发生变化。Android定制Rom多,系统函数和机制被修改,系统参数差异,比如默认堆大小。硬件差异,GPU太差影响卡顿和渲染,屏幕尺寸,分辨率不同影响UI布局,相关的传感器硬件差异。
兼容性不好造成的问题:
App安装不上,App crash,业务流程中断,尺寸错乱,告警和报错,卡顿,相应慢,花屏,黑屏,白屏等。
Android 设备组合:
android版本覆盖:4.4 ,6.x,8.x,9.x,10.x,11x
手机厂商定制Rom覆盖:华为,小米,OPPO,VIVO,三星,魅族等
典型机型覆盖:从用户数据中提取
典型分辨率:可用模拟器代替
iOS设备组合:
iOS版本覆盖:9.x ~ 13.x
典型机型覆盖:iPad,iPhone
典型分辨率:常见分辨率,刘海屏,可用模拟器代替
模拟器可以用来做UI,分辨率的测试,真机用来测试定制ROM的兼容性测试。
ROM是由英文Read only Memory的首字母构成的,意为只读存储器。顾名思义,就是这样的存储器只能读,不能像RAM一样可以随时读和写。手机ROM指的是存放手机固件代码的存储器(常说的刷机也就是指的是重新构建自己想要的ROM),比如手机的操作系统、一些应用程序如游戏等。手机ROM主要指的是手机内部可存储资料、程序、文档的空间,如果有不足的,可通过SD卡,mmd卡等外置卡解决文档存量需求。 而手机RAM主要是指手机的内存,主要针对手机软件运行所需要的缓存堆栈,一般对手机的运行速度有直接的影响。
兼容性测试一般的流程:

测试环节可以用monkey工具或者Appcrawler来完成。

也可以使用第三方兼容性测试平台,例如腾讯的WeTest。需要上传直接可登录的App安装包,挑选想测试的机型,例如top100机型。完成测试之后,WeTest会生成兼容型测试报告:
首先是测试结论,包含测试机型的数据,适配结果的分布,不兼容问题的分布,测试失败的原因,和适配结果。

第二部分是设备详情,列出了所有测试设备,并分成适配失败的机型和适配通过的机型:

点击每个设备的测试详情页面,能看到测试的数据和截图:

最后是性能报告,统计了安装耗时的分布图,启动耗时的分布图,cpu使用率分布图,内存占用分布图,流量使用分布图:

性能测试数据:

可以使用Jenkins的STF插件or 节点来设计兼容性测试的策略,要求每个case要在每个设备上都执行一遍
网友评论