博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
《软件测试》第九章 兼容性测试
阅读量:3965 次
发布时间:2019-05-24

本文共 3077 字,大约阅读时间需要 10 分钟。

《软件测试》第九章 兼容性测试

9.0 前言

本章主要讲与硬件配置测试类似的交互测试领域——检查软件是否能够与其他软件正确协作。随着用户对来自各个厂商的各种类型程序之间共享数据能力和充分利用空间同时执行多个程序能力的要求,测试程序之间能否协作变得越来越重要了。软件兼容性测试工作的目标是保证软件按照用户期望的方式进行交互。

本章重点包括:

  • 软件兼容性的含义
  • 定义兼容性的标准
  • 平台是什么,平台对兼容性意味着什么
  • 为什么在软件应用程序之间传输数据的能力是兼容性的关键

兼容性测试综述

软件兼容性测试是指检查软件之间是否能够正确地交互和共享信息。交互可以在同时运行于同一台计算机上的两个程序之间,甚至在相隔几千公里、通过因特网连接的不同计算机上的两个程序之间进行。交互还可以简化为在软盘上保存数据,然后拿到其他房间的计算机上

兼容软件的例子如下:

  • 从Web页面剪切文字,在文字处理程序打开的文档中粘贴
  • 从电子表格程序保存账目数据,在另一个完全不同的电子表格程序中读入
  • 使照片修饰软件在同一操作系统下的不同版本正常工作
  • 使文字处理程序从通信录管理程序中读取姓名和地址,打印个性化的邀请函和信封
  • 升级到新的数据库程序,读入现存所有数据库,像老程序一样对其进行处理

兼容性对于软件的意义取决于开发小组决定用什么来定义,以及软件运行的系统要求的兼容性级别。

如果受命对新软件进行兼容性测试,就需要解答以下问题:

  • 软件设计要求与何种其他平台(操作系统、Web浏览器或者操作环境)和应用软件保持兼容?如果要测试的软件是一个平台,那么设计要求什么应用程序在其上运行?
  • 应该遵守何种定义软件之间交互的标准或者规范?
  • 软件使用何种数据与其他平台和软件交互和共享信息?

这些问题的答案是基本的静态测试——既有黑盒又有白盒,包括整体分析产品说明书和所有支持说明书。还需要与程序员讨论,尽可能深入审查代码以保证软件的所有链接内容得以确认。

9.2 平台和应用程序版本

选择目标平台或者兼容的应用程序实际上是程序管理或市场定位的任务。软件设计用于某个操作系统、Web浏览器或者其他平台要由熟悉客户基本情况的人来决定。他们还要明确软件的版本或软件需要兼容的版本。例如:

在这里插入图片描述
该信息是说明书的一部分,向开发者和测试小组说明软件的目标。每一种平台都有自己的开发标准,并且从项目管理的立场看,使平台清单在满足客户要求的前提下尽可能小是很重要的。

9.2.1 向后和向前兼容

向后兼容是指可以使用软件的以前版本;向前兼容是指可以使用软件的未来版本。并非所有软件或者文件都要求向前兼容或者向后兼容。这是软件设计者需要决定的产品特性,而软件测试员应该为检查软件向前兼容和向后兼容性所需的测试提供相应的输入。

9.2.2 测试多个版本的影响

测试平台和软件应用程序多个版本互相之间能否正常工作可能是一个艰巨的任务,同时也是一个运用等价划分减少工作量的实例。在开始兼容性测试任务之前,需要对所有可能的软件组合等价划分,使其成为验证软件之间正确交互的最小有效集合。简言之,由于不可能在一个操作系统上全部测试数千个软件程序,因此决定测试哪些是最重要的。关键词是重要。决定要选择的程序的原则是:

  • 流行程度。利用销售记录选择前100或1000个最流行的程序。
  • 年头。应该选择近3年以内的程序和版本。
  • 类型。把软件分为绘图、文字输入、财务、数据库、通信等类型。从每一种类型中选择要测试的软件。
  • 生产厂商。另一个原则是根据制作软件的公司来选择软件。

与硬件配置测试一样,没有教科书式的标准答案。软件测试员和开发小组需要决定哪些最重要,然后根据上述原则建立需要测试的软件的等价划分。

上一个例子是关于新操作系统平台的兼容性测试的。测试新应用程序也是一样,需要决定在哪个平台版本上测试软件,以及和什么应用程序一起测试

9.3 标准和规范

