11月20日
纷乱的术语
接口:从接口测试说起,接口是某个对象和外界交互的部分,应用程序可能有很多接口。
用户界面UI(user interface)
消息交互接口,外界是其他程序:diameter,radius-socket tcp ; 基于SOAP的web service-HTTP;REST API -HTTP
编程接口:各种语言开发包,编程语言库 SDK
其它接口:数据服务产品:sql语言操作接口;对账系统:FTP文件接口
所有和外界交互的部分都是接口,对上述接口的测试都可以称之为接口测试。其实泛义上理解的话,所有的测试都可以称之为接口测试。
UI测试是测试UI接口,消息测试是测试消息接口,编程库的开发包测试是测试编程接口
web服务(web service)接口: 底层都是HTTP,像函数调用
互联网产品对外提供的服务接口,我们通常称之为 web服务接口,web service 接口,Web API
经常说的“接口测试”、“API测试”,就是对web服务接口的测试,包括 APP服务端接口
主要包括两种类型:基于SOAP的web service接口,REST接口
API
web API 基于互联网技术
REST API
SOAP
基于SOAP的Web Service接口
http://www.w3school.com.cn/soap/index.asp
http://www.w3school.com.cn/wsdl/index.asp
2002年,w3c定义了一套Web Service架构作为一个实现web service(注意两者的大小写)的标准规范
WSDL语言描述web service
用基于XML的SOAP协议来封装消息
用HTTP协议传输消息
优点:清晰没有歧义,用软件工具就可以定义出一个接口,甚至自动生成相应的代码
缺点:比较复杂;消息体大,占用内存和带宽多
REST架构 表现层状态转移
REST是Representational state transfer的缩写。它定义了一种网络应用软件的架构风格特性,具有这些风格特性的应用软件架构,可以称之为RESTful的软甲架构。
REST并非设计规范,而是一种风格
REST约束
具体的约束是什么?
架构整体采用客户端和服务器结构;连接协议具有无状态性:确保系统的横向拓展能力;能够利用Cache机制增进性能;层次化的系统