兼容性测试策略

📋 个人简介

  •  作者简介:大家好,我是凝小飞,软件测试领域作者
  • 支持我:点赞👍+收藏⭐️+留言📝

   

一.背景介绍

       Android严重的碎片化,主要体现在品牌碎片化、设备碎片化、系统碎片化、分辨率碎片化等多方面,究其原因,由于Android系统的开放性,任何用户、开发者、OEM厂商、运营商都可以对Android进行定制,修改成他们想要的样子,导致了当今碎片化的严重性。

二.Android和ios碎片化

2.1 手机品牌的碎片化

国内外手机品牌有100多个品牌

2.2 设备碎片化

而同一品牌,各类软硬件的组成构成了不同型号设备复杂的碎片化。

2.3 系统版本的碎片化:

从2008年9月发布的Android第1版到2015年最新6.0版本,以及各大版本过程中发布的小版本和bug fix版本,目前都有不同的手机厂商在使用,或进行Android深度定制,或形成自己的ROM,这些无疑更加剧了Android操作系统严重的碎片化

三.适配问题经验

根据项目中也遇到过一些适配问题,大体分成四大类,每类问题和原因罗列如下,供大家参考。

3.1 手机平板横竖屏适配
3.2 APP的组件新增和升级适配
3.3 新Android SDK/API适配
3.4 不同机型适配(TOP/问题机型/分辨率/操作系统/)

四、项目各阶段总体适配策略

       毫无疑问,Android严重的碎片化提升了适配测试的难度,我们无法做到100%的适配测试,但可以按照不断完善的适配策略通过项目中各角色相互协同,一起努力将适配问题尽可能的减少,以便更好的提升用户体验。下图说明项目中适配测试总体策略。

       项目过程可分成以下四个阶段:需求/交互/视觉阶段、开发阶段、测试阶段、发布阶段,每个阶段都需要各负责人对适配做出明确处理。

4.1需求/交互/视觉阶段

需要需求方在BRD中做简要说明,需要交互设计师和视觉设计师在各自的交互稿和视觉稿中明确指出,哪些页面需要横竖屏适配,哪些页面需要手机和平板适配,手机和平板各自适配的样式怎样调整;

4.2开发阶段

需要开发同学对需要适配的需求点做好技术设计和coding,包括手机平板横竖屏、第三方组件新增和升级以及新Android SDK/API使用;

4.3测试阶段

需要测试分别通过白盒适配方式和机型适配方式进行有针对性的适配测试;白盒适配主要针对于开发过程中适配的代码进行测试。机型适配的基础需要一个适配的机器列表,这个机器列表按照经验通过四部分组成,包括TOP机型、OS机型、SOC/ROM机型。机型列表总结好后,就可以通过手工适配、云测平台等多种手段进行适配测试。

在每个迭代的某个时间节点,严格遵守必测的机型新功能的适配测试和核心功能的回归测试,必要时引入自动化脚本回归覆盖和引用monkey测试。

4.4发布阶段

通过众测及时发现Beta阶段的适配问题,通过灰度及时处理真实用户遇到的适配问题。

     

对于测试同学而言,需要在项目的各个阶段都关注适配问题,并给出合理的适配测试用例,并在项目过程中通过各种适配测试手段,尽可能多的发现适配问题,尽可能将适配问题出现的概率降低,实际测试根据设备的有限性尽可能覆盖。

五、Android和iosNative(api和sdk)适配策略详解

5.1.      白盒适配方式之手机横竖屏适配

       对于一个APP的页面来说最多存在四种不同的layout样式:小屏幕横屏、小屏幕竖屏、大屏幕横屏和大屏幕竖屏。小屏幕和大屏幕主要通过调用Android底层API进行区分。细分的话会存在以下几种不同的情况:

大多数页面小屏幕横屏和大屏幕横屏一样;

大多数页面小屏幕竖屏和大屏幕竖屏一样;

部分页面存在小屏幕横屏和大屏幕横屏不一样的情况,比如平板的横屏通过左右分屏展示,而手机的横屏仅仅是竖屏样式的适配,即手机横屏的左右结构不会变化。

适配策略

代码中通过Globals.java来实现,通过自定义的四种屏幕模式进行类型的判断,