至此,本章讲述了如何选择程序兼容性测试所需的软件。现在来看一下如何进行实际测试第一步应该是研究可能适用于软件或者平台的现有标准和规范

实际上这些要求有两个层次:高级和低级。高级标准是产品普遍遵守的规则,例如外观和感觉、支持的特性等。低级标准是本质细节,例如文件格式和网络通信协议等。两者都很重要,都需要测试以保证兼容。

9.3.1 高级标准和规范

如果某个应用程序声称与某平台兼容,就必须遵守该平台自身的标准和规范。

9.3.2 低级标准和规范

从某种意义上说,低级标准比高级标准更重要。

假如创建一个运行在Window之上的程序,与其他Windows软件在外观和感觉上有所不同。它不会获得Microsoft Windows认证徽标。用户虽然不会因为它与其他应用程序不同而感到激动,但是他们可能会使用该产品。然而,如果该软件是一个图形程序,把文件保存为.pict文件格式(标准的Macintosh图形文件格式),而程序不符合.pict文件的标准,用户就无法在其他程序中查看该文件。该软件与标准不兼容,很可能成为短命产品

同样,通信协议、编程语言语法以及程序用于共享信息的任何形式都必须符合公开的标准和规范

此类低级标准常常不被重视,但是从测试员的角度来看必须测试。低级兼容性标准可以视为软件说明书的扩充部分如果软件说明书说:“本软件以.bmp,.jpg和.gif格式读写图形文件”,就要找到这些格式的标准,并设计测试来确认软件符合这些标准

9.4 数据共享兼容性

在应用程序之间共享数据实际上是增强软件的功能。写得好的程序支持并遵守公开标准;允许用户与其他软件轻松传输数据,这样的程序可称为兼容性极好的产品。

**程序之间最为人熟知的数据传输方式是读写磁盘。严格遵守磁盘和文件格式的低级标准是实现此类共享的前提。**虽然其他方式有时被想当然地接受,但仍然需要做兼容性测试。以下是一些例子

  • 文件保存和文件读取是人人共知的数据共享方法。文件的数据格式只有符合标准,才能在两台计算机上保持兼容
  • 文件导出和文件导入是许多程序和自身以前版本、其他程序保持兼容的方式。为了测试文件的导入特性,需要以各种兼容文件格式创建测试文档——可能要利用实现该格式的原程序来创建。这些文档需要等价划分可能的文本和格式,用于检查导入的代码是否正确转换为新格式。
  • 剪切、复制和粘贴是程序之间无须借助磁盘传输数据的最常见的数据共享方式。在这种情况下,传输在内存中通过称为剪贴板的即使程序实现
    在这里插入图片描述
    如果对某种程序进行兼容性测试,就要确认其可以利用剪贴板与其他程序正确地相互复制数据。这个特性实在太常用了,以致人们想不起来其背后还有大量代码来保证正常工作,与众多不同软件保持兼容。
  • DDE、COM和OLE是Windows中在两个程序之间传输数据的方式。DDE表示动态数据交换,而OLE表示对象链接和嵌入。DDE和OLE数据可以实时地在两个程序之间流动。剪切和复制是手工操作,有了DDE和OLE,数据传输可以自动进行。

9.5 小结

本章介绍了兼容性测试的基本知识。每一种平台和应用程序都是唯一的,一个系统上的兼容性问题与另一个系统可能完全不同。

如果在进行测试时记住以下3点,就可以得心应手地处理很多种任务

  • 对兼容软件的所有可能选择进行等价划分,使其成为可以控制的范围。当然,项目经理要认可测试清单,并接受由于未完全测试而引起的风险
  • 研究适用于测试软件的高级/低级标准和规范。把它们当作产品说明书的补充内容
  • 测试软件程序之间不同的数据流动方式。其中的数据交换就是程序之间保持兼容的因素

转载地址:http://edyki.baihongyu.com/

你可能感兴趣的文章
java 泛型
查看>>
控制结构
查看>>
标准输入输出
查看>>
运算符
查看>>
数据类型之列表与数组
查看>>
比较字符串
查看>>
Java EE 精萃
查看>>
Open Source 精萃
查看>>
Java EE 简介
查看>>
Weblogic 简介
查看>>
观察者模式 (Observer)
查看>>
Java 集合框架
查看>>
Weblogic 精萃
查看>>
Servlet 精萃
查看>>
XStream 精萃
查看>>
XStream 环境设置
查看>>
Git 分支
查看>>
Git 冲突
查看>>
Git Merging vs. Rebasing
查看>>
[第9课] 箱线图
查看>>