Android端2016年9月系统使用以及兼容测试
来源:互联网 发布:简约主义 知乎 编辑:程序博客网 时间:2024/05/16 15:41
移动终端的碎片化使测试者为了保障不同平台及版本、不同网络制式、不同分辨率和机型都有很好的用户体验面临巨大挑战,兼容性测试也占据着日常测试任务中很高的比例。在本章节中,我们介绍下Baidu QA在兼容性测试方面的一些基础建设和平台化工作。
9月安卓系统市场的占有率
据Softpedia报道,近日谷歌官方刚刚放出了9月安卓系统市场的占有率,根据报告整体来说,Android系统的碎片化问题依然非常严重。
目前Andriod系统各个版本排序依旧保持不变:
Android Lollipop(5.0、5.1)棒棒糖版本以35%的占比位列第一;
Android Kitkat(4.4.X)奇巧版以27.7%位列第二;
Android Marshmallow (6.0) 棉花糖系统终于有了不错的成绩,占有率在持续增长,从上个月的15.2%增长到18.7%,同比增长3.5%,位列第三;
Android Jelly Bean(4.1.X-4.3)果冻豆掉落至第四。
而在这次的数据中,谷歌并没有放入Android Nougat 牛轧糖(7.0)系统的数据,主要是由于这款系统并没有放出太长时间,估计连0.1%都占不到。
牛轧糖7.0还没升级!7.1已经发布了
Google在8月推出Android 7.0系统,国内用户还没来得及吃上这“牛轧糖”,10月4日,Android 7.1随最新设备于Google新品发布会上正式对外发布。同时,本次发布会Google还发布了Pixel/Pixel XL手机、Daydream ViewVR头盔、语音助手Google Assistant和Google WiFi四款产品。
开发人员针对iOS系统开发应用时,不需要考虑太多的设备。至今为止,苹果只推出了15种iOS设备,而且在所有iOS设备的用户中,95%都在使用苹果最新的iOS 6系统,这也是吸引开发人员更喜欢为iOS设备开发应用的重要原因之一。很多开发者只需要一个人,就能够对所有iOS设备进行兼容性测试。
然而,这对Android开发者却是个无休止的痛。
Android由于其免费开源性质,众多手机厂商拿到Android内核后,可以在各式各样不同的硬件平台上搭载自己改造的Android系统,虽然是基于Android的,但是已经不再是原来的Android了,手机厂商对Android系统经过各种改造,就会变成众多独立的Android,这个就是Android的碎片化,由于经过厂商改造的Android系统运行的环境完全不同,哪怕是搭载完全相同的硬件,不同品牌的手机在运行速度、软件兼容上都会有区别的。
更糟糕的是屏幕尺寸的碎片化问题。苹果只要求开发人员针对4种不同尺寸的屏幕优化应用。而安卓设备的尺寸多达几十种。所有想针对安卓开发应用的开发人员都要针对几十种不同尺寸、不同分辨率的设备屏幕进行优化。但是这还不是所有问题,更严重的是,由于HTC和三星等大型手机生产商都使用各自的定制UI,而这些定制UI会改变安卓底层UI的默认图像元素,这意味着开发人员不仅需要针对原生安卓系统优化应用,还要针对HTC的Sense和三星的TouchWiz等定制UI对应用进行优化。
谈到苹果,我们不得不说一下三星。在三星所销售出的所有的设备中,50%使用安卓系统。但是即使一个开发人员真针对三星的设备开发应用,他仍然需要针对数十种不同的三星设备优化应用。三星的设备中,一些是智能手机、一些是平板电脑、一些使用了TouchWiz UI、一些却使用的原生安卓UI、一些设备搭载了最新的安卓版本、一些设备还在使用Gingerbread。任何开发人员看到这个状况都会精神崩溃。
简单来说,就是开发者写个程序,需要各种版本,各种分辨率大小屏幕的问题,既要旗舰级的手机使用,也要二三百的低端机能打开。
安卓君能解决碎片化的问题吗?
答曰:不能。
不管怎么样,Android的碎片化问题已基本判定无解。那么面对如此挑战的开发者和测试者,该如何保证产品在不同平台及版本、不同网络制式、不同分辨率和机型都有很好的用户体验呢?
兼容性测试基础
兼容性测试是指测试软件在特定的硬件产台上、不同的应用软件之间、不同的操作系统平台上、不同的网络等环境中是否能很好地运行的测试。
兼容性指标及重要性
那么,根据上面的情况,在移动开发中兼容性测试常常需要涉及到到品牌机型、ROM、芯片、屏幕分辨率、软件、版本、网络、地域等等众多维度。
更具体的说,这些维度需要考虑到以下这些指标:
系统兼容指标
重要性
品牌机型兼容
根据市场占有率、发布时间等指标对主流、最新机型进行重点兼容
A
ROM兼容
需兼容原生的ROM(2.1、2.2、2.3、4.0、4.1、4.2);第三方ROM(小米、百度易、点心、魅族、阿里云……)
A
芯片兼容
需兼容MTK平台、高通平台和Intel X86平台
B
屏幕兼容
需兼容HVGA、VGA、WVGA、FWVGA、720p、1080p屏幕分辨率,并考虑不同PPI的情况
A
软件兼容
安全类软件(百度手机管家、360优化大师、360安全卫士、QQ手机管家、安卓优化大师、网秦、LBE),输入法软件(系统自带、Sogou、百度)
A
版本兼容
服务器端需要兼容产品早期版本所需的API接口
A
网络兼容
WiFi、3大运营商的2G和3G网络,需区分WAP和NET接入
A
地域兼容
重大版本及涉及定位模块变更的版本,需经过一线城市的外场测试(北京、上海、广州、深圳)
B
如何进行兼容性测试?
通过人工或者自动化的方式,在需要覆盖到的终端上进行功能性测试,并观测性能、稳定性等其他非功能属性。
兼容性测试,首先我们面临的问题就是测试机的选择。选择时要注意手机的许多参数,比如:操作系统,操作系统版本,分辨率,手机生产厂家等。现在中国主流的操作系统主要是iOS&Android(魅族的操作系统算Android,windowsPhone的系统先忽略)。现在中国主流的操作系统主要是iOS&Android(魅族的操作系统算Android,windowsPhone的系统先忽略)。现在操作系统应该覆盖的版本是ios6/7/8/9/10&Android4/5/6也许有的公司还有特殊需求。分辨率就是iPhone4--iPhone7的所有分辨率再加上一些Android机的某些不规范的分辨率。手机生产厂家那大概要有一个分级机制,苹果机自然是需要最多的,之后三星,华为,小米是第一梯队,魅族,vivo,oppo,联想等是第二梯队,之后是Coolpad,朵唯,中兴,华硕,锤子等是第三梯队。
传统的兼容性测试中,需要开发者自备设备,并通过自动化调度或者人工的方式进行测试。这其中涉及的购买真机、部署运维的成本相对较高。
- Android端2016年9月系统使用以及兼容测试
- Android兼容测试无从下手?
- AndroidUiAutomator使用Jenkins搭建持续集成测试系统Ⅰ—Android UiAutomator以及快速编译方法
- android的adb命令使用以及测试
- Android SDK兼容设备测试
- Android调用系统相册、拍照以及裁剪最简单的实现(兼容7.0)
- Android使用系统签名以及安装
- 2017年3月24日,周结(五),学生信息管理系统继续改进以及一些框架的使用
- Mer系统兼容Android系统(二)
- Mer系统兼容Android系统(三)
- Android调用系统相机,兼容7.0系统
- android提高webview兼容以及富文本编辑器RichEditor的使用总结
- Vector版本兼容以及简单使用
- Android多分辨率分析和兼容测试
- 使用android-86做android开发测试系统
- android 兼容包(可兼容低版本系统)
- android 兼容包(可兼容低版本系统)
- Android手机获取相机权限终极大招(兼容国产手机小米华为魅族以及6.0以下系统)
- 深入理解图形上下文
- swift_014(Swift 的控制流)
- 类的成员变量 声明顺序 决定 初始化顺序(构造函数初始化列表不影响)
- 一个清华学子写的关于directshow的学习心得【转】
- Mysql的使用-windows解压缩版配置的安装
- Android端2016年9月系统使用以及兼容测试
- SAP 在途库存与中转库存
- MD5加密代码
- 一起学Netty(三)之 SimpleChannelInboundHandler
- Volley简单使用一
- vs下编译程序常见几个错误解决方案
- Core Data级联删除规则
- 《高性能网站建设指南》学习笔记
- 2016年中国大学生程序设计竞赛(杭州) F Four Operations(暴力枚举)