"接口测试基础知识介绍及通讯协议"
接口测试是软件测试中非常重要的一部分,它是对系统或组件之间的接口进行测试,主要校验数据的交换、传递和控制管理过程,以及相互逻辑依赖关系。接口测试可以分为两种:手动测试和自动化测试。手动测试是通过人工发送请求和接受请求来测试接口的功能,而自动化测试是通过程序来代替人工进行测试。
接口测试的意义非常大,因为它可以使测试更早投入,测试一些界面无法实现或无法测试的范围,并且可以直接测试后端服务,跟踪服务器上运行的代码,也更容易发现影响范围广泛的bug。
实现接口测试有两种方式:使用接口测试工具和通过编写代码实现。使用接口测试工具可以更容易上手,但是测试数据不好控制,不方便测试加密接口,拓展能力不足。通过编写代码实现可以测试数据更容易控制,可以使用加密函数对接口加密,容易拓展。
接口测试的原理是基于黑盒测试,基本的测试思路是通过输入和输出判断被测系统或对象的逻辑是否符合用户需求。接口测试的原理可以分为两个部分:客户端发送网络请求和服务器响应。
HTTP协议是HyperText Transfer Protocol(超文本传输协议)的缩写,是用于从万维网(www)服务器传输超文本到本地浏览器的传送协议。HTTP协议是基于TCP/IP通信协议(建立连接-3次会话-断开连接-4次会话)来传递数据(HTML文件、图片、查询结果等)。
HTTP协议的特点是简单快速、灵活、无状态、无连接。无连接意味着每次连接时处理一个请求,限制每次连接时处理一个请求。无状态意味着对于事务处理没有记忆能力,缺少状态意味着如果后续处理需要前面的信息,则必须要重传,这样可能导致每次传输的数据量增加。
HTTP协议的工作原理是客户端/服务器(C/S)架构,例如浏览器作为客户端通过URL向服务器(web服务器)发送所有请求。web服务器根据接收到的请求后,向客户端发送响应信息。 web服务器有:阿里云、Apache、IIS、nginx。
HTTP默认端口为80,也可以自定义修改。HTTP消息是服务器和客户端之间交互数据的方式。有两种类型的消息:请求和响应。请求由客户端发送,用来触发一个服务器上的动作。响应来自服务器的应答。
HTTP请求组成有四部分:请求行、请求头部、空行、请求体。请求行是一般指请求包中第一行内容。通常包含以下信息:请求方法(request method)、请求路径(request path)、协议版本(protocol/version)。
请求方法有多种,例如GET、POST、HEAD等。GET请求是获取资源的请求,POST请求是提交数据的请求,HEAD请求是获取资源头信息的请求。
请求头部紧接着请求行(即第一行)之后的部分,用来说明服务器要使用的附加信息,主要是为了完成通信的控制。请求头的名称(类型)都是由HTTP协议提前约定好的,具有特定的通信效果的,一般不能自定义。
请求体是请求主体,是指第一个空行之后的内容,可以添加任意的数据。例如GET方法,通常来说body就是空的。POST方法才会产生body内容。
HTTP响应也由四个部分组成:状态行、响应头部、空行、响应体。状态行是一般指响应包中第一行内容。通常包含以下信息:状态码(status code)、协议版本(protocol/version)。
响应头部紧接着状态行(即第一行)之后的部分,用来说明服务器要使用的附加信息,主要是为了完成通信的控制。响应头的名称(类型)都是由HTTP协议提前约定好的,具有特定的通信效果的,一般不能自定义。
响应体是响应主体,是指第一个空行之后的内容,可以添加任意的数据。例如HTML文件、图片、查询结果等。
2025-06-03 09:05:05
2.91MB
1