互操作性测试

互操作性测试,互操作性指的是软件产品与一个或者更多的规定系统之间进行交互的能力,用于验证软件产品在多种指定的目标环境下(如硬件、软件、中间件和操作系统等)是否可以正常工作。在描述互操作性测试时,需要明确识别多种指定的目标环境的组合,并在正式测试之前确保相关的环境配置就绪。通过选择功能性测试用例覆盖在目标环境中出现的不同组件,进而测试这些目标环境。

互操作性主要关注软件产品部署的时候和外部环境的接口规格说明,外部系统或者外部环境可以是软件产品的一部分,也可以是其需要集成的其他商业软件或硬件。软件产品的互操作性与多个不同的软件系统交互有关。具有良好互操作特性的软件在不需要较大变更的情况下,可以容易地与其他系统集成,因此变更的数目和用来完成这些变更所需要的工作量可以作为评估软件产品互操作性的度量指标。

互操作性测试可以关注以下方面。
(1)输入的互操作性:软件产品可以正常使用与之集成的其他软件产品或者系统输出(数据格式和协议格式等)。例如,IGMP功能模块可以正确识别从用户端发出的IGMP申请加入组播组的报文,IGMP v2报文的字段格式如图示。
互操作性测试

(2)输出的互操作性:软件产品必须输出标准或者协议规定的格式,如IGMP功能模块发出的IGMP报文必须满足IGMP3个版本IGMP v1(RFC 1112)IGMP v2(RFC 2236)IGMP v3(RFC 3376)中的一个,即IGMP功能模块发出的IGMP报文必须满足协议规定的格式。
(3)软件产品是否具有自动检测与该软件交互的系统的通信请求并做相应处理的能力。

  • iBAS R1.0提供了10M/100M/1000M不同速率自适应的电口,在系统和其他产品集成时,如果对端的产品的物理接口是100M电口,那么iBAS R1.0系统需要实现不同速率的自适应,即其物理接口自动适应为100M电口,以和对端进行正确的数据交互。
  • iBAS R1.0支持IGMP v1、IGMP v2IGMP v3协议的3个版本,在和其他系统集成时,如果对端系统支持的IGMP协议是IGMP v2,那么iBAS R1.0可以自动将IGMP协议调整为IGMP v2。

互操作性测试在如下情况下尤其重要。
(1)商业软件系统(COTS)或工具:这些软件产品需要尽量多地在不同环境下运行,如不同的硬件、软件和操作系统等。
(2)综合系统:由不同系统组成的复杂的系统,在系统集成测试中需要确保不同系统可以实现互操作。

案例分析:SAN卷控制器的互操作性测试

本案例为SAN卷控制器的互操作性测试。

(1)案例介绍
SAN卷控制器(SAN Volume Controller,SVC)是用来对存储进行虚拟化的设备。一个复杂的企业级IT基础架构要实现最佳的业务成效,所需要的并不仅仅是部署新的解决方案;同时还需要将IT重新定义为一个多功能,并且可以随需求应变的企业战略工具。SVC能够同时管理同一个厂家的不同型号的存储设备和不同厂家的存储设备。

SAN卷控制器软件已经预装在SVC存储引擎中,一旦将引擎连接到存储区域网络,即可快速实施。SVC可控制现有存储,保留现有的全部信息。此功能可帮助加速及简化实施,并且有助于最大限度降低对额外存储的需求。一旦实施SVC,即可根据需要迅速轻松地更改配置。由于SVC对服务器显示为单个存储类型,所以服务器映像中只需要一种驱动程序类型,从而简化了虚拟服务器的配置和服务器映像的管理。同样SVC可以轻松更换存储或将数据从一个存储类型移到另一个存储类型,因为这些更改都不要求更改服务器映像。如果不使用SVC,存储类型的更改则可能要求中断性更改服务器映像。 SVC组网示意如图所示。
互操作性测试

从图中可以看出SVC需要和多种不同的服务器、存储设备及SAN交换机交互,互操作
性是SVC测试中的一个重要部分。该互操作性测试不仅体现在与不同的服务器和存储设备等硬件设备上,而且要考虑位于这些硬件上的操作系统、多路径软件、HBA驱动及集群管理软件等。SVC互操作性测试可能涉及的服务器、存储设备和SAN交换机如表所示。
互操作性测试

互操作性测试

(2)SAN卷控制器互操作性测试设计
从表中发现SVC设备的互操作性比较复杂,其中还有多项是简化的,在实际的测试中还会有更多的选择。例如,针对Solaris10服务器端有Sparc和X86两种平台。并且存储设备端HP或者EMC也有多种不同型号,SAN网络交换机也是同样情况。在存储网络的互操作性测试中,除了表5-6中涉及的这些对象以外,还涉及HBA卡、多路径软件和集群软件等多种相关的交互对象,最终的互操作性测试结果非常复杂。目前SVC支持的服务器端OS为HP-UX 11i v3(B.11.31)在PA RISC和Itanium平台上的互操作性测试如表所示。
互操作性测试

在很多互操作性测试中结对测试是经常使用的技术,因为完全测试所有组合显然是不可能完成的任务,那么通过结对测试能够实现所有输入的两两组合。但是在SVC的互操作性测试中即使是两两组合,最终的测试用例数目也是一个很大的数字。而且由于SVC的组网比较复杂,并涉及用户的存储数据,所以每个测试用例无论是环境的搭建,还是测试执行都是一个费时的工作。面对这种情况,为了能够在现有资源条件下尽可能地提高测试的效率,采取以下策略。
(1)在可能情况下争取所有的输入至少被测试过一次。
(2)在同一个测试中覆盖多种设备,如SVC后台的存储同时有DS4300和DS8000两种型号,并且服务器上使用的两块HBA卡分别是两种不同的型号。
(3)安排专门的测试部门负责互操作性测试。
(4)收集市场需求,针对使用最广的组网优先测试。
(5)根据市场需要动态安排需要测试的组合。
(6)根据测试人员的经验优先挑选最可能出问题的组合进行测试。

案例分析:Gmail的互操作性测试

本案例为Gmail的互操作性测试。

(1)案例介绍
Gmail是Google提供的一个电子邮件系统,如图所示是其登录界面。
互操作性测试

Gmail除了具有常见邮件系统的邮件收发功能以外,还集成了过滤器、搜索、实时聊天和反垃圾邮件等强大功能。其用户来自世界各地,他们可能使用多种操作系统和浏览器,这就使互操作性测试显得尤其重要。Gmail支持的操作系统有Windows、MAC和Linux,支持的浏览器包括谷歌浏览器、Firefox、IE、Safari、Netscape和Opera。但是并不是所有的操作系统和浏览器的组合都能够使用Gmail,而且部分版本较低的浏览器只能使用其部分功能,甚至有些版本很低的浏览器无法使用Gmail的标准视图,只能使用基本的HTML视图。

(2)互操作性测试设计
目前Gmail支持浏览器和操作系统的互操作组合如下表所示。
互操作性测试

Gmail并不是完全不支持表中没有列出的组合。为了能够支持一些较低版本,Gmail提供了基本HTML视图的功能,当浏览器是IE 4.0+、Netscape 4.07+Opera 6.03+时可以通过该视图来访问邮件。当然此时有些功能无法使用,如创建过滤器、拼写检查和地址自动完成等功能。在测试Gmail的互操作性时,需要测试上面提到的各种组合。

酷客教程相关文章:

赞(1)

评论 抢沙发

评论前必须登录!