一、APP兼容性范围以及问题
1、硬件 各个硬件结构
2、软硬件之间
硬件dll库(C++)
软硬件之间的通信,各个厂商提供的ROM
3、软件
浏览器、操作系统、数据库、手机、功能兼容性(功能修改,二次开发)
要求:兼容性程度(产品定义)
兼容的方向:向下(老版本的兼容)、向上
4、app软件兼容性导致的问题
安装失败、启动失败、卸载失败,卸载不干净、
程序运行过程中闪退
部分控件显示不完整或者功能失效
屏幕显示异常
图片展示不全
5、平台类型,人数从小到大排列:云测,内测,众测
测试平台:百度云平台、testin、TA云测试平台、腾讯WeTest
二、测试策略
1、android设备众多,怎么挑选(不同类型设备)
根据现有市场占有率数据,挑选出top n款手机,溶蚀挑选部分使用较少的手机进行验证
2、同一android设备,存在多种操作系统版本,如何保证测试覆盖全面(不同操作系统版本)
测试设计过程中考虑每个版本差异,并给出差异分析报告。优先满足每款手机主流操作系统
做一些调研,当前市场各版本和品牌的使用率
3、不同设备的分辨率不同,对界面的展示效果不同,怎么进行兼容性测试(不同屏幕分辨率)
(1)与开发讨论在不同的分辨率下系统的适配方案
(2)列出重点测试的几类分辨率
(3)在主要的机型上覆盖
4、不同厂商的ROM(只读存储器)不同,app在调用过程中会出现很多不兼容问题
(1)分析各个厂商ROM存在哪些不同以及系统在使用过程中的调用方式
(2)对差异性进行评估,验证主流厂商的ROM,并分析各个版本的ROM差异
5、(不同网络类型)在不同的网络类型下,对APP的功能的影响
(1)分析不同网络类型的差异性
(2)在前后台交互过程中在不同网络下的差异,并讨论内部实现机制
(3)同时需要分析各个类型的设备在不同网络类型下的区别
6、(不同类型app)手机上安装多种APP,APP之间的兼容性问题
策略:
(1)挑选主流APP与当前APP同时运行
(2)测试多种APP之间是否有影响
三、如何测试?如何快速覆盖?
问题:
设备多
设备下的操作系统种类多
分辨率多
厂商下的ROM版本多
网络类型多种
如何快速验证覆盖?
现状:
腾讯,华为,阿里:自己的云平台
中小型公司:自己的自动化平台,快速验证,持续集成
1、手工验证
(1)指定测试策略和方向,整理测试重点
(2)针对不同的类型进行功能覆盖
缺陷:在有限的时间和人力条件下,很难达到快速验证,并且验证的覆盖面有限
2、测试神奇——自动化&持续集成
(1)覆盖APP所有界面基本功能,并编写对应的自动化测试用例
(2)搭建一套全流程自动化测试环境(自动安装软件和自动执行以及生成执行报告)
(3)机型选型(根据上述策略,覆盖不同类型下的设备信息)
(4)执行全套自动化用例,完成兼容性验证