一、兼容性测试概述,包括:定义,目的和意义,配置测试和兼容性测试区别,兼容性测试环境二、兼容性测试方法,包括:硬件兼容性测试,软件兼容性测试,数据兼容性测试三、兼容性测试工具,包括:浏览器兼容性测试工具一、兼容性测试概述
1,定义兼容性测试将验证软件与其所依赖的环境的依赖程度,包括对硬件平台的依赖程度和对软件平台依赖程度,即是通常说的软件的可移植性。简单来说,待测试项目在同一操作系统平台的不同版本、不同的操作系统平台上是否能很好地运行。待测试项目是否能与相关的其他软件和平共处,会不会有相互不良的影响。待测试项目是否能在指定的硬件环境中正常运行,软件和硬件之间能否发挥很好的效率工作,会不会影响或导致系统的崩溃。待测试项目是否能在不同的网络环境中正常运行。2,目的和意义兼容性测试主要目的是为了兼容第三方软件,确保第三方软件能正常运行,用户不受影响。由于各类应用软件和系统软件已经到了多如牛毛的地步,而且可以预见还将继续以爆炸式的速度增长,软件之间的数据共享和系统资源分享变成为一个问题,这也是兼容性测试的意义所在。虽然兼容性测试无法做到完全的质量保证,但对于一个项目来讲,兼容性测试是必不可少的一个步骤。3,配置测试和兼容性测试区别配置测试和兼容性测试是软件测试中容易混淆的两个概念,他们对软件开发都比较重要,但他们测试和关注的核心内容是有区别的。配置测试的目的是保证软件在其相关的硬件上能够正常运行,而兼容性测试主要是测试软件能否与不同的软件正确协作。配置测试的核心内容是使用各种硬件来测试软件的运行情况,测试对象是硬件,一般包括:一是软件在不同的主机平台上的运行情况;二是软件在不同的组件上的运行情况;三是不同的外设和不同的接口下的运行情况;最后还有某些可选择的不同软硬件。兼容性测试是用于检查软件是否能够与其他软件正确协作,测试对象是软件,一般包括:一是测试软件是否能在不同的操作系统平台上兼容,或测试软件是否能在同一操作系统平台的不同版本上兼容;二是软件本身能否向后和向前兼容;三是测试软件能否与其它相关的软件兼容,包括一些用户常见软件;四是数据兼容性测试,主要是指数据能否共享。总之,我们可以简单的理解:配置测试的对象是硬件,兼容性测试的对象是软件。4,兼容性测试环境测试中的硬件环境指进行测试所必需的服务器、客户端、网络链接设备,以及打印机、扫描仪等辅助硬件设备所构成的环境。软件环境则指被测软件运行所需的操作系统、数据库、中间件、浏览器及与被测软件共存的其他应用软件等构成的环境,我们可以通过向硬件厂商租用或借用,采用试用版软件,在条件完善的专业测试实验室里,这三种方式来完成兼容性测试的环境搭建。二、兼容性测试的方法
(一)、硬件兼容性测试:整机的兼容性,板卡和外设的兼容性(二)、软件兼容性测试:平台的兼容性,应用软件的兼容性,浏览器的兼容性(三)、数据兼容性测试:数据格式的兼容性,数据库的兼容性,其他数据兼容性(一)、硬件兼容性测试目的是确认对于硬件环境的描述是否合理正确。因为不同的硬件配置可能影响软件的性能,有些软件可能在不同的硬件环境中,出现不同的运行结果或是根本就不能执行。兼容性测试包括一下两点:1、整机的兼容性测试确认软件需求的最低配置和推荐配置的合理性和正确性,CPU、内存、硬盘等,最低配置是否能够满足系统运行的需要,在推荐配置下系统的响应迅速。考察软件对运行硬件环境有无特殊说明,为了满足不同的使用需求,软件系统能否运行在多种硬件配置环境下,并且系统功能和性能都能满足设计需求。如果软件对硬件的配置要求比较高还要测试它的敏感度。2、板卡和外设的兼容性测试如果软件需要直接访问某类板卡和外部设备,通常需要对这些板卡和外设的接口调用进行测试,以确保对这些接口的访问适用于所有型号的板卡和外设。例如:打印机,用户可能会将网页打印下来,有时在屏幕上显示的图片和文本的对齐方式可能与打印出来的东西不一样。(二)、软件兼容性测试软件兼容性测试是指检查软件之间是否能够正确地进行交互和共享信息。交互可以是同时运行于同一台计算机上,或在相隔甚远的不同计算机上的两个程序之间进行。在接受兼容性测试任务时,应仔细了解产品说明书中的有关内容并和相关人员进行沟通。理论上任何两个软件之间都有冲突的可能,因此软件的兼容性就成为了衡量软件好坏的一个重要指标。软件兼容性测试包括:1,操作系统/平台的兼容性测试进行平台的兼容性测试的目的是保证我们的待测试项目在该操作系统平台下能正常运行。用户使用操作系统的类型,直接决定了我们操作系统平台兼容性测试的平台数量,应用软件的最终用户究竟使用哪一种操作系统,取决于用户系统的配置。这样就可能会发生兼容性问题,同一个软件可能在某些操作系统下能正常运行,但在另外的操作系统下可能会运行失败,因此理想的软件应该具有平台无关性。市场上有很多不同的操作系统类型,最常见的有Windows、Unix、Macintosh、Linux等。对于普通用户来讲,最常用的是Windows操作系统,Windows操作系统包括WindowsXP,windows2003,vista,Win2000/NT,WindowsXP等。对于一些特殊项目(比如定制项目),可以指定某一类型的操作系统版本,这些都应该在需求规格说明书中指明,针对这些指明的操作系统版本必须进行兼容性测试。大部分的其他项目,是不指定操作系统版本的,针对这样的项目,我们应当针对当前的主流操作系统版本进行兼容性测试,在确保主流操作系统版本兼容性测试的前提下在对非主流操作系统版本进行测试,尽量保证项目的操作系统版本的兼容性测试的完整性。2,应用软件兼容性测试软件在运行中总是需要与其他软件进行交互,而任何交互问题都可能引起软件的运行问题。软件运行需要哪些应用软件支持,判断与其他常用软件一起使用,是否会造成其他软件运行错误或本身不能正确实现其功能。因此要针对与该软件可能发生交互的软件进行兼容性测试。3,浏览器兼容性测试现在好多应用软件都应用B/S结构,它们的客户端都使用浏览器。因此,浏览器是Web客户端最核心的构件,但来自不同厂商的浏览器对Java、JavaScript、ActiveX、plug-ins或HTML规格都有不同的支持,即使是同一厂家的浏览器,也存在不同的版本的问题。例如,ActiveX是Microsoft的产品,是为InternetExplorer而设计的,JavaScript是Netscape的产品,Java是Sun的产品等。另外,框架和层次结构风格在不同的浏览器中也有不同的显示,甚至根本不显示。不同的浏览器对安全性和Java的设置也不一样。所以,测试不同厂商、不同版本的浏览器对某些构件和设置的适应性,也是软件兼容性测试的重点之一。目前最为常用的浏览器为:IE6.0IE7.0.IE8.0.但由于操作习惯的问题,还有相当一部分用户喜欢使用腾讯的TT,以及firefox浏览器,这些浏览器同样也存在各个版本的问题。这个对于Web系统来讲是一个相当大的挑战。对于一些特殊项目(比如定制项目),可以指定某一类型的浏览器(包括版本),这些都必须在需求规格说明书中指明。针对这些指明的浏览器必须进行兼容性测试。但大部分的项目,是不能指定浏览器的,针对这样的项目,那么我们必须针对当前的主流浏览器(含版本),在确保主流浏览器的兼容性测试通过的前提下,再对非主流浏览器(含版本)进行测试,尽量保证项目的浏览器的兼容性测试的完整性。测试浏览器兼容性的一个方法是创建一个兼容性矩阵,在这个矩阵中,测试不同厂商、不同版本的浏览器对某些构件和设置的适应性。(三)、数据兼容性测试通常一个系列中不同软件通过约定好的数据格式实现集成,不同的软件通过标准的数据格式进行集成,这个时候就需要针对相应的一种或多种数据格式检查被测软件是否可以通过复合数据格式的各种数据进行正确的交互。1、数据格式兼容性一个软件系统在其生命周期里会出现一系列的版本,所以测试新版本软件能否兼容旧版本的数据是兼容性测试的一个重要方面,需要针对不同的版本进行兼容性测试。例如,当软件升级后可能会定义新的数据格式或文件格式,这就涉及到对原有格式的支持及更新,原有用户记录在新格式下是否依然可用等。另外还需要测试转换过程中数据的完整性与正确性。2、数据库兼容性如果软件需要支持不同的数据库,需要针对不同的数据库产品进行兼容性测试。现在很多软件尤其是MIS(管理信息系统)、ERP、CRM等软件都需要数据库系统的支持,对此类软件应考虑对不同数据库平台的支持能力,如从sqlserver平台替换到Oracle平台,软件是否可直接挂接,或者提供相关的转换工具。3,其他数据兼容性软件是否提供对其他常用数据格式的支持,例如办公软件是否支持常用的DOC、WPS等文件格式,支持的程度如何,即软件是否能完全正确地读出这些格式的文件。三、兼容性测试工具
1,3款浏览器兼容性测试工具IETester是一个免费的Web浏览器调试工具,可以模拟出不同的js引擎来帮助程序员设计效果统一的代码。它集成IE5.5、IE6、IE7,IE8beta2这4个不同版本的IE,支持操作系统XP和Vista,可以方便的解决IE浏览器的兼容问题。Browsershots是一款免费的跨浏览器测试工具,能给出你的网站在不同浏览器下显示效果的截图,同时为你检测几十种浏览器,并生成直观的图片让你分析。Superpreview微软自己发布的跨浏览器测试工具,通过它可以同时查看网页在多个浏览器的呈现情况,对页面排版进行直观的比较。总结:在实际软件开发中,软件通常都是需要在许多种不同的软硬件环境中运行,然而由于任何一个软件都或多或少地依赖所运行的环境,所以环境的差异可能导致软件在不同的环境下运行会有不同的结果,所以对软件的兼容性进行测试是很重要的。然而并不是每个软件都要进行所有的兼容性项目的测试,在实际测试中,要按照软件类型、需求定位和测试环境进行选择,并调整并扩充测试方案。还要注意的是,对于定制系统来说,兼容性测试应尽早进行,否则系统投入使用后,随着系统中数据的增多,兼容性测试的风险和投入将越来越大。通常如果期望的运行环境存在众多的可变性,兼容性也会很复杂,反之,兼容性就很可能不存在问题,兼容性测试也会变得非常简单。因此针对不同的软件对其运行环境的要求,要开展不同的软件兼容性测试,以保证软件的正常运行并发挥其最大的作用。
因篇幅问题不能全部显示,请点此查看更多更全内容