对于基于计算机平台的软件,在测试过程中必须考虑软、硬件的兼容性,在设计测试用例的过程中必须考虑数据转换或转移的问题,应该尽力发现其可能带来的错误。不仅是基于计算机平台的软件,对于嵌入式软件也一样,在软件升级时,也需要考虑硬件平台的兼容性。一个软件具有良好的兼容性,不仅可以降低技术支持的成本,还可以减少系统的维护版本,但不至于仅仅因为兼容性的问题而升级系统。
一、软件兼容
软件兼容是指待发布软件与常用软件在同一环境下使用时,相互之间的影响。计算机中常用的软件有下载类软件、即时通信类软件、压缩解压类软件、文档编辑类软件、位图图像处理类软件、矢量图图像制作类软件、动画制作类软件、杀毒类软件、光盘刻录类软件、系统镜像类软件、多媒体播放软件和其他类软件。
软件兼容主要考虑三个方面:浏览器兼容、分辨率兼容和打印机兼容。但对于嵌入式产品几乎不存在软件方面的兼容性问题,因为不可能和其他软件同时运行于当前的产品中。
1.1 浏览器兼容
浏览器是Web 客户端最核心的构件,来自不同厂商的浏览器对Java、JavaScript、ActiveX、Plug-ins 或不同的HTML 规格有不同的支持。例如ActiveX 是Microsoft 的产品,是为Internet Explorer而设计的,JavaScript 是Netscape 的产品,Java 是Sun 的产品等。另外,框架和层次结构风格在不同的浏览器中也有不同的显示,甚至根本不显示。不同的浏览器对安全性和Java 的设置也不一样。
测试浏览器兼容性的方法是创建一个兼容性矩阵。在这个矩阵中,测试不同厂商、不同版本的浏览器对某些构件和设置的适应性。
1.2 分辨率兼容
分辨率兼容测试是为了验证页面版式、界面显示以及相关字符在不同的分辨率模式下显示的情况。
通常情况下,在需求规格说明书中会明确地定义系统所支持的分辨率。但是客户计算机的分辨率多种多样,因此在测试过程中几乎不可能全部覆盖到所有的分辨率,并且在成本上也是一个很大的挑战,所以一定要完成需求规格说明书中定义的分辨率,并且一定要在说明书中注明系统所支持的最佳分辨率。常用的分辨率为1024×768、1440×900、1280×800 和1366×768,这是客户最可能使用的几种分辨率,系统一定要支持,其他的分辨率可以尽量兼容。有时为了降低风险,在启动系统时,系统会对当前的分辨率进行判断,如果当前的分辨率不是最佳分辨率,系统则会将分辨率强制转换为系统所支持的最佳分辨率。
1.3 打印机兼容
打印机兼容测试是指使用不同的打印机进行打印报告,观察打印出来的报告排版、内容是否正确。
现在很多系统都具备打印报告的功能,由于客户使用的打印机型号各不相同,所以系统需要兼容各厂家的打印机型号,保证打印报告的内容没有问题。一般情况下需求规格说明书中会明确定义系统支持哪些型号的打印机,但是客户如果已经有打印机了,肯定不希望因为购买了我们的系统而另外再买一台打印机。客户希望系统能支持他们现有的打印机。一般测试打印机兼容需要注意两个问题:一是不同厂家的打印机型号;二是打印纸的规格。
打印机型号兼容性方面,主要是兼容一些常用的打印机型号,由于不同型号的打印机对系统的字体兼容略有不同,所以有可能出现打印出乱码或打印内容丢失的现象。一般情况下需要规格说明书中详细定义兼容的打印机型号,但在系统设计过程中可以尽量考虑通过程序来做到更好的兼容,解决字体对打印结果的影响。
打印纸规格兼容性方面,主要是对常用的B4 和B5 纸进行兼容,由于纸张的大小不一样,对于纸张的兼容更重要的是注意排版内容是否正确、合理。需要注意的是,如果系统销售到国外,必须测试对Letter 纸张类型的兼容,因为国外主要使用的是Letter 类型的纸张。
1.4 数据库兼容
数据库兼容性主要包含两种情况:一是主动地升级数据库,包括数据库平台的升级;二是被动地升级,由于原数据库本身的缺陷或用户需求的更改,不得不升级数据库。
数据库兼容性测试要点如下:
(1)完整性测试。
检查原数据库中各种对象是否全部移入新数据库,比较数据表中数据内容是否与升级前数据库中的内容相同。
(2)应用系统测试。
模拟普通用户操作应用的过程,并结合其应用操作的运行结果进行检查,在数据库移植过程中,存储过程比较容易出错。
(3)性能测试。
数据库升级后,需要对升级后的数据库性能进行详细测试,并与升级前的数据库性能进行比较,检查数据库升级后性能变化的情况。
1.5 操作系统兼容
操作系统兼容性是指在一个操作系统上开发的应用程序,不做任何修改、不用重新编译即可直接在其他操作系统上运行。
由于软件开发技术的限制以及各种操作系统之间存在着巨大的差异性,因此目前大多商业软件并不能达到理想的平台无关性。如果该软件承诺可以在多种操作系统上运行,那么就需要测试它与操作系统的兼容性。
通常所说的操作系统测试,更多的是指在客户端的使用情况,即客户可能使用到的不同的操作系统平台。但对于一个多层次的系统,其兼容性不仅指客户端的使用,还包括服务器端兼容性,但服务器更换平台的情况相对较少,因此操作系统的兼容性更多是指客户使用的操作系统平台。操作系统兼容性的测试内容不仅包括安装,还需对关键流程进行检查。需要测试哪些操作系统上的兼容性,首先取决于软件用户文档上对用户的承诺。
客户端使用到的操作系统更多的是Windows 操作系统,在测试过程中需要注意以下一些问题:
(1)操作系统类型。
常见的Windows 操作系统主要包括 Windows XP、Windows Vista、Windows 7 和Windows 8操作系统,但欧洲地区使用更多的是Windows 7 和Windows 8 操作系统,Windows XP 相当来说使用得比较少。
(2)操作系统位数。
操作系统主要包括32 位和64 位两种,但需要注意在国内主要使用的是32 位操作系统,欧洲地区主要使用的是64 位操作系统。所以在测试中文的操作系统时就没有必要测试64 位了,只要测试32 位即可,同理对于英文操作系统一般只要测试64 位操作即可。
(3)操作系统补丁。
由于操作系统补丁不同,可能对应用程序带来影响,最主要的是不同补丁带来的库函数的影响。
1.6 数据共享兼容
数据共享兼容是指系统与其他系统进行数据传输的能力。应用程序之间数据共享可以增强系统的可用性,并且用户可以轻松与其他系统进行数据共享、传输。数据共享兼容性测试需要注意以下
几个方面:
(1)是否支持文件保存和文件读取操作;
(2)是否支持文件导入与导出操作;
(3)是否支持剪切、复制和粘贴操作,剪切、复制和粘贴操作是程序之间无需借助磁盘传输数据的最常见的数据共享方式;
(4)DDE(Dynamic Data Exchange,动态数据交换)和OLE(Object Linking Embedding,对象链接与嵌入)是Windows 操作系统中在两个程序之间传输数据的方式,DDE 和OLE 数据可以实时地在两个程序之间流动;
(5)是否支持磁盘的读写。