请选择 进入手机版 | 继续访问电脑版
 找回密码
 立即注册
  • 便民服务
  • 关注我们
  • 社区新手

第三十一天 【接口测试理论】

[复制链接]
接口的定义:
1、什么叫接口:接口统称为api,程序与程序之间的对接、交接,接口测试主要用于检测外部系统与系统之间以及内部各个子系统之间的交互点;主要是为了检验不同组件(模块)之间数据的传递是否正确,同时接口测试还要测试当前系统与第三方系统的对接,比如和:支付宝、财付通、微信、银联。
2、为什么做接口测试:
当界面功能没出来时,测试人员可以做接口测试,一是节省时间,二是测试一些界面功能测不到的场景。
3、如何做接口测试?
目前项目前后端主要是基于http协议的接口,所以测试接口时主要通过工具或代码模
拟http请求发送与接收,来实现手工接口测试和自动化接口测试。

1、ui自动化不会去连接数据库
2、服务端(数据库的数据)需要显
示在ui界面就需要调接口
3、ui界面==》功能测试
接口层==》接口测试
代码层==》单元测试


接口测试基础之网络基础
1、网络的概念:在T领域,网络是信息传输、交换、接收、共享的虚拟平台,通
过它把各个点、线、面的信息联系在一起,从而实现资源共享。
2、网络的四要素:
有独立功能的计算机
有通讯设备和通讯线路
有网络软件支持
实现资源共享

网络协议(TCP/IP)(network protocol)
1)什么是tcp/ip协议?
中国人和中国人说话,要遵循汉语的的语法结构,使用汉语的发音。当我们和外国人交流时,就要适用外国的语言了,遵循外国的语法机构和发音。其实这就是一种协议,只不过我们称之为语言。计算机在这方面体现的更为直观,两台机器之间该如何通信呢,就需要制定各种各样的协议。例如:文件传输适用TCP协议。域名系统适用DNS协议。有了这些协议的存在,各种数据流按照规则传输,计算机之间得以通信。
TCP/IP协议是一个协议集合。所以统称为TCP/IP。TCP/IP协议族中有一个重要的概念是分层,TCP/IP协议按照层次分为以下五层。应用层、传输层、网络层、数据链路层,物理层。

2)什么是OSI
OSI参考模型(OSI/RM)的全称是开放系统互连参考模型(Open System
Interconnection Reference Model,OSI/RM),它是由国际标准化组织提出的一个网络系统互连模型。在这个OSI七层模型中,每一层都为其上一层提供服务、并为其上一层提供一个访问接口或界面,不同主机之间的相同层次称为对等层。对等层之间互相通信需要遵守一定的规则,如通信的内容、通信的方式我们将其称为协议(Protocol)

HTTP : 超文本传输协议,端口号为80
Telnet :远程登录协议
FTP/TFTP:用于文件传输的协议
DNS:域名解析
SMTP:邮件服务协议
TCP:传输控制协议,面向连接的。
UDP:用户数据包协议。无需建立连接就可以发送数据包的方法。
IP:网际互联协议
ARP:地址解析协议

其他的协议和端口
telnet:远程登入协议  23
FTP:文件传输协议 21
SMTP:邮件传输协议 25
DNS:域名解析协议 53
POP3:邮件服务器 110
UDP:用户数据报协议
OSI:网络协议
IOS:苹果操作系统ISO:镜像文件格式

TCP传输控制协议(Transmission Control Protocol)是一种面向连接的、可靠的、基于字节流的传输层通信协议,电脑是通过增删改查这四种方式与服务器进行交互的。其中中间有一个TCP传输层,让电脑和服务器建立连接的,它是采用三次握手确认建立一个连接。四次挥手,终止TCP连接。

TCP协议是建立在客户端和服务端之间的,在进行数据传输之前必须要建立连接。
SYN:是请求同步包,意思是同步客户端的数据到服务端。
seq:是序列号,相当于传了几个参数/变量,就是说传输了一个有标记的东西。
ACK:是确认同步包。相当于服务端收到客户端的请求包之后,进行确认,确认之后在参数上做了修改返回给客户端。(就是数据包)
established:建立连接,客户端跟服务端建立了连接。

常见的协议以及端口:

1、HTTP协议是Hyper Text Transfer Protocol(超文本传输协议)的缩写,是用于从万维网(www:World Wide Web )服务器传输超文本到本地浏览器的传送协议,HTTP协议的端口号为:80
2、HTTP协议的工作原理:
HTTP协议工作于害户端-服务端架构为上。浏览器作为HTTP客户端通过URL向HTTP服务端即WEB服务器发送所有请求。Web服务器根据接收到的请求后,向客户端发送响应信息。
3、HTTPS(全称: Hypertext Transfer Protocol Secure,超文本传输安全协议)WEB服务存在http和https两种通信方式,http对于传输采用不加密的方式,https默认采用443端口,在HTTPS数据传输的过程中,需要用SSL/TLS对数据进行加密和解密。

常见的接口测试工具
fiddler(抓包软件,也可以用来测试接口)
postman (以前属于谷歌浏览器的插件,最常用的一款接口测试工具)
jmeter (市面上最流行的接口和性能测试工具)
Charles (Mac系统苹果电脑用这个抓包工具用的比较多)soapui (soapUI可以测自动化和性能,也比较常用)
wireshark(抓包软件,也可以用来抓取tcp和udp. tls协议的数据)
接口的类型:
1、http接口:基于http协议的开发接口分为: http和https的接口,请求报文都是key-value形式的,返回报文一般都是json串和文本格式等等。
2、RPC接口: Remote Procedure Calls远程过程调用(RPC)是一种协议3、RMI: RMI (Remote Method lnvocation,远程方法调用)RMI是针对于java语言的,RMI允许您使用Java编写分布式对象
4、Webservice接口:Webservice是系统对外的接口5、RESTful风格的接口
6、接口的测试流程:接口测试需求分析接口测试需求评审编写接口测诎计划
编写接口测试用例/接口测试用例评审用例导入接口测试工具(执行用例)发现BUG提交到禅道
编写小结测试报告编写总结测试报告

8、HTTP状态码详细解释:
200请求已成功,请求所希望的响应头或数据体将随此响应返回;
201请求已经被实现,而且有一个新的资源已经依据请求的需要而建立,且其URI已经随Location头信息返回;
302请求的资源现在临时从不同的URI响应请求;
400语义有误,当前请求无法被服务器理解;除非进行修改,否则客户端不应该重复提交这个请求/请求参数有误;
403服务器已经理解请求,但是拒绝执行它;
404请求失败,请求所希望得到的资源未被在服务器上发现;
500 服务器遇到了一个未曾预料的状况,导致了它无法完成对请求的处理;501服务器不支持当前请求所需要的某个功能;
505服务器不支持,或者拒绝支持在请求中使用的HTTP版本;



分享至 : QQ空间
收藏

0 个回复

您需要登录后才可以回帖 登录 | 立即注册