章九 兼容性测试
章九 兼容性测试
本章主要讲述与上一章类似的交互测试领域——检查软件是否能够与其它软件正确协作。
随着用户对来自各个厂商的各种类型程序之间共享数据能力和充分利用空间同时执行多个程序能力的要求,测试程序之间能否协作变得越练越重要了。
软件兼容性测试工作的目标是保证软件按照用户期望的方式进行交互。
一、兼容性测试综述
软件兼容性测试(Software Compatibility Testing)是指检查软件之间是否能够正确地进行交互和共享信息。
对新软件进行软件兼容性测试,需要解决:
(1)软件设计要求与何种其它平台和应用软件保持兼容?如果要测试的软件是一个平台,那么设计要求什么应用程序在其上运行?
(2)应该遵守何种定义软件之间交互当地标准或者规范?
(3)软件使用何种数据与其它平台和软件交互和共享信息?
这些问题的答案是基本的静态测试——既有黑盒又有白盒,包括整体分析产品说明书和所有支持说明书。
二、常用术语
1、术语
向后兼容(Backward Compatible):是指可以使用软件的以前版本;
向前兼容(Forward Compatible):是指可以使用软件的未来版本。
注意:并非所有软件或者文件都要求向前兼容或者向后兼容。这是软件设计者需要决定的产品特性,而软件测试员应该为检查软件向前或向后兼容性所需的测试提供相应的输入。
2、测试多个版本的影响
测试平台和软件应用程序多个版本相互之间能否正常工作可能是一个艰巨的任务,假定对一个流行操作系统的新版本进行兼容性测试。
注意:在开始兼容性测试任务之前,需要对所有可能的软件组合等价划分,使其成为验证软件之间正确交互的最小有效集合。
由于不可能在一个操作系统上全部测试数千个软件程序,因此需要决定测试哪些是最重要的。决定要选择的原则是:
(1)流行程度;
(2)年头:应选择近三年以内的程序和版本;
(3)类型:把软件分为绘图、文字输入、财务、数据库、通信等类型;
(4)生产厂商:另一个原则是根据制作软件的公司来选择软件。
以上是新操作系统平台的兼容性测试的。
三、标准和规范
1、研究可能适用于软件或者平台的现有标准和规范
(1)高级标准:是产品普遍遵守的规则;
(2)低级标准:是本质细节;
两者都很重要,都需要测试以保证兼容。
2、高级标准和规范
如:Microsoft Windows认证徽标
要求:软件必须通过由独立测试实验室执行的兼容性测试,其目的是确保软件在操作系统上能够稳定可靠地运行。
认证徽标对软件有以下几点要求:
(1)支持三键以上的鼠标;
(2)支持在C:和D:以外的磁盘上安装;
(3)支持超过DOS8.3格式文件名长度的文件名;
(4)不读写或者以其它形式使用旧系统文件win.ini、system.ini、autoexec.bat和config.sys。
3、低级标准和规范
通信协议、编程语言语法以及程序用于共享信息的任何形式都必须符合公开的标准和规范。
低级兼容性标准可以视为软件说明书的扩充部分。
四、数据共享兼容性
在应用程序之间共享数据实际上是增强软件的功能。写得好的程序支持并遵守公开标准;允许用户与其它软件轻松传输数据,这样的程序可称为兼容性极好的产品。
(1)文件保存和文件读取是人人共知的数据共享非法。
(2)文件导出和文件导入是许多程序与自身以前版本、其它程序保持兼容的方式。
为了测试文件的导入特性,需要以各种兼容文件格式创建测试文档——可能要利用实现该格式的原程序来创建。
(3)剪切、复制和粘贴是程序之间无需借助磁盘传输数据的最常见的数据共享方式。
(4)DDE,COM(Component Object Model)和OLE是windows中在两个程序之间传输数据的方式。
DDE表示动态数据交换;OLE表示对象链接和嵌入。
DDE和OLE数据可以实时地在两个程序之间流动。
五、总结
(1)对兼容软件的所有可能选择进行等价划分,使其成为可以控制的范围;
项目经理要认可测试清单,并接受由于为完全测试而引起的风险。
(2)研究适用于测试软件的高级/低级标准和规范;
把它们当作产品说明书的补充内容。
(3)测试软件程序之间不同的数据流动方式。
其中的数据交换就是程序之间保持兼容的因素。