一:接口的定义:统称为API,程序与程序之间的对接,又称为灰盒测试,偏逻辑测试
为什么作接口测试:当界面功能没有出来时,测试人员可以尽早做接口测试,可以节省时间,可以突破前端的一些限制测不到的场景
二:测试接口主要测哪方面
前端和后端:测试前端显示后端的数据是否正确
系统内部的组件:测试相关逻辑是否处理正确
系统与系统之间(内部与外部)测试相关联的逻辑处理是否正确
三:为什么要做金接口测试(接口测试的好处)
1、接口通过工具来测试,他可以发现我页面发现不了的问题
2、可以检查系统异常处理能力
3、在接口测试完备的情况,页面改动不会影响后端的功能
4、可以检查系统的安全性,稳定性
5、可以模拟多用户或者单用户对同一个接口发起并请求操作
6、可以修改参数,突破前端对接口的入参和限制,利用各种条件组合对接口进行测试
四:如何设计接口用例
1、业务逻辑覆盖(包括正常,异常场景)
2、参数的验证-----边界,等价
2.1、参数的类型要求(数字,浮点型,字母,符号,空格,日期)
2.2、参数的长度、取值范围
2.3、日期格式
2.4、参数的配合说明,有些参数会与其他参数存在关联
2.5、参数是否必填
3、数据的验证=====返回的参数数据要与数据库的数据是否一致
4、性能测试(响应时间、吞吐量、并发数,资源要求)
5、安全测试(权限验证、SQL注入、病毒)
6、翻页器中翻页页码和页面是否一致
7、同一个请求不同时间操作返回的内容是不是一样
8、接口中包含图片或者视频检查是否被压缩
五:TCP/IP 的五层协议模型
物理层-数据链路层-网络层-传输层-应用层
传输层中的TCP和UDP有什么区别:
1、连接方面的区别:
TCP面向连接(在传输的时候需要建立连接),建立的过程是三次握手和四次挥手
三次握手:客户端请求连接---服务端确认---客户端确认---可以开始连接
四次挥手:客户端请求断开---服务端同意---服务端释放连接---客户端确认断开---byebye
UDP是无连接(在传输的时候不需要连接)比如:广播,音频
2、传输效率方面
TCP传输效率较低,适用于要求比较高的内容传输
UDP效率较高,适用于要求内容和时效性较高的通信或者广播
3、安全方面
TCP传输数据是无差错、不丢失、不重复、按照先后顺序传输
UDP只是尽最大努力交付,不保障可靠交付
六:http 和 https的区别:
1、http是超文本传输协议,默认端口号是80
https是超文本传输安全协议,默认端口号是443
2、传输内容:
http不加密传输
https加密传输
3、安全性
http连接简单,没有状态,明文传输,不安全
https采用https+SSL/TLS协议加密传输,安全
4、http免费
https需要申请ca整数,需要付费
七:常用的接口测试工具:
单接口:fiddler 、 postman、 jmeter soapui
接口自动化:fiddler、postman、jmeter、python、java
八:请求头
1.接口请求方式:post 接口的域名Host: cms.duoceshi.cn
接口名称:/cms/manage/loginJump.do
域名加接口名称就是接口地址:http://cms.duoceshi.cn/cms/manage/loginJump.do
HTTP/1.1:请求协议版本号
Connection: keep-alive 保持连接状态
Content-Length: 33 请求信息正文的长度
Accept: application/json, text/javascript, */*; q=0.01 接口可接受的MIME类型
X-Requested-With: XMLHttpRequest 使用什么格式的请求
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/100.0.4896.60 Safari/537.36 浏览器的类型
Content-Type: application/x-www-form-urlencoded; charset=UTF-8 传输文件的类型
x-www-form-urlencoded:表示表单类型
Origin: http://cms.duoceshi.cn 本地域名网址
Referer: http://cms.duoceshi.cn/cms/manage/loginOut.do 包含一个URL。表示该接口的上一个接口
Accept-Encoding: gzip, deflate 浏览器能够解释的编码格式
Accept-Language: zh-CN,zh;q=0.9 浏览器能够解释的语言
Cookie: JSESSIONID=2FFBA8A84A3106EA8995DA85A636A27F 请求时服务器生成的一个标识
九:请求体===请求参数--以键值对存在的
userAccount=admin&loginPwd=123456
十:响应头
HTTP/1.1 200 请求协议版本号 200===状态码(代表请求成功)
Server: nginx 服务器
Date: Mon, 27 Mar 2023 09:01:58 GMT 时间
Content-Type: application/json;charset=UTF-8 传输文件类型和编码格式
Connection: keep-alive 保持连接状态
Set-Cookie: JSESSIONID=EB8A2B91632F9B7569B0A861E2DD9C00;path=/cms;HttpOnly
请求时服务器生成的一个标识Set-Cookie
{"code":"200","msg":"登录成功!","model":{}} 响应体(返回参数) json格式
标签:01,http,请求,接口,传输,测试,cms From: https://www.cnblogs.com/jjm414/p/17262643.html