移动端兼容测试,就是需要APP、小程序、H5应用,能够适配正常运行在不同分辨率、不同品牌、不同操作系统上。
首先,我们来分析一下系统、分辨率、品牌对兼容性测试的影响:
系统
因为安卓系统各个版本操作系统的底层实现会发生改变,因此容易出现如果使用了这些底层细微差异的api,出现不一致的情况。
比如,各个不同操作系统的组件实现方式不同,导致属性不一样,布局方式的改变。也由于对于容器和容器的层实现不同,导致出现的问题。
这些问题,主要跟应用系统使用了特定的技术,出现差异有关。但是,某个应用使用了“边界差异“技术,预先是难以获知的,因此需要来通过操作系统覆盖来实现。
分辨率
分辨率对显示的影响很大。但是还有一个值,叫做“显示密度“。比如,两个屏幕的分辨率相同,但是一个是6.5寸屏幕,一个是4.5寸屏幕,如果显示密度相同,那么大屏上出来的字会很小,但是间隔很大,不好看,因此会内部设置显示密度。
如果分辨率和显示密度的配合不合理,就会出现某些应用的界面显示不全的问题,但是应用程序本身是无法发现的,因为局部界面显示在“虚拟“屏幕上,就是不出现在物理屏幕上。
此外,由于分辨率不同,自适应的应用程序也容易出现布局问题,特别是H5应用程序上面。
界面元素比较少的小程序,影响不会很大。但是对于界面元素比较“拥挤“的,也会产生兼容性问题。APP跟小程序类似。
品牌
品牌影响主要是:
字体
自定义UI的实现
先说字体。目前各个品牌的手机,都使用了自己的,或者特定的字体,如果想要修改字体,就需要root,这个就等于破坏了原有手机的显示设置,在这样前提下的兼容测试没有意义。字体就会有不同的间距,矢量点阵。
字体的变化,对于人工测试没有影响,但是对于使用自动化来做兼容测试,就影响很大。
自定义UI的实现,这个其实跟操作系统升级的影响是类似的。操作系统的升级,对应用程序的影响,包括UI从层面的,就体现在这里,可能比操作系统更重要;UI之外,对操作系统的兼容更重要。
影响因素说完了,下面我们来讲一下各种兼容性测试的比较。首先我们要排除手工来测试,那么就剩下通过程序来测试了。
01 测试种类
Monkey测试
自动遍历测试/深度遍历测试
测试用例的兼容测试
特点和适用性
类似于盲人使用手机,胡乱输入、点击
依赖于遍历算法,但是校验能力很差
根据应用的测试用例编写测试脚本来进行测试
适用性
更适用“负载测试“,就是运行很久来发现系统是不是存在内存泄漏等问题,对兼容性测试,可以说毫无意义。
就是写一个程序遍历应用系统的界面功能。从实际情况来看,能够发现的问题不到10%,比monkey强一丢丢。
需要耐心编写各个界面遍历,以及每个界面如何校验以保证兼容测试可以正确检查
对分辨率
没意义
难以发现分辨率的问题
可以根据客户提供的UI页面设计框架图,对页面的对象的宽高属性比例进行校验
对页面图像图标,可通过设置图像校验点进行图像比对校验
操作系统的不同版本
能够在短时间测试针对操作系统进行大量操作,验证APP、小程序、H5应用在操作系统上运行的稳定性,发现运行过程中是否存在黑白屏、闪退、卡死问题
可验证在不同操作系统运行过程中的黑白屏、闪退、卡死问题;
能够在不同操作系统上确保APP、小程序、H5应用部分功能及业务流程的正常使用;
自动遍历会导致绝大多数的功能无法遍历到,从而出现漏测
能够在不同操作系统上确保APP、小程序、H5应用功能及业务流程的正常使用;
可获取在不同操作运行时的CPU、内存、流量、FPS性能数据;
对品牌、字体
没意义
极少涉及品牌、字体对UI页面印象的校验
可验证不同品牌、字体对APP、小程序、H5应用UI页面影响
综观对比,对于不同测试需求和产品所处的测试阶段,可以选择合适的兼容性测试方法。
对于处于开发阶段,注重功能及业务流程测试的APP、小程序、H5应用,可提供自动遍历测试发现兼容性问题,因为这个阶段应用本身不够稳定,使用通用的遍历测试,可以作为“冒烟测试”来使用。
对于刚刚开发完成,即将上线的APP、小程序、H5应用,可通过测试用例测试兼容测试,全面发现兼容性问题;
对于已然上线或者产品已进入迭代阶段的APP、小程序、H5应用,可通过Monkey测试在大量系统上验证产品的稳定性。
最后: 可以在公众号:伤心的辣条 ! 自行领取一份216页软件测试工程师面试宝典文档资料【免费的】。以及相对应的视频学习教程免费分享!,其中包括了有基础知识、Linux必备、Shell、互联网程序原理、Mysql数据库、抓包工具专题、接口测试工具、测试进阶-Python编程、Web自动化测试、APP自动化测试、接口自动化测试、测试高级持续集成、测试架构开发测试框架、性能测试、安全测试等。
现在我邀请你进入我们的软件测试学习交流群:【746506216
】,备注“入群”, 大家可以一起探讨交流软件测试,共同学习软件测试技术、面试等软件测试方方面面,还会有免费直播课,收获更多测试技巧,我们一起进阶Python自动化测试/测试开发,走向高薪之路。
喜欢软件测试的小伙伴们,如果我的博客对你有帮助、如果你喜欢我的博客内容,请 “点赞” “评论” “收藏” 一 键三连哦!
软件测试工程师自学教程:
这才是2022最精细的自动化测试自学教程,我把它刷了无数遍才上岸字节跳动,做到涨薪20K【值得自学软件测试的人刷】
接口性能测试 — 软件测试人必会618实战场景分析
软件测试工程师月薪2W以上薪资必学技能 — Python接口自动化框架封装.
美团面试真题_高级测试25K岗位面试 — 软件测试人都应该看看
测试开发之全面剖析自动化测试平台 — 软件测试人的必经之路
软件测试必会_Jmeter大厂实战 — 仅6步可实现接口自动化测试
Jmeter实战讲解案例 — 软件测试人必会