天天看点

测试技术-兼容性测试

**

兼容性测试

**

1 兼容性测试概述

兼容性测试将验证软件与其所依赖的环境的依赖程度,包括对硬件的依赖程度,对平台软件、其他软件的依赖程度等。

2 兼容性测试环境的准备

测试中的硬件环境指进行测试所必需的服务器、客户端、网络连接设备,以及打印机、扫描仪等辅助硬件设备所构成的环境;软件环境则指被测软件运行所需的操作系统、数据库、中间件、浏览器及与被测软件共存的其他应用软件等构成的环境。

3 硬件的兼容性测试

3.1 硬件兼容性测试的目的

所有软件都需向用户说明其运行的硬件环境,对于多层结构的软件系统来说,需要分别说明其服务器端、客户端以及网络所需的环境。测试的目的就是确认这些对于硬件环境的描述是否正确、合理。

硬件兼容性测试需确认以下几点:

1)最低配置是否能够满足系统运行的需要。所有的软件功能必须能够完整地实现,软件运行速度、响应时间应在用户能够忍受的范围内。

2)在推荐配置下系统的响应迅速。应当注意的是,推荐配置必须合理,一味地追求高配置,一方面可能掩盖软件的性能缺陷,另一方面限制了软件的应用范围,也是不合理的。

3)考察软件对运行硬件环境有无特殊说明。 有些软件可能在不同的硬件环境中出现不同的运行结果或是在某些环境下根本就不能执行。

4)为了满足不同的使用需求,软件系统能否运行在多种硬件配置环境下,并且系统功能和性能都能满足设计需求。

3.2 与整机的兼容性

整机兼容性测试将确认软件要求的最低配置和推荐配置的合理性和正确性。主要指标包括对机型的要求和对CPU、内存、硬盘的要求,其他还包括对RAID的支持、对SCSI的支持等。

CPU:各类软件的最低配置和推荐配置都必须注明对CPU的要求。包括CPU类型和主频的要求。Intel主流CPU的性能差别主要体现在频率、缓存两个方面。频率分为主频和外频两部分,缓存因素分为缓存容量、缓存速度、缓存潜伏时间三部分。应用软件及客户端软件对CPU的推荐配置要求应当比目前主流CPU略低,服务器端的最低配置必须能够使软件正常工作。推荐配置应保证软硬件构成系统在正常业务的压力负载下,CPU资源占用平均值不超过75%。

内存:内存容量直接影响着软件的运行效率。内存参数的设置对性能的影响,集中在CAS(列地址选通脉冲)、RAS(行地址选通脉冲)的设置上。

硬盘:特殊软件要考虑硬盘的转速、缓存容量、寻址时间等参数。

3.3 与板卡及配件的兼容性

一般情况下,板卡和配件与软件的兼容性需要考虑以下几个方面。

独立板卡:而操作系统与各类板卡的兼容不仅仅体现在“能用”上,还必须达到“好用”。

主板芯版组:针对不同芯板组开发的驱动程序效率不同。对于集成主板,由于各部分的相互影响,往往会对被测桌面操作系统的兼容性造成挑战。

驱动程序中的自由软件。

3.4 与打印机的兼容性

打印机兼容性的测试对于操作系统、办公软件、网站和其他打印功能比较重要的软件来说,都是不可缺少的。

对于不同厂商、不同型号的打印机需要分别进行测试。

打印机兼容性测试主要包括以下项目:

1)安装或能够调用系统安装的打印机;

2)能打印测试页;

3)能选择不同幅面的纸张;

4)能选择打印精度(打印分辨率);

5)纸张横、纵打印调整功能;

6)逐页打印功能;

7)多份打印功能;

8)可以进行打印机的维护(比如更换墨水、清洗打印头等);

9)具备双面打印器的打印机能够实现自动双面打印功能;

10)网络打印机能够实现网络打印功能。

4 软件兼容性测试

4.1 与操作系统的兼容性

操作系统兼容性的测试内容不仅包括安装,还需对关键流程进行检查。

(1)windows平台:对于B/S结构的客户端,至少需在win98、winME、win2k、winXP上进行测试英文版和中文版需分别测试,在英文操作系统上测试中文版软件时,要特别注意是否会出现英文信息或乱字符,在中文版操作系统上测试英文软件时,注意是否存在提示文字不能完全显示的现象。测试前要保证测试环境中所有的补丁都已安装,在用户文档中也应给出提示。如果有必要进行更严格的测试,则可增加对不同版本补丁的兼容性测试。

(2)Linux平台:作为自由软件,其核心版本是惟一的,而发行版本则不受限制。需要对多发行商、多版本进行测试,用户文档中的内容应明确至发行商和版本号。

(3)unix平台:Unix平台也存在着Solaris、IBM、HP等多厂商的多版本,不过由于在这些unix平台上运行的软件往往至少需要重新编译才能运行,所以只需按软件的承诺选择测试环境即可。

(4)Macintosh:使用这类系统的往往是图形专用软件。对于web站点也需要进行macintosh系统下的测试,有些字体在这个系统下可能不存在,因此需要确认选择备用字体。

4.2 与数据库的兼容性

ODBC(Open Data Base Connectivity,开放数据库互连)最大优点是其互操作能力强,理想情况下,每一个驱动程序和数据源应支持完全相同的ODBC函数调用和SQL语句,使得ODBC应用程序可以操作所有的数据库系统。不同的数据库系统对SQL语法的支持程度各不相同,实现的ODBC规范所定义的功能也会有所不同。

JDBC(Java Data Base Connectivity,Java数据库连接)。同样,各个数据库对JDBC的支持也并不相同。

数据库兼容性测试要点如下:

(1)完整性测试。检查原数据库中各种对象是否全部移入新数据库,同时比较数据表中数据内容数是否相同。

