lsekfe 发表于 2020-8-24 10:23:37

深度剖析软件兼容性测试

随着IT互联网的发展,网名数量与日俱增,对于各软件平台的兼容性要求也是越来越高,为什么会导致软件平台兼容性越来越高?很简单大家都知道互联网的范围是非常广阔的,不仅仅局限于某个城市或者某个区域,到目前为止网络早已走了出国门。对于不同的人群大家使用手机的习惯是不是一样的?可以肯定的说不一样,那为什么不一样呢?基于不同的人,她(他)的生活层次不一样,那么他们在选择手机的时候会根据自身的需求去追求来选择,大家都知道直到今天为止我们所知道的手机品牌有那些呢?例如:苹果、小米、三星、华为、酷派、魅族、VIVI、OPPO等相关品牌的手机,基于不同平台又需要兼容不同的操作系统,按手机操作系统的类型又划分又分为:安卓、ios,包括相关的ipad终端系统等等。基于不同的操作系统不同的硬件平台又安装不同的软件,它们之间会不会存在兼容性问题?回答是肯定的,那出现这些兼容性我们是否需要去测试?如果不对软件进行兼容性测试会给企业及用户带来什么影响?咱们今天主要通过以下几个方面来跟大家详细解说。软件兼容平台案例如下图所示:

1.什么是软件的兼容性测试?
  兼容性测试是指:各软件与软件或者软件与硬件之间的兼容,软件与数据之间的兼容。软件与软件之间的兼容一般体现在那些方面?例如:我的电脑现在是基于win10的操作系统上,我安装了一个网盘突然有一天,我的操作系统更新一些包,然后我登录网盘发现系统报异常错误,这其实就是基于软件与软件之间的不兼容性问题。案例如下图所示:


硬件与硬件的兼容性:指一款软件在不同的平台上使用不同品牌型号的手机安装应用都能正常运行和使用。比如我的手机是vivo的,我能正常下载"今日头条"app能正常安装与卸载程序、正常启动,打开头条能正常发文、发微头条这说明软件与硬件是兼容的。那一般在什么情况下会出现硬件不兼容的问题?例如:内存与主板的兼容性,有时候我们在使用电脑的过程中,发现打开电脑开始好好过一会儿会听见"电脑嘀嘀的响声"这其实就是基于内存与主板硬件的兼容性问题,如果解决这种问题呢?我们只需要打开机箱重新插一下内存条或者去清洁一下灰尘重新安装问题解决。

软件与数据之间的兼容性:指不同品牌软件之间的数据兼容性。例如:我们平时使用开的java语言开发项目与python语言开发项目,在语言在语法书写格式上存在很大的差异性,这其实就是指软件与软件之间的兼容性,如果公司决定更换项目开发工具这时候需要将java代码修改成可执行的python代码,这时候我们也需要测试软件是否能够正常使用。下面以java代码案例如下图所示:

2.Python代码语法案例


针对于不同品牌的mysql数据库类型,大家都知道我们平台常见的数据库案例有那些呢?它们分别是:Oracle、Mysql、SQLserver、NoSQL等等相关品牌,不同的数据库类型他们之间的sql语法规范编写方式也存在差异性,如果我们公司需要将Mysql数据库的语法切换到Oracle数据中去,这时候我们需要将Mysql的语法代码都修改成Oracle数据库能够识别的语句,这样才能保证软件与数据之间的兼容性。案例如下图所示:


3.为什么要做兼容性测试?
  经过上面内容的分析与讲解,我相信大家对兼容性测试已经有了一个更深入的理解,也明白了为什么要做软件相关的兼容性测试,那假设不做兼容性测试会带来那些问题?很简单基于以上案例我们就拿Oracle与Mysql数据库来分析他们之间的区别,首先Oracle编写的语句格式为:select*fromtablewhererownumber<=100,而Mysql语句内容为:select*fromtbllimit100,查询前100条记录mysql使用的是limit关键字来查询,而oracle直接使用rownumber<=100来查询,如果两者之间不做代码兼容,软件运行必然会数据异常,查询语句无法识别,从而导致软件无法正常使用,当然这个案例是基于软件与数据之间的兼容性来分析,其实在我们日常的工作过程中也存在很多案例,比如说我们每天都会浏览网页,在浏览网页的过程中我们是不是会打开电脑或者打开手机,然后打开浏览来浏览信息,我们浏览是基于手机然后基于浏览,在手机与浏览器软件之间也会存在兼容性问题,浏览器与浏览器之间存在不同的版本,他们之间其实也会存在相关的兼容性问题,假设我们没有对这些兼容性软件或者硬件进行覆盖测试就会降低用户的粘性,会导致大量用户的流失这样也会给公司带来经济利益的影响,所以兼容性是中忽视的一个测试点,通过今天的学习希望大家在工作中能够引起重要,将兼容测试做得更好。
  兼容性测试分类:兼容性测试按平台分类,分为:WEB兼容性、APP兼容性、各终端兼容性。
  WEB兼容性测试包括:浏览器兼容性、操作系统兼容性、尺寸兼容性。


App端兼容性测试包括:不同的操作系统(PC端浏览兼容性,客户端、功能兼容性)、移动端(安卓端、IOS/IPAD、适配器、手机型号、品牌的兼容性、网络兼容性、尺寸、手机版本等等)。
  4.兼容性测试方法?
  云测、内测、众测
  appium自动化集成
  手工验证
  5.如何覆盖(不同类型APP)兼容性问题
  5.1根据市场主流APP市场占有率挑选进行测试(排名前10名的手机品牌与型号进行覆盖)
  5.2测试多种APP之间影响
  5.3通过市场调研选择APP品牌与型号进行测试
  6.软件向前和向后兼容
  向前兼容:指兼容最高版本软件
  向后兼容:指兼容低版本软件
  7.APP兼容性测试做得不够好,会导致那些问题?
  7.1.UI页面风格显示混乱
  7.2.尺寸大小显示不友好(页面内容显示不全或者页在显示空白)-屏幕显示异常
  7.3.安装失败
  7.4.启动失败
  7.5.卸载失败
  7.6.卸载软件环境不干净
  7.7.程序在运行的过程中出现闪退
  7.8.品牌显示不全
  兼容性测试一般在什么阶段进行:回归测试、系统稳定之后进行的测试。主要目的还是保证版本质量的时间可控。

页: [1]
查看完整版本: 深度剖析软件兼容性测试