|
知识路径: > 测试技术的分类 > 兼容性测试 >
|
相关知识点:18个
|
|
|
|
|
由于软件开发技术的限制以及各种操作系统之间存在着巨大的差异性,因此,目前大多商业软件并不能达到理想的平台无关性。如果该软件承诺可以在多种操作系统上运行,那么我们就需要测试它与操作系统的兼容性。对于多层体系结构的软件,要分别考虑前端和后端操作系统的可选择性。
|
|
|
操作系统兼容性的测试内容不仅包括安装,还需对关键流程进行检查。需要测试哪些操作系统上的兼容性,首先取决于软件用户文档上对用户的承诺,其次就要考虑以下几个问题。
|
|
|
. Windows平台:随着微软对Windows平台的不断升级,对于上一代操作系统,如Windows 32、Windows 95、Windows NT4,除非有特殊需求,一般都不再作出支持承诺,一些软件甚至不对Windows 98进行承诺。对于B/S结构的客户端,至少需在Windows 98、Windows ME、Windows 2000、Windows XP上进行测试,英文版和中文版需分别测试,在英文版操作系统上测试中文版软件时,要特别注意是否会出现英文信息或乱字符,在中文版操作系统上测试英文软件时,注意是否存在提示文字不能完全显示的现象。测试前要保证测试环境中所有的补丁都已安装,在用户文档中也应给出提示。如果有必要进行更严格的测试,则可以增加对不同版本补丁的兼容性测试。
|
|
|
. Linux平台:Linux作为自由软件,其核心版本是惟一的,而发行版本则不受限制。从RedHat、Turbo Linux到国内的中科红旗、中软等,版本之间存在着较大的差异。因此被测软件不能简单地说是支持Linux,测试也不能只在RedHat最新发行版本上进行,需要对多发行商、多版本进行测试,用户文档中的内容应明确至发行商和版本号,不能笼统地描述为支持Linux平台。
|
|
|
. UNIX平台:与Linux平台一样,UNIX平台也存在着Solaris、IBM、HP等多厂商的多版本,不过由于在这些UNIX平台上运行的软件往往至少需要重新编译才能运行,所以只需按软件的承诺选择测试环境即可。
|
|
|
. Macintosh:使用这类系统的往往是图形专用软件。对于Web站点也需要进行Macintosh系统下的测试,有些字体在这个系统下可能不存在,因此需要确认选择了备用字体。
|
|
|
|
20世纪90年代以后,数据库的应用向多元化方向发展,大型的应用往往涉及不同的应用领域,需要不同模型的数据库,同时,各个数据库管理系统之间的互操作性、移植性都越来越受到大家的重视,再加上开发工具的发展,促进了数据库标准的成熟与发展。数据库标准主要包括:SQL、ODBC、JDBC、ADO、OLE DB、JDO(Java Data Object)等。
|
|
|
SQL(Structured Query Language)是对数据库进行操作的基本语言,SQL于1974年提出,1986年10月成为数据语言的美国标准,1987年成为ISO标准,以后进行多次版本升级,到目前为止,已经制定出的SQL标准有SQL-86、SQL-89、SQL-92和SQL-99,目前市场普遍接受的是SQL-92标准。SQL-92分为4个一致性等级(其中3个级是ANSI标准中定义的,还有1个级是由NIST在作符合性测试时定义的),分别是入门级、过渡级、中间级和完全级。目前数据库产品对SQL标准的支持程度并不相同。
|
|
|
ODBC(Open Data Base Connectivity,开放数据库互连)是微软公司开发的一套开放数据库系统应用程序接口规范,它是微软公司WOSA(Windows Open System Architecture,即Windows开放系统体系结构)的主要组成部分。ODBC接口的最大优点是其互操作能力强,理想情况下,每一个驱动程序和数据源应支持完全相同的ODBC函数调用和SQL语句,使得ODBC应用程序可以操作所有的数据库系统。然而,不同的数据库系统对SQL语法的支持程度各不相同,实现的ODBC规范所定义的功能也会有所不同。
|
|
|
JDBC(Java Data Base Connectivity, Java数据库连接),目前,JDBC已经推出了1.0、2.0、3.0三个版本,同样,各个数据库对JDBC的支持也并不相同。
|
|
|
总之,数据库虽然有各种标准,但是由于各个数据库对标准的支持程度并不相同,基于一种数据库开发的应用系统,在另外一种数据库上未必运行良好,而现在很多软件需考虑对不同数据库平台或同一数据库的不同版本的支持能力,如从Sybase平台迁移到Oracle平台,从Oracle 8i升级到Oracle 9i等,这就要求我们必须做数据库兼容性测试工作。
|
|
|
此类测试可能是主动的,在软件开发阶段就已进行,也可能是被动的,由于新版本的出现或用户的需求改变而被迫进行。
|
|
|
|
. 完整性测试。检查原数据库中各种对象是否全部移入新数据库,同时比较数据表中数据内容数是否相同。
|
|
|
. 应用系统测试。模拟普通用户操作应用的过程,对应用进行操作并检查运行结果,从以往的测试经验来看,如果开发中使用了存储过程,那么在数据库移植时最容易出现问题。
|
|
|
. 性能测试。上两项测试通过后,针对服务器、数据库进行性能测试,并与在原数据库下记录的性能基准数据进行比照,找出性能方面的问题,并有针对性地进行性能优化。
|
|
|
|
涉及中间件的系统一般已不是一个单纯的软件,而是一个有一定规模的系统了。中间件作为其中最关键的部件之一,许多开发都与其紧密相连,所以,中间件的更换并不常见,中间件兼容性的测试通常情况下是指对不同版本、不同补丁包的兼容性。如:系统中的中间件WebSphere从Sp2升级到Sp3时,需检查应用是否能够正确运行,性能是否有所提高或至少保持不变。
|
|
|
中间件兼容性的测试方法与数据库兼容性的测试方法大同小异,这里不再赘述。
|
|
|
|
浏览器是Web客户端最核心的构件,被测软件的客户端能否使用Netscape、Internet Explorer或Lynx进行浏览呢?有些HTML标签或脚本只能在某些特定的浏览器上显示。应当确认图片有替代文字,因为可能会有用户使用文本浏览器。如果使用了SSL安全特性,则需要关注浏览器的版本,因为老版本可能不支持SSL,应对老版本的用户给出相关的提示信息。
|
|
|
来自不同厂商的浏览器对Java、JavaScript、ActiveX、plug-ins或不同版本的HTML有不同的支持。例如,ActiveX是Microsoft的产品,是为Internet Explorer而设计的,JavaScript是Netscape的产品,Java是Sun的产品等。另外,框架和层次结构风格在不同的浏览器中也有不同的显示,甚至根本无法显示。不同的浏览器对安全性和Java的设置也不一样。
|
|
|
测试浏览器兼容性的一个方法是创建一个兼容性矩阵。在这个矩阵中,测试不同厂商、不同版本的浏览器对某些构件和设置的适应性。
|
|
|
|
|
|
|
除了以上各项软件的兼容性以外,我们还需要考虑以下问题。
|
|
|
. 与支持软件的兼容性。软件运行还需要哪些应用软件支持?ERP软件可以仅提供财务软件接口,而本身并不包含财务软件;财务软件也可以不包含表格处理模块,而调用其他表处理软件。这些被测软件运行所必须的其他软件都应当进行兼容性测试,测试中要对其所依赖的软件的各个版本分别进行测试。
|
|
|
. 与其他同类软件的兼容性。对于通用软件来说,这是一个重要问题。由于通用软件应用范围广,开发商多,功能重复性高,在系统中可能会要求相同的系统资源,造成注册表冲突等问题,因此需要进行兼容性测试,以判断与其他同类软件安装在同一系统上、同时使用,是否会造成其他软件运行错误,或本身能否正确实现其功能,例如,测试杀毒软件时,检查将其与其他多个杀毒软件共同安装于同一系统中的情况。
|
|
|
. 与其他非同类软件的兼容性。例如:测试办公软件时,将其与杀毒软件共同安装于同一系统时,是否会造成软件安装错误或运行错误。如果在杀毒软件运行的状态下不能顺利安装,则需在用户手册中的软件安装部分给出明确提示。
|
|
|