再针对于不同的ScreenType选择对应的layout进行页面加载,

所以,新需求若有横竖屏修改,通过视觉稿初步判断屏幕横竖屏适配的页面来制定适配测试方案。测试过程中,可以查看开发提交的代码,对存在多套layout的页面做有针对性的适配测试。

 5.2白盒适配方式之新Android SDK/API适配

       当前在开发过程中可能存在一种情况,比如引用最新版的Android SDK中的API来实现功能,但该API在老版的SDK上可能存在不兼容的情况,导致适配问题。

根据当前APP只适配0及以上操作系统的现状,结合当前操作系统top占比情况,梳理从4.0操作系统(SDK 14版本)开始新增API的详细情况,项目中若有新API的调用,需要针对该API的特性进行适配测试。下图即是各版本新增API情况,项目中一旦有调用就要引起注意。

系统版本

系统版本

小版本

新增API

4.0.x(api14)

4.0.3 
4.0.4 

ae已不用支持2.3 
4.0相对于2.x的新特性可以不用关注 

4.1.x(api16) 

4.1.1 
4.1.2

android.annotation

4.2.x(api17) 

4.2 
4.2.1 
4.2.2 
4.2.9

android.hardware.display 
android.service.dreams 

4.3.x (18) 

4.3 
4.3.1

android.service.notification 

4.4.x(19) 

4.4 
4.4.2 
4.4.3 
4.4.4

android.graphics.pdf 
android.hardware.camera2 
android.hardware.camera2.params 
android.nfc.cardemulation 
android.print 
android.print.pdf 
android.printservice 
android.transition 

5.0.x(21) 

5.0 
5.0.0 
5.0.1 
5.0.2 

android.app.job 
android.app.usage 
android.bluetooth.le 
android.media.browse 
android.media.projection 
android.media.media.session 
android.media.tv 
android.servicie.media 
android.service.restrictions 
android.service.voice 
android.system 
android.telecom

5.1.x(22) 

5.1 
5.1.1

android.service.carrier 

6.0.x(23) 

6.0

android.app.assist 
android.hardware.fingerprint 
android.media.midi 
android.security.keystore 
android.servicie.chooser 

借助于静态扫描工具Lint/Infer对每次项目版本中API使用情况进行扫描和统计。

六、模拟器使用策略

       客户端适配测试的一个特点就是可以使用模拟器替代真机进行部分测试工作,比如模拟器可以很好的发现功能性的bug,也可以执行UI/Monkey自动化测试发现一些问题,以下是模拟器建议使用的方式,供参考。

​​​​​​​

  • 22
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
方案是为解决特定问题或达成特定目标而制定的一系列计划或步骤。它的作用是提供一种系统性的方法,以有效地应对挑战、优化流程或实现目标。以下是方案的主要作用: 问题解决: 方案的核心目标是解决问题。通过系统性的规划和执行,方案能够分析问题的根本原因,提供可行的解决方案,并引导实施过程,确保问题得到合理解决。 目标达成: 方案通常与明确的目标相关联,它提供了一种达成这些目标的计划。无论是企业战略、项目管理还是个人发展,方案的制定都有助于明确目标并提供达成目标的路径。 资源优化: 方案在设计时考虑了可用资源,以最大化其效用。通过明智的资源分配,方案可以在有限的资源条件下实现最大的效益,提高效率并减少浪费。 风险管理: 方案通常会对潜在的风险进行评估,并制定相应的风险管理策略。这有助于减轻潜在问题的影响,提高方案的可行性和可持续性。 决策支持: 方案提供了决策者所需的信息和数据,以便做出明智的决策。这种数据驱动的方法有助于减少不确定性,提高决策的准确性。 团队协作: 复杂的问题通常需要多个人的协同努力。方案提供了一个共同的框架,帮助团队成员理解各自的职责和任务,促进协作并确保整个团队朝着共同的目标努力。 监控与评估: 方案通常包括监控和评估的机制,以确保实施的有效性。通过定期的评估,可以及时调整方案,以适应变化的环境或新的挑战。 总体而言,方案的作用在于提供一种有序、有计划的方法,以解决问题、实现目标,并在实施过程中最大化资源利用和风险管理。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

凝小飞

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值