大家好,我是十一。

引言

大家在日常生活中是不是经常遇到一些令人苦恼的事情,比如:

☆ 有款特别喜欢的游戏,只能在安卓手机上玩儿,可是我是苹果手机,为了玩这款游戏我得买个安卓手机;

☆ 有个网站在IE浏览器上显示页面很乱,朋友用火狐浏览器显示正常,为了能正常访问这个网站我得下载个火狐浏览器;

☆ 给小朋友买的玩具,电池坏了,郁闷的是市面上卖的电池都不能用,只能买商家自己匹配的那款电池。

诸如上述的例子发生在自己身上的时候,相信大家都会回一句:真恶心!或多或少的都会不开心对不对?造成这些苦恼的原因,就是所谓的兼容性不好。

今天我们就来讲讲兼容性测试。

本篇内容

概念

兼容测试(Compatibility Test Suite )官方简称CTS ,指对所设计程序与硬件、软件之间的兼容性的测试。一般来说,兼容性指程序或者物品在某一系列的软/硬件设施上都能友好使用,在计算机术语上兼容是指几个硬件之间、几个软件之间或是软硬件之间的相互配合程度。比如:小玩具能使用世面上常卖的电池;游戏能在所有的移动端使用;网站能在常用的浏览器上打开且正常显示;软件能在主流操作系统上正常使用等等。

兼容性测试是指测试软件在特定的硬件平台上、不同的应用软件之间、不同的操作系统平台上、不同的网络等环境中是否能够友好运行。

作用

从引言中我们可以看出兼容性测试还是很重要的,具体的作用大致有4点:

1. 进一步提升软件质量,提高客户满意度;

2. 使软件与软件之间“和平共处”,尽可能达到平台无关性;

3. 加固了软件存在的价值,它是衡量一个产品质量的重要指标;

4. 使软件的市场更广阔;

分类

兼容性测试分类主要可以分为三大类:硬件兼容性测试、软件兼容性测试、数据兼容性测试。这些大家百度百科了解下,今天我主要讲目前软件中常用的兼容性测试。

兼容测试包括:

1. 浏览器兼容测试:软件在不同浏览器上是否可以正常运行,功能是否可以正常使用,界面是否可以友好展示;

2. 屏幕尺寸和分辨率兼容测试:软件在不同分辨率下能否正常显示,在不同的屏幕尺寸下是否可以正常且友好的显示;

3. 操作系统兼容测试:软件在不同的操作系统下面能否正常运行,功能能否正常使用,显示是否正确且友好等;

4. 不同设备型号兼容测试:针对于APP,现在移动设备型号五花八门,主要测试APP在主流设备上能否正常运行,会不会出现崩溃的现象。

手机端兼容性测试除了以上谈到的兼容性测试外还需要考虑更多。如网络环境兼容性测试,分辨率兼容性测试等。这里不做详细描述。

如何做

按应用范围划分,一般来讲软件被划分为系统软件、应用软件和介于这两者之间的中间件。按照介质的不同,我们将其分为软件(电脑上使用)和app(移动端使用);今天我们针对软件和app分别如何做兼容性测试进行简单介绍。

软件兼容性测试

通常我们见到的软件都是应用软件,那应用软件如何做兼容性测试?

测试工程师一般在主流浏览器和常用操作系统测试软件程序的主流程和主界面,看看主流程和主界面是否有问题,如果存在问题,那么上报bug,bug中需要描述具体的浏览器型号和版本,以及操作系统,以方便开发准确定位bug产生的原因。

另外我们还借助第三方测试工具,找到bug,比如:

☆ IEtester和SuperPreview:是ie浏览器兼容性测试工具;

☆ Browsershots:是一款在线的、可以测试主流浏览器兼容性的测试工具。

APP兼容性测试

APP的兼容性测试和软件兼容性测试类似,首先由测试工程师借助测试设备对主流程和主功能,主界面进行测试;如果存在问题,那么上报bug,bug中需要描述具体的测试设备的型号和操作系统以方便开发准确定位bug产生的原因。

也可以借助第三方工具来做兼容性测试,对于APP的兼容性测试,推荐的有百度众测平台和云测平台,这两款平台大家可以私下了解下,或者我们后续专门篇章单独介绍。

经验之谈

需求明确

我认为大多数情况下,兼容性的测试范围取决于开发小组/客户的定义,也就是需求。这部分软件我们可以:在需求阶段,确认好有关兼容性部分的定义,比如支持IE8以上浏览器和火狐浏览器,支持windows2008、win7以上操作系统;最好是一一罗列或者使用明确语言表明支持的版本;而不使用概括类语句,诸如:常见浏览器、IE/火狐等浏览器。针对这部分软件做兼容性测试,需要先解答以下问题:

