接口基础第一篇:接口分类、网络协议
1 接口定义
1.接口是前后端沟通的桥梁,是数据传输通道,包括外部接口、内部接口,内部接口又包括:上层服务与下层服务接口、同级接口;
2.接口的本质及其工作原理是什么?
接口你可以简单的理解他就是URL,工作原理就是URL通过get或者post请求像服务器发送一些东西,然后得到一些相应的返回值。 本质就是数据的传输与接收。
输入数据————》接口(待测软件)————》返回结果
3.什么是接口测试?
接口测试是测试系统组件间接口的一种测试。接口测试主要用于检测外部系统与系统之间以及内部各个子系统之间的交互点。测试的重点 是要检查数据的交换、传递和控制管理的过程,以及系统间相互逻辑依赖关系等。
简单的说就是通过URL向服务器或者其他模块等,传输我们想传输的数据,然后看看他们返回的是不是我们预期想要的。
4.为什么要做接口测试
1)越底层发现bug,它的修复成本是越低的。
2)前端随便变,接口测好了,后端不用变。前后端是两拨人开发的。
3)检查系统的安全性、稳定性,前端传参不可信,比如京东购物,前端价格是不可能传入-1元,但是通过接口可以传入-1元。
4)如今的系统复杂度不断上升,传统的测试方法成本急剧增加且测试效率大幅下降,接口测试可以提供这种情况下的解决方案。
5)接口测试相对容易实现自动化持续集成,且相对UI自动化也比较稳定,可以减少人工回归测试人力成本与时间,缩短测试周期,支持 后端快速发版需求。接口持续集成是为什么能低成本高收益的根源。
2 接口的分类
目前在企业的测试当中,基本上所说的接口都是网络接口。
3 常见的接口类型
基于tcp私有协议接口
不采用常见的公用的应用层协议,而是采用自己公司内部的私有协议来组织和解析应用层数据。
优点:
- 安全性更高
- 效率更高
主要的应用场景:
- IM
- 游戏服务器端
- 物联网
webservice
简单的说WebService是一个SOA(面向服务的编程)的架构,它是不依赖于语言,不依赖于平台,可以实现不同的语言(通过 xml 描述)间的相互调用,通过Internet进行基于Http协议的网络应用间的交互。
dubbo
Dubbo是一款高性能、轻量级的开源Java RPC框架,它提供了三大核心能力:面向接口的远程方法调用,智能容错和负载均衡,以及服务自动注册和发现。
restful
RESTFull接口,简称REST,描述了一个架构式的网络系统;
RESTful架构是对MVC架构改进后所形成的一种架构,通过使用事先定义好的接口与不同的服务联系起来。在RESTful架构中,浏览器使用POST,DELETE,PUT和GET四种请求方式分别对指定的URL资源进行增删改查操作。因此,RESTful是通过URI实现对资源的管理及访问,具有扩展性强、结构清晰的特点。
RPC
- RPC(Remote Procedure Call)远程过程调用,简单的理解是一个节点请求另一个节点提供的服务
- 本地过程调用:如果需要将本地student对象的age+1,可以实现一个addAge()方法,将student对象传入,对年龄进行更新之后返回即可,本地方法调用的函数体通过函数指针来指定。
- 远程过程调用:上述操作的过程中,如果addAge()这个方法在服务端,我们还能像调用本地方法一样去调用这个addAge()方法,就是RPC
上面说的webservice和dubbo都是RPC的实现,RPC和协议无关,例如:webservice走的是http协议,dubbo可以走tcp协议.
4 网络协议
4.1 OSI的来源
OSI(Open System Interconnect),即开放式系统互联。一般叫OSI参考模型,是ISO(国际标准化组织)组织在1985年研究的网络互连模型。其含义就是推荐所有公司使用这个规范来控制网络。这样所有公司都有相同的规范,就能互联了。
4.2 OSI七层和TCP/IP四层的对应关系
TCP/IP协议族是对OSI七层标准模型的一个实现。
4.3 TCP/IP的四层的作用分别是什么
数据链路层(网络接口层)
负责在相邻的设备间通过物理线路(网线,光纤等)进行数据传输。
网络层
负责数据的包装、寻址和路由。网路层负责在原机器和目标机器之间建立它们所使用的路由。也就是负责数据传输的路线。就是通常说的IP层。这一层就是我们经常说的IP协议层。IP协议是Internet的基础。
传输层
传输层建立了主机端到端的链接,传输层的作用是为上层协议提供端到端的可靠和透明的数据传输服务,包括处理差错控制和流量控制等问题。该层向高层屏蔽了下层数据通信的细节,使高层用户看到的只是在两个传输实体间的一条主机到主机的、可由用户控制和设定的、可靠的数据通路。其中TCP协议(Transmission Control Protocol)提供可靠的数据流运输服务。UDP协议(Use Datagram Protocol)提供不可靠的用户数据报服务。
应用层
OSI参考模型中最靠近用户的一层,是为计算机用户提供应用接口,也为用户直接提供各种网络服务。我们常见应用层的网络服务协议有:HTTP,HTTPS,FTP,POP3、SMTP等。
本文来自博客园,作者:术科术,转载请注明原文链接:https://www.cnblogs.com/shukeshu/p/15501852.html