兼容性测试

兼容性测试

其实能对于我们软件测试来说,兼容性往往要比易用性的需求量要大的多。比如说我上市了一款app,那客户觉得我为什么使用某某款手机时下载安装不成功呢,或者进去之后闪退啊,或者显示功能不全啊,为什么有的按钮不能点击啊,这些大限度的流失了客户。所以呢,兼容性测试对我们测试人员来说是非常重要的

首先什么是兼容性测试?
兼容性测试简称叫做CTS,指对所有设计程序与硬件、软件之间的兼容性的测试。

一般来说呢,向我们在做一些软件,比如说是网站的时候,我们需要考虑到浏览器方面的兼容,考虑到操作系统方面的兼容,那有时候我们要做一个C/S架构的东西,一个C++的程序,那我们不仅要考虑这些,我们还要考虑它跟硬件之间的配合,跟网络之间的配合,这些都是兼容性需要考量的内容

对于我们来说呢,我们现在测试的软件大都要么web端的,要么是手机端的,所以我们就要考虑浏览器啊,操作系统啊,硬件啊,网络环境啊,这些方面能否进行比较友好的测试
“不同的网络环境:我们在兼容性测试中有一个子项叫做弱网测试,也就是说在我们的网络条件有限制的情况下,我的app也好,我的手机端的网页也好,是不是能够友好的给我们展示一些报错信息,甚至能够展示出来一部分内容这是弱网测试要达到的要求

兼容性的分类
兼容性测试
兼容性的作用
1、兼容性测试能够进一步提高产品的质量,提高用户体验
2、兼容性测试能使软件与尽可能多的其他软件‘和平共处’,尽可能达到平台无关性
也就是说我们不管把它部署在什么服务器上,不管使我们线下拉一台服务器,还是线上去找一台云服务,不管是用一台非常新的电脑,用苹果机等去访问这个网站,还是一台非常非常旧的电脑打开我的ie8来访问这个网站,都能够正常运行,这就叫平台无关性
3、兼容性测试能尽可能的保证软件的存在的价值,它可是衡量一个软件质量的重要标准
4、兼容性测试能使软件产品的市场更广阔

web兼容性测试
主要考量:
浏览器的兼容性
操作系统的兼容性(核心:window,max,iphone)
测试方法:
人工测试:测试工程师测试主流浏览器和常用操作系统测试主流程和主界面,看看主流程和主页面是否有问题
第三方工具测试:部分情况下,部分浏览器可以依赖第三方工具辅助测试

怎么去做兼容性测试?
很多时候呢,大家习惯一点就是我们把浏览器的覆盖,尤其是web中,浏览器测试覆盖的越全面越好,这样做是对的吗?我很肯定的来说没有问题,但是从测试效益上来说没有达到最高。真正我们要测试的时候,大家一定要像一个问题:就是为什么同样一个系统,同样的页面在不同的网站上,在不同的浏览器上 会呈现出不能的效果,为什么有的浏览器这个按钮可以点,到另外一个浏览器上就不可以点,这是为什么?这是源于我们浏览上的内核不同,所以呢,解析出我们浏览器前端页面也不同,才会导致一个浏览器上兼容性的错误,所以我们在考虑的时候,不是尽可能多的浏览器器覆盖,而是要从内核的角度来考虑
那我们现在的三大浏览器:
兼容性测试
我们先来分析这个三大浏览器,首先从IE的内核来说,IE的每一个大版本都会迎来一个内核上的变迁,所以从IE6.0~IE11.0这些版本我们都需要单独测试,当然这个测试是要根据项目不同来测试,如果我们的项目只需要支持到IE8以上版本,我自然就从IE8开始测试。如果一些程序有可能是要给*部门,机关部门使用,那我们需要从IE6.0开始测试
第二就是Chrome:chrome的内核相对复杂一些,chrome的内核相对变迁,在29版本之上ch使用的内核是Blink,之前是和苹果使用的统一个内核webkit.所以我们在做chrome的时候要综合考虑这两种内核,当然现在版本已经非常非常高了,如果一些新兴的网址的话,我们不在考虑webkit版本chrome内核的兼容性测试。
第三大浏览器firefox:我们在进行测试的时候由于考虑到fixfox浏览器是静默更新的,所以我们网站里,我们的电脑里常常使用的fixfox的版本通常都是最新的,所以我们在真对fixfox浏览器的时候,都是用最新的内核来进行测试

兼容性测试
兼容性测试
兼容性测试
兼容性测试
兼容性测试

app兼容性测试
方向:
硬件设备兼容(手机)
手机操作系统版本兼容性
测试方法:
人工测试:测试工程师测试主流手机设备对主流程和主功能进行验证测试
第三方测试工具:三方主要以云平台为主

兼容性测试
兼容性测试
由于有些机器确实不太好买,所以能我们会有一些特殊的服务
补充说明:
使用TOP20的机型,指定系统版本
Android机一律要求使用真机或者相应的云服务测试,IOS允许使用模拟器
如果上述的设备无法获取到的,允许选取同类(android/ios)机型作为替代,但最多不 超过4个替代机型(最好系统一致,网页选择上一致等)