☆ 软件设计要求与何种其他平台(操作系统、web浏览器或者操作环境)和应用软件保持兼容?如果要测试的软件是一个平台,那么设计要求什么应用程序在其上运行?

☆ 应该遵守何种定义软件之间交互的标准或者规范?

☆ 软件使用何种数据与其他平台和软件交互和共享信息?

用上述问题和答案,来确定测试范围。

需求不明确

有些软件程序在设计之初并没有明确定义,它的开始来源于老板/客户的一个想法,这类型软件共性是需求不明确。针对这部分软件我们可以:

☆ 在开始做兼容性测试任务之前,需要对所有可能的软件组合或者设备组合等价分配,使其成为验证软件兼容性的最小有效集合。然后我们做抽样测试,具体可以参考下文中“多程序/平台之间的兼容”的做法。

接下来我们来看常见的两大类兼容性测试:

☆ 向前向后兼容

☆ 多程序/平台之间的兼容(也有些书中称起为多版本兼容)

向前向后兼容

关于兼容性测试的两个常用术语是向前兼容和向后兼容。这两者说的都是软件程序不同版本之间的兼容;向后兼容是指可以使用软件的以前版本,向前兼容是指可以使用软件的未来版本。

例子:

☆向后兼容。2007 Microsoft Office 系统向后兼容下列早期版本:Microsoft Office 2000、Microsoft Office XP 和 Microsoft Office 2003。简单来说就是office 2007做出来的word文档、xsl文件、pdf文件等等可以用office 2000、office 2003、office XP进行如:打开、编辑、保存等操作。

☆向前兼容。应用程序的早期版本能够打开较新版本中的文件并忽略早期版本中未实现的功能。例如,Word 2003 向前兼容 Word 2007,因为它能够成功地使用转换器打开 Word 2007 文件并编辑。

需要注意的是,并非所有软件或者文件都要求向前或者向后兼容。这是软件设计者需要决定的产品特性,而软件测试员应该为检查软件向前或者向后兼容性所需的测试提供相应的输入。

多程序/平台之间的兼容

测试多个平台和不同应用程序相互之间能否正常工作可能是一个艰巨的任务。其实上节课我们所讲的浏览器兼容、屏幕/分辨率兼容、操作系统兼容、不同设备型号兼容等等都属于这一大类。

假设现在测试一个流行的操作系统的新版本,已经有成千上万个应用程序在上面运行。现在程序员修复了大量软件缺陷,改善了性能,并增加了许多有用的新特性,新操作系统的目标是百分之百兼容那成千上万个应用程序。这么一个庞大而又艰巨的任务,需要对所有可能的软件组合等价分配,验证软件之间正确交互的最小有效集合。

通常我们的做法是:

☆将软件分类。例如:绘画程序、数据库、字处理、游戏、电子表格、数据库等等,从每一种类型中选择一个测试软件测试。

☆按照软件的流程程度选择比较流行的软件进行测试。

☆按照年头选取一定年份内的程序或者版本来测试。

上述例子是讲新操作系统的,测试新应用程序也是一样,需要决定在哪个平台版本上测试软件,以及和什么应用程序一起测试。如下图所示:

兼容性测试具体要测试与哪些软件程序或者平台之间的兼容,这个是没有标准答案的。软件测试员与开发小组需要决定哪些最重要,然后根据上述原则建立需要测试的软件的等价区间。(当然如果需求就能制定好最好。)

今天我们就到这里,我们下期再见!Bye~

