接口测试基础

接口是系统间的交互入口,包括API、GUI、CLI接口,其中API接口常用于测试。接口测试涉及POST、GET等请求方式,通过模拟客户端发送请求,验证服务器响应。常见的响应状态码如200(成功)、404(未找到)。常用抓包工具有Fiddler、Charles,测试工具如SoapUI、Postman。接口测试用例需包括请求地址、参数、报文等,常见问题包括参数处理错误、权限校验不足等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、接口的定义

        接口是指系统模块与模块、系统与系统间交互的入口。一般多是http协议接口、WebService协议接口。一般分为三种:API(应用程序接口)、GUI(图形用户界面接口)、CLI(命令行接口),测试的接口指的是API接口。

2、接口测试的原理

        接口测试的原理是通过测试程序模拟客户端向服务器发送请求报文,服务器接收请求报文后对相应的报文处理,然后再把应答报文发送给客户端,客户端接收到应答报文这个过程。接口测试的重要意义是实现开发并行测试,减少页面层测试的深度,缩短整个项目的测试周期。

3、接口常见的请求方式

        接口的请求方式有POST、GET、HEAD、PUT、DELETE、OPTIONS、TEACE、CONNECT,一般情况测试验证时,只有POST和GET。

GET和POST区别:

        (1)GET通过URL提交数据,数据可以在URL中看见,POST提交数据在body体中;

        (2)GET提交的数据大小有限,浏览器对URL长度有限制,POST没有这个顾虑;

        (3)安全性问题:GET提交数据会显示在URL中,安全性相对较低,POST在body中

        (4)GET一般用于获取数据,POST一般用于提交数据,当然GET和POST均可用于获取或提交数据;

        (5)服务器取值方式不同。如PHP可以使用$_GET来获取变量的值,而POST方式通过$_POST来获取变量的值。

4、常见响应报文响应码

        1XX   信息性状态码

        2XX   成功状态码        200请求成功   

                                            201创建成功

        3XX   重定向状态码    301永久重定向,指定资源所在的位置    

                                            302临时重定向   

                                            304可以使用缓存,服务器允许访问,但发送的请求未满足条件的情况

        4XX   客户端错误        400请求报文语法错误  

                                            401需要通过http认证

                                            403请求被拒绝   

                                            404服务器无法找到资源  

                                            405不允许使用此方法请求相应的URL

        5XX   服务端错误        500服务器内部错误   

                                            501服务器不支持请求功能

                                            502代理服务器从上级收到了一条伪响应

                                            503服务器暂时不提供此服务,将来可以会提供

5、OSI七层协议

        OSI七层模型分别为物理层、数据链路层、网络层、传输层、会话层、表示层、应用层。

TCP协议:一种面向连接的、可靠的、基于字节流的传输层通信协议。建立和断开协议连接有三次握手和四次挥手。

UDP协议:一种面向非连接的、不可靠的的传输层通信协议。

TCP/IP是协议族。包含:TCP、IP、UDP、ICMP、RIP、TELNETFTP、SMTP、ARP、TFTP等许多协议。

TCP(Transport Control Protocol)传输控制协议 
IP(Internetworking Protocol)网间网协议 
UDP(User Datagram Protocol)用户数据报协议 
ICMP(Internet Control Message Protocol)互联网控制信息协议 
SMTP(Simple Mail Transfer Protocol)简单邮件传输协议 
SNMP(Simple Network manage Protocol)简单网络管理协议 
FTP(File Transfer Protocol)文件传输协议 
ARP(Address Resolation Protocol)地址解析协议 

HTTP协议:建立在TCP协议基础上的应用层协议。HTTPS协议是HTTP协议+SSL协议,SSL协议是一个加密协议,HTTP本身传输内容是明文,HTTPS是加密传输。HTTP端口是80,HTTPS端口是443,http和https本身都是超文本协议

6、常用的抓包工具

        Chrome 浏览器 F12

        Firefox 浏览器 Firebug

        Fiddler、Charles

        Httpwatch

7、常用的接口测试工具

        商业工具:SoapUI、LoadRunner

        开源工具:postman、Jmeter、Jsoup、HttpClient、Python的requests库

8、接口测试用例

        接口测试用例至少需要包括项目名称(模块)+用例编号+标题+请求地址(URL)+接口名称+请求方式+前置条件+请求参数+请求报文+返回报文+测试结果+结果验证(断言)

9、接口测试常见bug

(1)传入参数处理不当,导致程序crash

(2)类型溢出,导致数据读出和写入一致

(3)对象权限未进行校验,可以访问其他用户敏感信息

(4)状态处理不当,导致逻辑出现错误

(5)逻辑校验不完善,利用漏洞获取非正当利益等

10、接口测试测试要点

(1)每个参数类型不合法的情况(不要忘了NULL型,容易遗漏)

(2)每个参数取值范围不合法

(3)参数为空

(4)参数前后台定义的一致性

(5)每个参数的上下限

(6)接口有上下游关联的情况

(7)不同的请求方式

(8)请求参数加密

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值