笔记:接口测试

本文详细介绍了接口测试,包括接口的定义、分类和组成,接口测试的概述和流程,以及常见的接口测试方法。接口分类为程序接口和协议接口,接口测试关注后端数据的正确性与安全性。此外,文章还提到了HTTP请求方法、响应状态码和JSON格式在接口测试中的作用。
摘要由CSDN通过智能技术生成

接口

什么是接口

接口也叫API(ApplicationProgrammingInterface,应用程序编程接口) 是一组定义、程序及协议的集合 。
它提供访问一组例程的能力,无需访问源码或理解内部工作机制的细节。
无需访问源码/内部工作机制就能访问一组例程。

接口分类

1.程序接口(代码内部),采用白盒测试,使用同语言,调用函数、类、方法。
2.协议接口(系统之间,通过网络进行数据传递交互),采用黑盒测试,发送数据,查看响应。
2.1按照系统不同的调用方式:
系统之间的,微信提供的第三方登录接口。
系统内部,服务之间的,抽奖用户接口,输出用户名,调用用户查询接口。
下层服务对上层服务的。应用层,服务层,数据层。应用层与 Service 主要通 过 HTTP 接口,Service 层与 DB 层主要通过 DAO(DataAccessObject)数 据库访问接口。
2.2按照协议不同:
webService接口
http api接口

接口组成

接口文档:接口说明
调用 url
请求方法(get/post)
请求参数、参数类型、请求参数说明、请求头 header
返回参数说明、请求响应的代码、响应内容
接口四功能:增删改查;三要素:URL+请求方法,提交数据,响应数据。
http请求方法与请求参数:
请求参数:客户端向服务器发送的数据,可见或者不可见。
请求方法:
get请求:
发送指定参数的请求来获得服务器上的某一资源。
提交的请求数据放在URL 之后,以?分割 URL 和传输数据,参数之间以&相连,如 EditPosts.aspx?name=test1&id=123456。
Post请求:
向指定资源提交数据。
提交的请求数据不在URL中出现,而是被包含在请求体中。
Get与post的区别:
传参数方式不同;有参数长度限制,get的参数长度小;post更安全,因为get的可被缓存;g用来获取数据,p用来发送请求数据;g请求数据只支持ASCII类型,p无限制。
Header
标头是服务器以HTTP协议传HTML资料到浏览器前所送出的字串,一般存放cookie\token等信息。存放的信息用于校验。
响应状态码
每发出一个HTTP请求,都会有一个响应,HTTP本身的状态码,来辨识请求是否成功。
常见状态码:
1**:服务器收到请求,需要请求者继续执行操作。
200:2开头是请求发送成功。200请求可以,服务器也返回了。
300:3开头表示重定向,302代表把请求重定向到别的地方。
400:客户端发送的请求有语法错误,401没有授权,403没有权限,404没有页面。
500:5开头服务器有异常,500服务器内部,503超载或系统维护,504服务器端超时。
响应数据:
请求页面后,显示的服务器返回的资源。格式:JSON。

接口测试

接口测试概述

接口测试就是代替前端或者第三方验证后台响应数据是否正确。重点是看后端是否符合接口规范。
好处是安全,效率。
原理:模拟用户(客户端)向服务器发送数据,并查看响应进行判断。

接口测试流程

总流程:熟悉业务需求
分析接口文档:接口文档内容含有接口的四个方法和接口三要素
在这里插入图片描述 在这里插入图片描述

编写接口测试用例,需要考虑通过性验证,参数组合,接口安全(绕过验证,绕过身份授权,参数是否加密,加密规则是否破解容易,密码安全性校验),异常验证,(输入的参数与接口文档上不一样),根据公司的业务逻辑设计。
开始测试,URL定位,提交数据,响应数据符合预期?数据风格JSON。
提交测试报告
分类:web接口测试(B/S架构)分为服务器接口测试(自己公司的接口),外部接口测试(第三方)
模块接口测试(C/S架构)

接口测试方法

接口测试方法一:浏览器直接测试
API接口清单中的地址,浏览器访问。缺点,查看结果不方便。
接口测试方法二:插件
火狐-RESTClient.
Jmeter:基于JAVA开发环境,优点:开源、免费、支持多协议、小巧、功能强大。缺点:不支持IP欺骗和前端测试。
性能测试:反应,规定时间,响应时间。
压力测试:并发用户数。
Jmeter组件
1. 线程组。进程,线程,线程组。设置多个模拟用户数,设置线程数,限制时间,循环次数等属性。设置调度器,相当于计时器,持续时间,间隔时间;或者启动时间,结束时间。
2. 参数化。动态获取设置数据。使用程序代替人工。安全、高效。
实现组件:CSV Data Set Config
一次操作,多次上传。
过程:创建文本文档,存储要添加的记录,按照格式,一行一个记录,不同字段,分割;编写添加框架JSON,设置循环次数;Jmeter+CSV组件,循环读取,设置,分割,编码集。
3. 查看结果树;
查看请求服务器时的请求信息;查看响应数据;记录信息到指定文件。
4. 高级线程组
SetUp:最先执行,加载程序主体执行所需的资源。
TearDown:最后执行,程序关闭前,将数据保存进内存。

Result风格和JSON格式

接口架构-Resultful接口设计架构风格,设计原则,规定了URL,提交数据,响应数据的实现方式;维护程序易读性。
总结
对结果进行判断
增删改查不同的反应。
JSON
传输数据的载体,HTML,XML格式都可以,但是,存放数据效率低。
JSON 好处传输效率高,缺点,简洁导致描述性差。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值