绘画软件兼容性测试,功能测试-兼容性测试相关推荐

  1. 软件兼容性测试计划,app兼容性测试方案

    App的兼容性问题可能会导致流失潜在的客户,为了尽量减少因兼容性问题导致的同类问题,进一步提高产品的质量,提升用户体验,所以进行兼容性测试,尽可能多的保证更多的用户都可以正常使用app.经过短期和持续 ...

  2. 软件 互操作性测试,软件兼容性测试与互操作性测试辩析

    在读到一些技术文章时,经常发现兼容性和互操作性并列提起,曾看到这样一句话"互操作性测试的主要目标是发现兼容性问题",很明显在这句话中可以看出兼容性与互操作性在概念上有交叉现象,那么 ...

  3. EZEMC测试软件_emc仿真软件下载-emc仿真软件(测试电磁兼容性) 15.0.1 中文免费版[百度网盘资源] - 河东下载站...

    emc仿真软件是款功能比较强大的电磁兼容性的测试仿真工具:这款软件不管是在国内还是在国外都非常的受到大家的欢迎,而且也是目前业内使用率比较高的仿真工具之一,也是最专业的仿真软件之一:软件的功能方面是相 ...

  4. 软件测试缺陷等级划分_众测项目中功能测试、安全测试和兼容性缺陷等级区分定义...

    开发者发布众测项目时,用户非常关心缺陷等级区分定义,小编给大家详细说明一下,Alltesting众测平台中严格定义,具体如下: 功能测试项目和安全测试项目按缺陷严重性分为高中低等级: 高级缺陷 导致操 ...

  5. 如何开展兼容性测试?兼容性测试有什么作用?

    兼容性测试是指测试软件在特定的硬件平台上.不同的应用软件之间.不同的操作系统平台上.不同的网络等环境中是否能够很友好的运行的测试.兼容性测试是软件测试过程中必不可少的一个过程,没有兼容性测试的测试是不 ...

  6. 软件测试_APP测试_兼容性测试

    APP的兼容测试主要就是测试APP的安装.启动.运行.卸载测试,以及安装时间 .启动时间.CPU占用.内存占用.流量耗用.电量耗用等性能上的测试. 兼容性测试点: 一.内部兼容性: 1.与本地和其他主 ...

  7. 非功能测试之兼容性测试、文档测试和安装测试

    说明:该篇博客是博主一字一码编写的,实属不易,请尊重原创,谢谢大家! 文章目录 一.兼容性测试 1.兼容性测试的含义 2.案例 3.兼容性测试的前提 4.兼容性测试的测试点 二.文档测试 1.哪些文档 ...

  8. 软件测试的健壮性测试和兼容性测试

    一.健壮性测试 健壮性测试只是一个概念,用于测试系统在出现故障的时候,是否能够自动恢复或者忽略故障继续持续的运行,比如说我们在使用APP的过程中,有多个模块,其中有一个模块出现了问题, 其他模块是否能 ...

  9. 专项测试-Web兼容性测试

    1.兼容性测试 1.1 随机测试 ü  使用IE6测试,从指派通知书自动加载的接收凭证转入新增时,显示的放大的页面,不合兼容性 ü  网站不兼容,页面有错乱[兼容性视图] ü  软件兼容性:操作系统是 ...

最新文章

  1. CV圈太卷了!继谷歌提出MLP-Mixer之后,清华、牛津等学者又发表三篇MLP相关论文...
  2. java输出一个Int数据的补码
  3. DM368开发 --IPNC 设置过程
  4. 为什么你闻不到自己胳肢窝的味道?
  5. 深入理解 JVM Class文件格式(四)
  6. SVN trunk branches tags 的用法 - 摘自网络
  7. wireshark: there are no interfaces on which a capture can be done
  8. cocos2dx 屏幕适配
  9. Linux——vim编辑器详解
  10. [设计模式-行为型]命令模式(Command)
  11. chrome 浏览器的插件权限有多大?
  12. 一个类中域(field)的首字母不要大写
  13. delphi官方iso下载地址
  14. Labview自适应屏幕分辨率
  15. python接受前端传递的参数
  16. 2021年皓丽新品- 86KD1 86寸纳米智慧黑板(电容屏)-产品说明
  17. 底层逻辑 MATLAB 的句柄是什么
  18. [滑模控制器浅述] (1) 二阶系统的简单滑模控制器设计
  19. 如何用java实现一个p2p种子搜索(4)-种子获取
  20. volatile能保持线程安全吗_volatile变量能保证线程安全性吗?为什么?

热门文章

  1. vsphere esxi设置定时自动关机脚本
  2. 小米在海外召回有潜在风险的电动滑板车 中国区无此风险
  3. c语言程序设计 第三版 哈工大,C语言程序设计_哈工大(3):选择结构程序设计.pdf...
  4. PS制作人物消失特效烟雾GIF动画
  5. 微软发现macOS漏洞,可导致恶意软件安全检测被绕过
  6. 虹膜识别论文1:Iris Recognition With Off-the-Shelf CNN Features: A Deep Learning Perspective 2017年 学习心得
  7. GOTS认证辅导,GOTS认证所涉及有机面成分从源头到成品要总量平衡
  8. Android 二进制、10进制、16进制互相转换
  9. Vue学习笔记(二十)——Vue为什么不推荐直接操作dom
  10. jdk的安装路径在哪_忘记jdk安装路径怎么办