APP兼容性测试,在于需要覆盖不同的android系统版本、不同的手机品牌和型号、不同的分辨率。
当然,这是表面的原因,不是具体影响的内容。
通过我们的实际经验,我们发现,兼容性测试的几个难点是:
第一,app的安装和授权。
第二,app对象在不同手机上的变化。
第三,安全键盘和字体导致的差异。
我们先看app的安装。
当我们去安装一个app,我们知道,不同的手机采用了不同的安装安全控制策略。比如,简单的会询问安全来源是否允许,复杂的需要输入当前手机的pin来允许安装。
当我们使用自动化脚本来安装,就需要识别不同手机对安全控制的处理,反映在界面上,就是要动态识别安装时候弹出的各种询问处理、密码输入等情况。
实际上,复杂的情况是,当系统弹出需要输入pin的界面的时候,出于安全性的考虑,自动化测试工具却无法识别、无法“发现”这个界面,对于自动化测试工具来说,就是“一片黑暗”,就是什么都没有。因此,这种情况下,是无法实现自动化安装的。
所以,总结一句话,所谓一个脚本能够实现所有手机的自动化测试,都是耍流氓。你需要手工去安装APP给这些特殊的手机。具体是哪些型号,就不点名了。
再看授权。
当安装完成,第一次启动app,会怎么样?会弹出很多授权窗口,需要你来允许访问。这个授权窗口的弹出,跟APP其实是没有关系的(也有一点,就是app需要申请什么样的权限),于是就又回到了跟安装类似的问题,这时候,需要处理的不是应用处理的脚本,而是各个手机授权的脚本,一样的不一定能够99.99%的自动化处理。
所以,我们重复一下,说写一个脚本就能够完成所有的操作,无需人工干预的,就是耍流氓,不,是欺骗客户。
当然,自动化的处理,能够完成80%以上的情况,还有5%-20%是难以处理的,因为会遇到各种情况,特别是手机开发厂商处于安全的考虑,不允许识别屏幕对象,不允许镜像屏幕的时候。
推荐阅读: