移动测试基础 关于 Android 和 iOS 兼容性环境的搭建

water · 2014年12月25日 · 最后由 思寒_seveniruby 回复于 2014年12月25日 · 2260 次阅读

背景:
我们准备在下一年度开始做本地兼容性测试环境的搭建,由于我们 App 对环境的特殊性需求,云端测试无法满足我们的要求,因此考虑在本地搭建我们自己的兼容性测试环境。

现在问题来了,怎么样合理科学地搭建这套环境呢?

鄙人对于这一方面没什么经验,初步考虑是对于主流热门产品和 OS 版本购买真机放到机房来构建,其他的采用模拟器/仿真机的形式来实现。网上的说法是兼容性主要考虑两个方面:不同的 OS 版本以及不同手机分辨率。

想请教下各位大神,对于兼容性环境的搭建有没有什么好的建议和思路?

测试系统我们已经买了一个测试管理软件,对于自动化实现运行、案例管理、设备管理这个软件已经可以实现。现在主要是想要搭建一个兼容性测试的实验室,所有的机型和系统都采购一遍肯定不现实,我想问问有没有其他的解决方案? 例如 Chrome Emulator 可以很好地进行 html 版本的兼容性测试,有没有类似的工具可以方便地测试 App 版本的兼容性?
另外,对于硬件/虚拟机的兼容性实验室搭建,也想听听经验人士的建议。

如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
共收到 18 条回复 时间 点赞

我也想知道。。。可能今后我也需要做兼容性测试。。。老大让写兼容性测试脚本。完全没概念。Mark 下来等答案

其实就是实验室。那么首先你们对于这个实验室的要求是什么?然后你说的搭建是说系统搭建,还是说问问机器怎么采购?

water #16 · 2014年12月25日 Author

#2 楼 @monkey 测试系统我们已经买了一个测试管理软件,对于自动化实现运行、案例管理、设备管理这个软件已经可以实现。现在主要是想要搭建一个兼容性测试的实验室,所有的机型和系统都采购一遍肯定不现实,我想问问有没有其他的解决方案? 例如 Chrome Emulator 可以很好地进行 html 版本的兼容性测试,有没有类似的工具可以方便地测试 App 版本的兼容性?
另外,对于硬件/虚拟机的兼容性实验室搭建,也想听听经验人士的建议。

water #15 · 2014年12月25日 Author

#2 楼 @monkey 另外刚刚研究了下 Android CTS,好像只是针对整个 Android 系统与 Google 系统的兼容性啥的~对我们 App 应用好像作用不大,还没深一步研究。

#4 楼 @weamylady 嗯啊。。CTS 是系统模块的,不是针对 app 的,但是 cts 可以修改之后作为 app 测试用例的调度框架。

#3 楼 @weamylady 一般实验室的话,其实就是走真机的,移动目前的情况还是很单纯的,如果你系统有了。接下来就是怎么过滤机器了。一般虚拟机是不走的,原因是走了也仅仅是参考效果。。。

water #12 · 2014年12月25日 Author

#6 楼 @monkey 如果是真机的话,机器的过滤、选择我认为就不是我这边决定的了,这得由市场、需求人员以及领导来决定~

water #11 · 2014年12月25日 Author

#6 楼 @monkey CTS 修改后作为 app 测试用例框架倒是蛮有趣的,有时间分享分享呗

#7 楼 @weamylady 嗯。一般都是真机的。现在的测试只有真机上面的效果为准啦

@weamylady 添加个头像呗。 对于建立这种实验室,第一个要求就是需要有资产管理系统。血的教训。

#10 楼 @lihuazhang 修改头像要到 gravata,我这里被限制访问不了这个地址 TAT
我们肯定有资产管理系统的,还有一个部门是干这个的~ ~

#11 楼 @weamylady 可以自己传头像。 嗯,资产管理系统最好能开放接口给你的实验室。

#12 楼 @lihuazhang 恩,搞定咯____^

#10 楼 @lihuazhang 这块的坑不是一般的大啊.

我在新秀群和行业人脉群分享了今年 TestDroid 发布的那个如何搭建测试实验室的文档. 你可以参考下.
主要是如下几个方面的管理工作要做好

测试管理平台

appium calabash robotium 都有不错的管理框架了. 可以用起来.
这些框架本身都不太稳定. 所以还需要自己稍微完善下.
另外就是测试用例的下发,结果的收集之类的. 细节的工作非常多.

测试设备管理

市面上的设备你需要知道如何去挑选才能做好的覆盖.

设备的兼容性主要是分几个维度.
UI 兼容性问题
硬件兼容性问题
软件兼容性问题

UI 兼容性问题大部分是布局不合理导致的. 屏幕尺寸不同, 很多开发考虑的较少. 所以不同分辨率的设备最好买齐.
h5 的兼容性测试一部分基本可以通过小 A 提到的方法去测试. 简单有效.

硬件的兼容性问题就太多了, 主要是跟硬件的 CPU GPU MEM 等几个因素强相关. 这方面需要有个合理的覆盖.
CPU 和 GPU 的型号存在很多类型, 这也是决定手机价格的一个因素. 这部分数据很难收集, 貌似目前只有 Testin 有相对全面的数据.
GPU 对游戏的影响较大, 游戏的关键区域会出现丢帧, 纹理渲染不理想, 颜色变化等.
CPU 影响运行速度甚至是运行特性, 位数的差异需要特别关注.
CPU 的型号不太多, 只有六七种. 但是 GPU 的型号非常多. 如果不是开发游戏, GPU 可以稍微忽略.
MEM 和磁卡大小会影响运行稳定性和安装卸载的一些问题
其他的一些硬件也会偶尔影响.

大部分的设别都不会按照理想状态工作, 总会出现各种问题, 比如磁盘满, wifi 信号不稳定, 内存占用导致的不稳定 OOM, 安装卸载终端导致的环境不干净 电池烧掉等等. 除非你们设别少, 不然这个管理成本还是不小的.
设备多了, 问题也会逐渐增多.

所以给你的建议是, 先不要搞太多设备, 但是设备的覆盖要足够优良.
更多的设备仍然使用云测服务.

#14 楼 @seveniruby 非常感谢!
管理平台的问题不大,硬件的覆盖度我觉得那几个维度也是个参考,但还是要考虑按照用户覆盖度。

#15 楼 @weamylady 恩, 忘记说了, 用户覆盖度的确是很重要的.

使用真机进行 兼容性测试的确很重要,我现在面临的问题是 如何 说服我们领导去采购需要的设备,毕竟采购的成本还是比较高的

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