摘要:一般的兼容性测试以版本迭代为周期、在产品测试阶段以及上线验证阶段进行。在此规范中将详细说明我们的规范形成依据,以及在此基础上的详细分析和对应的兼容性测试规范,包括如下方面:(1)需要进行兼容性测试的机型;(2)需要进行兼容性测试的项目种类;(2)进行兼容性测试设计的项目阶段;(3)兼容性测试计划的设计和创建;(4)兼容性测试用例设计;(5)兼容性测试计划执行。此规范每三个月将更新一次。
1 兼容性测试规范背景
在不同的操作系统、不同的生产厂家、不同的机型系列、设备分辨率、网络环境、用户行为习惯的差异性等的影响下,进行美团点评APP测试时需要全面覆盖兼容性测试点,完善测试方法。针对产品业务特点和测试需求,设计此兼容性测试规范。
此规范主要目的是尽量减少项目中兼容性测试需求的不确定性,提高兼容性测试设计的效率。
2 兼容性测试周期
确认兼容性测试周期主要根据以下两个方面进行考量:
(1)项目发布前端页面修改;
(2)APP平台方出现前端架构或组件的发版。
兼容性测试以版本迭代为周期,在产品测试阶段(兼容性测试的主要时间段)以及上线验证阶段进行。
3 用户数据分析和设备筛选
通过统计产品用户入口的数据,分析涉及的数据包括android各机型分布表、ios各机型分布表、android各版本分布表、ios各版本分布表、android各型号系统版本分布表、ios各型号系统版本分布表。
以安卓系统的用户数据为例,由于用户机型分散、厂家众多,先对设备厂家进行分类筛选,主流的厂家有OPPO、VIVO、小米、华为,取各厂家设备的UV占比排名靠前的机型共28种,占用户设备总量的37%,具体数据见表1。 为了尽量覆盖到不同系列的不同机型,尽可能覆盖各种机型分辨率,通过筛选留下11台设备作为测试机,具体机型信息见表2,占用户设备总量的18%。这方面我们考虑尽量over占比靠前的几个大厂家的机型和对应占比靠前的安卓手机操作系统版本。
IOS系统涉及的生产厂家仅苹果公司一家,只针对设备的不同型号和不同版本进行筛选即可,选取UV占比排名靠前的机型共8种,占用户设备总量的93%,见表3。结合IOS版本分布和各型号的分辨率,筛选留下6台设备作为测试机,占用户设备总量的87%见表4。
表1 Android初筛机型表
厂家品牌 | 序号 | 系列和型号 | UV | UV占比 | 系统版本号 | 推荐指数 |
opp | 1 | OPPO R9s | 186829 | 4% | 6.0.1 | ** |
2 | OPPO R11 | 155666 | 3% | 7.1.1 | ** | |
3 | OPPO R9m | 125941 | 2% | 5.1 | * | |
4 | OPPO A59s | 75287 | 1% | 5.1 | ** | |
5 | OPPO R9sk | 74621 | 1% | 6.0.1 | * | |
6 | OPPO R9s Plus | 70862 | 1% | 6.0.1 | * | |
vivo | 7 | vivo X9 | 172097 | 3% | 7.1.1 | ** |
8 | vivo X7 | 121711 | 2% | 5.1.1 | ** | |
9 | vivo X20A | 74945 | 1% | 7.1.1 | * | |
小米 | 10 | MI 6 | 87581 | 2% | 7.1.1 | ** |
11 | MI 5 | 63055 | 1% | 7 | * | |
12 | Redmi Note 4X | 60283 | 1% | 7 | ** | |
13 | Redmi Note 3 | 40551 | 1% | 5.0.2 | * | |
14 | Redmi Note 4 | 34598 | 1% | 6 | * | |
华为 | 15 | mate9 | 94987 | 2% | 7 | ** |
16 | 荣耀V9 | 52303 | 1% | 7 | * | |
17 | 荣耀8 | 51545 | 1% | 7 | ** | |
18 | mate8全网通 | 51259 | 1% | 7 | * | |
19 | P10 | 49923 | 1% | 7 | ** | |
20 | 荣耀9 | 42929 | 1% | 7 | * | |
21 | P9全网通 | 40378 | 1% | 7 | * | |
22 | P10 Plus | 35110 | 1% | 7 | ** | |
23 | 麦芒5 | 33582 | 1% | 6 | * | |
24 | 荣耀8 | 30402 | 1% | 6 | * | |
25 | 荣耀8青春版 | 30009 | 1% | 7 | * | |
26 | 华为畅玩6X | 29696 | 1% | 7 | * | |
27 | nova全网通 | 29470 | 1% | 7 | * | |
三星 | 28 | GALAXY S7 edge | 43554 | 1% | 7 | * |
表2 Android系统测试机机型
序号 | 测试机型号 | 操作系统版本 | 分辨率 | |
1 | OPPO | OPPO R9s | 6.0.1 | 1920*1080 |
2 | OPPO R11 | 7.1.1 | 1920*1080 | |
3 | OPPO A59s | 5.1 | 1280*720 | |
4 | VIVO | vivo X9 | 7.1.1 | 1920*1080 |
5 | vivo X7 | 5.1.1 | 1920*1080 | |
6 | 小米 | MI 6 | 7.1.1 | 1920*1080 |
7 | Redmi Note 4X | 7 | 1920*1080 | |
8 | 华为 | mate9 | 7 | 1920*1080 |
9 | 荣耀8 | 7 | 1920*1080 | |
10 | P10 | 7 | 1920*1080 | |
11 | P10 Plus | 7 | 2560*1440 |
备注:测试机型对应在初筛机型表中有标红
表3 IOS初筛机型表
系列和型号 | UV | UV占比 | 系统版本号 | 推荐指数 |
iPhone 6 | 658806 | 17% | 10.3.3/10.3.2/10.2.1 | ** |
iPhone 6s | 620935 | 16% | 10.3.3 | ** |
iPhone 7 Plus | 536668 | 16% | 11.1.2/11.0.3/11.1.1/11.2 | ** |
iPhone 6s Plus | 521564 | 14% | 11.1.2/10.3.3 | ** |
iPhone 7 | 479891 | 13% | 11.1.2/10.2 | ** |
iPhone 6 Plus | 426763 | 11% | 10.3.3 | ** |
iPhone 8 Plus | 123133 | 3% | 11.1.1 | * |
iPhone 5s | 120907 | 3% | 10.3.3 | * |
备注:各型号手机的系统版本号按照该机型的UV占比排序,取热度最高的版本作为测试版本
表4 IOS系统测试机机型
序号 | 测试机型号 | 操作系统版本 | 分辨率 |
1 | iPhone 6 | 10.3.3 | 1334*750 |
2 | iPhone 6s | 10.3.3 | 1334*750 |
3 | iPhone 7 Plus | 11.1.2 | 1920*1080 |
4 | iPhone 6s Plus | 11.1.2 | 1920*1080 |
5 | iPhone 7 | 11.1.2 | 1334*750 |
6 | iPhone 6 Plus | 10.3.3 | 1920*1080 |
备注:测试机型对应在初筛机型表中有标红
4 兼容性测试计划设计和执行
兼容性测试计划的设计、制定和执行的标准及方法如下:
(1) 需要进行兼容性测试的项目种类包括:
a.仅涉及前端页面的修改
b.涉及前端页面和后端接口的修改
(2)执行兼容性测试设计的项目阶段:
分析需求之后进行兼容性测试设计,在项目上线前功能测试之后执行兼容性测试。
(3)兼容性测试计划的设计和创建
这里创建一个兼容性测试计划,并用创建好的测试计划关联创建的需求。
(4)兼容性测试用例设计
根据筛选的测试机机型设计测试用例条数
(5)兼容性测试计划执行
执行该测试计划下关联的测试用例,并记录执行结果,是否通过,是否有Block,未通过的原因及详情。
5 规范更新的频率
考虑到个体用户换手机对大体状况影响不会太大,因此每三个月或半年向BI组提数据需求一次,分析数据并更新测试机型。
6 最新统计测试机和现有测试机的差异
描述当前统计的测试机型和已有的测试机型的差异