(2)应用系统测试。模拟普通用户操作应用的过程,对应用进行操作并检查运行结果,从以往的测试经验来看,如果开发中使用了存储过程,那么在数据库移植时最容易出现问题。

(3)性能测试。上两项测试通过后,针对服务器、数据库进行性能测试,并与在原数据库下记录的性能基准数据进行比照,找出性能方面的问题,并有针对性地进行性能优化。

4.3 与中间件的兼容性

涉及中间件的系统一般已不是一个单纯的软件,而是一个有一定规模的系统了。中间件兼容性的测试方法与数据库兼容性的测试方法大同小异。

4.4 与其他软件的兼容性

除了以上各项软件的兼容性以外,我们还需要考虑以下问题。

与支持软件的兼容性。这些被测软件运行所必须的其他软件都应当进行兼容性测试,测试中要对其所依赖的软件的各个版本分别进行测试。

与其他同类软件的兼容性。判断与其他同类软件安装在同一系统上,同时使用,是否会造成其他软件运行错误,或本身能否正确实现其功能。

与其他非同类软件的兼容性。

5 数据兼容性测试

5.1 不同数据格式的兼容性

数据兼容是指软件之间能否正确地交互和共享信息。制定数据兼容性测试用例时可以参考以下几项内容:

(1)在被测软件中与其他程序间复制粘贴的文字是否正确?带格式的文字呢?表格呢?图形呢?

(2)在以前的版本下保存的文字在新的版本中是否能被打开;所有的特点是否都能被保留;包含新特性的新版本文件在旧系统中是否能被打开;新特性在旧版本中将如何解释。

(3)被测软件是一个系列软件中的一个吗,与本系列中的软件以何种形式交换数据。

(4)与同类软件间能否进行数据交换,软件是否提供对其化常用数据格式的支持。

(5)测试中需要明确业界有没有针对被测软件内容进行数据交换定义的标准或规范。

5.2 XML符合性

XML,可扩展标记语言是一种元标记语言,它使用简单灵活的标准格式。XML主要有3个组成元素:Schema(模式)、XSL(可扩展样式语言)和XLL(可扩展链接语言),其中Schema规定了XML文件的逻辑结构,定义了XML文件的元素、元素的属性以及元素和元素属性之间的联系,它可以帮助XML的分析程序校验XML文件标记的合法性:XSL是用于规定XML文档样式的语言,它能在客户端使用web浏览器改变文档的表示法,从而不需要再与服务器进行交互通信;XLL将进一步扩展目前web上已有的简单链接。

XML测试的需求往往来自于业界已有的数据格式规范,一般是一套Schema文件。其测试步骤一般为:

1)在测试工具中建立标准模板;

2)用被测软件按要求导出数据;

3)将导出的数据与标准模板进行对比匹配测试;

4)输出测试结果。

测试中用到的数据比较工具可采用已有的XML解析器如XMLSPY,或有针对性地开发出一些专用工具。

6 平台化软件兼容性测试

6.1平台化软件概述

平台化软件是指用来构建与支撑应用软件的独立软件系统。软件平台有两个基本要素,即支撑环境和开发体系。其中支撑环是指应用软件系统开发与运行的基本条件,开发体系是指开发与维护管理应用软件的工具与方法。它又可以分为技术支撑型平台软件和应用实现平台软件两种类型的平台。

平台软件的结构:

(1)技术支撑型平台:为软件系统研发提供通用技术基础架构,主要面向软件开发人员,主要包含应用软件的运行支持体系和上层开发的工具,上层应用系统由用户进行研发。

(2)应用实现型平台:指用来构建与支撑应用软件的独立软件系统。主要面向应用软件的终端用户。

(3)应用的广泛性:平台化软件的功能更加全面、覆盖面更加广泛。

(4)平台化软件的各种信息统一存储,实现管理信息的共享,从而提高各级组织内部有效的协作和快速反应。

(5)良好的开发性:平台化软件是建立在共同平台上的一个系统,模拟相互之间既具有较强的独立性,又可以独立使用,通过统一的数据接口可实现相互间的无缝集成,同时可以实现一致的对外接口。

(6)快捷的适应性:平台化软件的上层应用开发工具可以实现免编程的应用系统修改,具有更快捷、方便的适应能力。

6.2平台化软件的兼容性测试策略

1)跨硬件平台能力:在不同规模的硬件平台上进行测试,如从32位机到64位机,从单机到集群运行。

2)跨操作系统能力:平台化软件应可以部署在各种流行的操作系统上,包括windows、linux、unix等。

3)支持多种数据库系统

4)客户端兼容性测试

5)数据兼容性测试

7 新旧系统数据迁移测试

数据迁移,就是将这些历史数据进行清理、转换,并装载到新系统中的过程。数据迁移的实现可以分为三个阶段:数据迁移前的准备、数据迁移的实施和数据迁移后的校验。

为了保证数据的安全性,在测试和实施时还可以考虑以下措施:

(1)在实际运行环境之外搭建模拟环境,导入部分或全部数据,在模拟环境中进行一次或数次模拟迁移尝试。测试不仅要包括旧系统向新系统的迁移,还需进行新系统到旧系统的反回迁移,以确保在迁移过程失败时,可以及时恢复旧系统。在测试过程中还要详细记录遇到的问题,研究解决方法,并预测迁移风险。

(2)将现有数据进行备份,检查备份数据的正确性:作两套备份,比较两份备份,以保证备份数据完整可靠。

(3)如果有备份系统,则先将备份系统升级到新系统,保持主服务器的旧系统不动,切换至备份服务器运行一周,若一切正常再升级主服务器,升级成功后切换至主服务器运行。

继续阅读