API/接口测试的目的与意义-软件功能测试自动化实战教程(3)

发表于:2015-4-01 08:46

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:周焕来、贾海涛    来源:51Testing软件测试网原创

(51Testing软件测试网获得作者授权连载本书部分章节。任何个人或单位未获得明确的书面许可,不得对本文内容复制、转载或进行镜像,否则将追究法律责任。)
  8.2.2  SOA概述
  SOA是一个组件模型,它将应用程序的不同功能单元(称为服务)通过这些单元之间定义良好的接口和契约联系起来。接口是采用中立的方式进行定义的,独立于实现服务的硬件平台、操作系统和编程语言。这使得构建在各种这样的系统中的服务可以以一种统一和通用的方式进行交互。这种具有中立的接口定义(没有强制绑定到特定的实现上)的特征称为服务之间的松耦合。松耦合系统的好处有两点,一点是它的灵活性;另一点是当组成整个应用程序的每个服务的内部结构和实现逐渐地发生改变时,它能够继续存在。而另一方面,紧耦合意味着应用程序的不同组件之间的接口与其功能和结构是紧密相连的,因而当需要对部分或整个应用程序进行某种形式的更改时,它们就显得非常脆弱。
  面向服务的体系结构不是一个新鲜事物,它是传统的面向对象的模型的替代模型。虽然基于SOA的系统并不排除使用面向对象的设计来构建单个服务,但是其整体设计却是面向服务的。由于它考虑到了系统内的对象,所以虽然SOA是基于对象的,但是作为一个整体,它却不是面向对象的,不同之处在于接口本身。然而,现在的SOA已经有所不同了,它是以可扩展标记语言(Extensible Markup Language,XML)为基础,通过使用基于XML的语言(Web服务描述语言(Web Services Definition Language,WSDL))来描述接口,服务已经转到更动态且更灵活的接口系统中。
  8.2.3  服务测试术语
  在SOA自动化功能测试过程中,与SOA相关的Web服务的术语主要有:
  HTTP(Hypertext Transport Protocol--超文本传输协议):是一种通信协议,详细规定了浏览器和万维网服务器之间互相通信的规则,通过因特网传送万维网文档的数据传送协议。
  JMS(Java Message Service--Java消息服务):应用程序接口是一个Java平台中关于面向消息中间件(MOM)的API,用于在两个应用程序之间,或分布式系统中发送消息,进行异步通信。
  REST(Representational State Transfer--表述性状态转移):是一种针对网络应用的设计和开发方式,可以降低开发的复杂性,提高系统的可伸缩性。
  SOAP(Simple Object Access Protocol--简单对象访问协议),或面向服务交换架构协议):是一种轻量级的、简单的、基于XML 的协议,它被设计成在Web上交换结构化的和固化的信息。SOAP 可以和现存的许多因特网协议和格式结合使用,包括超文本传输协议(HTTP)、简单邮件传输协议(SMTP)、多用途网际邮件扩充协议(MIME)。它还支持从消息系统到远程过程调用(RPC)等大量的应用程序。
  TEST:测试中描述用户执行的步骤,它模拟了真实用户使用应用程序的行为。
  UDDI(Universal Description Discovery and Integration--统一描述、发现和集成协议):UDDI是一个用来发布和搜索WEB服务的协议,应用程序可借由此协议在设计或运行时找到目标WEB服务。
  Web services:Web Service是基于网络的、分布式的模块化组件,它执行特定的任务,遵守具体的技术规范,这些规范使得Web Service能与其他兼容的组件进行互操作。Web Services 主要利用 HTTP 和 SOAP 协议使商业数据在 Web 上传输,SOAP通过 HTTP 调用商业对象执行远程功能调用,Web 用户能够使用 SOAP 和 HTTP通过 Web 调用的方法来调用远程对象。
  XML:(Extensible Markup Language--可扩展标记语言):用于标记电子文件使其具有结构性的标记语言,可以用来标记数据、定义数据类型,是一种允许用户对自己的标记语言进行定义的源语言。XML是标准通用标记语言(SGML)的子集,非常适合Web传输。XML提供统一的方法来描述和交换独立于应用程序或供应商的结构化数据。
  XSD(XML Schema Definition):XML Schema 是DTD的替代品。XML Schema语言也就是XML Schema Definition(XSD)。XML Schema描述了XML文档的结构。可以用一个指定的XML Schema来验证某个XML文档,以检查该XML文档是否符合其要求。文档设计者可以通过XML Schema指定一个XML文档所允许的结构和内容,并可据此检查一个XML文档是否是有效的。XML Schema本身是一个XML文档,它符合XML语法结构。可以用通用的XML解析器解析它。
  WSDL(web service description language--web服务描述语言):它是基于XML的用于描述 Web Services以及如何访问Web Services的语言。它是一个XML文档。用于说明一组SOAP消息以及如何交换这些消息。
  8.3  API测试通用流程
  HP UFT(Unified Functional Testing--自动化功能测试)工具中的服务测试为API级别中的测试提供了一种直观简便的方法。本节将介绍如何利用UFT的服务测试构建一个简单的API测试,通过测试已知应用程序和服务执行的活动,观察响应,通过检查应答,确定您的系统是否按预期执行来熟悉API的测试流程。本节主要包含以下几个部分内容:
  ■ 启动API服务;
  ■ 创建一个新的服务测试;
  ■ 服务测试窗口的介绍;
  ■ 构建测试流中的测试;
  ■ 数据驱动测试;
  ■ 测试步骤的连接;
  ■ 多个数据源的数据映射。
  8.3.1  启动API服务
  HP自带的HP航班服务,它可以作为Web服务和REST服务。HP航班服务与航班预订数据库共同作用就可以检索航班的目的地,创建客户的订单,更新保留或删除它们。进行API测试之前必须启动API服务,启动API服务按照下面三个步骤进行,如果想获得服务测试方法和操作的详细信息,可以在示例应用程序的命令窗口键入"help"。
  (1)选择"开始"--"所有程序"--"HP Software"--"HP Unified Functional Testing"--"Sample Application"--"flights API",命令窗口打开表明应用程序是可用。
  (2)如果窗口发出一条消息是默认端口24240是不可用,那么在<installation_directory>\ SampleApplication\ HPFlights_Service.exe.config文件中的文本编辑器appSettings节点上更换24240端口为一个有效的端口。
  (3)最小化"命令"窗口。
  如果已经打开HP航班服务,就可以开始为无界面的机票应用程序创建测试。
本文选自《软件功能测试自动化实战教程》,本站经作者的授权。
版权声明:51Testing软件测试网获作者授权连载本书部分章节。
任何个人或单位未获得明确的书面许可,不得对本文内容复制、转载或进行镜像,否则将追究法律责任。
相关文章
数据驱动测试中的参数化技术-软件功能测试自动化实战教程(2)
22/2<12
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号