当前位置:网站首页>Do you know the basic process and use case design method of interface testing?
Do you know the basic process and use case design method of interface testing?
2022-08-09 09:23:00 【software testing old mo】
目录
一、Basic information on interface testing
一、Basic information on interface testing
1、Two commonly used interfaces:webservice接口和http api接口
webService接口是走soap协议通过http传输,请求报文和返回报文都是xml格式的,可以用soupui、jmeter等工具进行测试.
http api接口是走http协议,通过路径来区分调用的方法,请求报文都是key-value形式的,返回报
The text is generallyjson串,有get和post等方法,可以用postman、jmeter等工具进行测试.
2、接口测试的必要性
It can be found that many operations on the page cannot be foundbug;
检查系统的异常处理能力;
检查系统的安全性、稳定性
3、接口测试流程
需求评审,熟悉业务和需求 → 开发提供接口文档 → 编写接口测试用例 → 用例评审 → 提测后开始测试 → 提交测试报告
4、Interface specification document
The interface documentation includes at least :
(1)接口说明
(2)调用url
(3)请求方法(get\post)
(4)请求参数、参数类型、请求参数说明
(5)返回参数说明
5、GET和POST请求
如果是get请求的话,直接在浏览器里输入就行了,只要在浏览器里面直接能请求到的,都是get请求,如果是post的请求的话,就不行了,就得借助工具来发送.
GET请求和POST请求的区别:
(1)GET使用URL或Cookie传参.而POST将数据放在BODY中.
(2)GET的URL会有长度上的限制,则POST的数据则可以非常大.
(3)POST比GET安全,因为数据在地址栏上不可见.
(4)一般get请求用来获取数据,post请求用来发送数据.
其实上面这几点,只有最后一点说的是比较靠谱的,第一点post请求也可以把数据放到url里面,get请求其实也没长度限制,post请求看起来参数是隐式的,稍微安全那么一些些,但是那只是对于小白用户来说的,就算post请求,你通过抓包也是可以抓到参数的.所以上面这些面试的时候你说出来就行了.
Actually there is not much difference,最大的区别就是get请求只能通过url传参
6、http状态码
(1)200 2开头的都表示这个请求发送成功,最常见的就是200,就代表这个请求是ok的,服务器也返回了.
(2)300 3开头的代表重定向,最常见的是302,把这个请求重定向到别的地方了.
(3)400 400代表客户端发送的请求有语法错误,401代表访问的页面没有授权,403表示没有权限访问这个页面,404代表没有这个页面.
(4)500 5开头的代表服务器有异常,500代表服务器内部异常,504代表服务器端超时,没返回结果.
二、接口测试用例设计
1、通过性验证;参数组合;异常验证(必传非必传,参数类型,参数长度);业务逻辑验证(如:登录失败5次,需要等待15Log in again in minutes)
2、接口安全:
(1)绕过验证,比如说购买了一个商品,它的价格是300元,那我在提交订单时候,我把这个商品的价格改成3元,后端有没有做验证,更狠点,我把钱改成-3,是不是我的余额还要增加?
(2)绕过身份授权,比如说修改商品信息接口,那必须得是卖家才能修改,那我传一个普通用户,能不能修改成功,我传一个其他的卖家能不能修改成功
(3)参数是否加密,比如说我登陆的接口,用户名和密码是不是加密,如果不加密的话,别人拦截到你的请求,就能获取到你的信息了,加密规则是否容易破解.
(4)密码安全规则,密码的复杂程度校验
3、接口测试模板
(1)项目 是哪个项目的
(2)模块 这个接口是属于哪个功能模块的
(3)用例id
(4)接口名称
(5)用例标题 用例是干嘛的
(6)请求方式 GET/POST
(7)请求url url地址
(8)请求参数
(9)前置条件 有依赖的时候,比如说要测登录失败3次的
(10)结果验证 预期结果
(11)请求报文
(12)返回报文
(13)测试结果 通过/失败
(14)测试人员
三、测试工具postman和jmeter
1、post请求,json入参
postman的json入参
jmeter的json入参
2、权限验证
postman权限验证
3、header
postman添加header
Jmeter选择选择HTTP信息头管理器,添加header信息;
选择HTTP信息头管理器
4、cookie
postman添加cookie
Jmeter添加cookie,“线程组 → 添加 → 配置元件 → HTTP Cookie 管理器” 来添加cookie;
meter添加cookie
5、上传文件
postman上传文件
jmeter上传文件
6、jmeter参数化、正则表达式和JDBC
(1)参数化三种方式:选项→函数助手对话框;Add user variables to the test plan;Get variable value from file.
(2)正则表达式
(3)JDBC
添加配置元件“JDBC Connection Configuration”,添加sampler中的JDBC Request;
注:JDBCcomponents and requestsVariable Name参数必须相同.
感谢每一个认真阅读我文章的人!!!
如果下面这些资料用得到的话可以直接拿走:
1、自学开发或者测试必备的完整项目源码与环境
2、测试工作中所有模板(测试计划、测试用例、测试报告等)
3、软件测试经典面试题
4、Python/Java自动化测试实战.pdf
5、Jmeter/postman接口测试全套视频获取
我个人整理了我这几年软件测试生涯整理的一些技术资料,包含:电子书,简历模块,各种工作模板,面试宝典,自学项目等.如果在学习或工作中遇到问题可以直接进群询问,群里也会有大神帮忙解答,需要的可以找我谢谢.
边栏推荐
猜你喜欢
本体开发日记03-排错进行时
Redis high availability
Venture DAO Industry Research Report: Macro and Classic Case Analysis, Model Summary, Future Suggestions
"The camera can't be used" + win8.1 + DELL + external camera + USB drive-free solution
MySQL lock
谷歌地图时代结束,怎么看高清卫星影像地图?
软件测试流程包括哪些内容?测试方法有哪些?
本体开发日记05-努力理解SWRL(中)
Redis高可用
关于指针、地址的大小的问题(以及malloc的用法)
随机推荐
代码导读-目录
ASP.net中的数据库应用
通用的测试用例编写大全(登录测试/web测试等)
unittest测试框架原理及测试流程解析,看完绝对有提升
“摄像头用不了”+win8.1+DELL+外置摄像头+USB免驱的解决办法
MySQL Leak Check (4) Stored Procedures and Cursors
【培训课程专用】Secureboot
关于指针、地址的大小的问题(以及malloc的用法)
二叉树的遍历(非递归)
ARMv8/ARMv9视频课程-Trustzone/TEE/安全视频课程
Ovie map computer terminal and mobile terminal can not be used, is there any alternative map tool
MySQL event_single event_timed loop event
接口测试的概念、目的、流程、测试方法有哪些?
These 12 GIS software are better than the other
mysql优化——show processlist命令详解
白盒测试的概念、目的是什么?及主要方法有哪些?
国产谷歌地球同款软件,查看下载19级高清卫星影像so easy!
Global 19 Google Satellite Map Free View Download
Another implementation of lateral view explode
Onnx - environment build 】 【 tensorrt