功能测试-兼容性测试
⼤家好,我是⼗⼀。
引⾔
⼤家在⽇常⽣活中是不是经常遇到⼀些令⼈苦恼的事情,⽐如:
☆ 有款特别喜欢的游戏,只能在安卓⼿机上玩⼉,可是我是苹果⼿机,为了玩这款游戏我得买个安卓⼿机;
☆ 有个⽹站在IE浏览器上显⽰页⾯很乱,朋友⽤⽕狐浏览器显⽰正常,为了能正常访问这个⽹站我得下载个⽕狐浏览器;
☆ 给⼩朋友买的玩具,电池坏了,郁闷的是市⾯上卖的电池都不能⽤,只能买商家⾃⼰匹配的那款电池。
兼容诸如上述的例⼦发⽣在⾃⼰⾝上的时候,相信⼤家都会回⼀句:真恶⼼!或多或少的都会不开⼼对不对?造成这些苦恼的原因,就是所谓的兼容性不好。
兼容性测试。
今天我们就来讲讲兼容性测试
本篇内容
概念
兼容测试(Compatibility Test Suite )官⽅简称CTS ,指对所设计程序与硬件、软件之间的兼容性的测试。⼀般来说,兼容性指程兼容测试(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:是⼀款在线的、可以测试主流浏览器兼容性的测试⼯具。
☆ Browsershots
APP兼容性测试
APP的兼容性测试和软件兼容性测试类似,⾸先由测试⼯程师借助测试设备对主流程和主功能,主界⾯进⾏测试;如果存在问题,那么上报bug,bug中需要描述具体的测试设备的型号和操作系统以⽅便开发准确定位bug产⽣的原因。
云测平台,这两款平台⼤家可以私下了解下,或者我也可以借助第三⽅⼯具来做兼容性测试,对于APP的兼容性测试,推荐的有百度众测平台
百度众测平台和云测平台
们后续专门篇章单独介绍。
经验之谈
需求明确
我认为⼤多数情况下,兼容性的测试范围取决于开发⼩组/客户的定义,也就是需求
我认为⼤多数情况下,兼容性的测试范围取决于开发⼩组/客户的定义,也就是需求。这部分软件我们可以:在需求阶段,确认好有关兼容性部分的定义,⽐如⽀持IE8以上浏览器和⽕狐浏览器,⽀持windows2008、win7以上操作系统;最好是⼀⼀罗列或者使⽤明确语⾔表明⽀持的版本;⽽不使⽤概括类语句,诸如:常见浏览器、IE/⽕狐等浏览器。针对这部分软件做兼容性测试,需要先解答以下问题:
☆ 软件设计要求与何种其他平台(操作系统、web浏览器或者操作环境)和应⽤软件保持兼容?如果要测试的软件是⼀个平台,那么设计要求什么应⽤程序在其上运⾏?
☆ 应该遵守何种定义软件之间交互的标准或者规范?
☆ 软件使⽤何种数据与其他平台和软件交互和共享信息?
⽤上述问题和答案,来确定测试范围。
需求不明确
软件测试app有些软件程序在设计之初并没有明确定义,它的开始来源于⽼板/客户的⼀个想法,这类型软件共性是需求不明确。针对这部分软件我们有些软件程序在设计之初并没有明确定义,它的开始来源于⽼板/客户的⼀个想法,这类型软件共性是需求不明确
可以:
☆ 在开始做兼容性测试任务之前,需要对所有可能的软件组合或者设备组合等价分配,使其成为验证软件兼容性的最⼩有效集合。然后我们做 ☆
抽样测试,具体可以参考下⽂中“多程序/平台之间的兼容”的做法。
接下来我们来看常见的两⼤类兼容性测试:
☆ 向前向后兼容
☆ 多程序/平台之间的兼容(也有些书中称起为多版本兼容)
向前向后兼容
关于兼容性测试的两个常⽤术语是向前兼容和向后兼容。这两者说的都是软件程序不同版本之间的兼容;向后兼容是指可以使⽤软件的以前版本,向前兼容是指可以使⽤软件的未来版本。
例⼦:
☆ 向后兼容。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~
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论