接口用例样式

接口

http api接口:是走http协议,通过路径来区分调用的方法,请求报文都是key-value形式的,返回报文一般都是json串,有get和post方法,这也是最常用的俩种请求方式。可以使用的工具有postman,RESTclient,Jmeter,Loadrunner等;

接口组成

首先,接口文档应该包含一下内容:

  1. 接口说明

  2. 调用url

  3. 请求方法(get/post)

  4. 请求参数,参数类型,请求参数说明

  5. 返回参数说明
    由接口文档可知,接口至少有请求地址,请求方法,请求参数(入参和出参)组成,部分接口有请求头header

    标头(header):是服务器以http协议传HTML资料到浏览器所发送的字串,在标头与HTML文件之间尚需空一行分割,一般存放cookie,token等信息

header和入参有什么关系?

首先,它们确实都是发送到服务器里的参数,但它们是有区别的,header里存放的参数一般存放的是一些校验信息,比如cookie,他是为了校验这个请求是否有权限请求服务器,如果有,它才能请求服务器。也就是说,服务器是先接受header信息来进行判断该请求是否有权限请求,判断有权限后,才会接受请求地址和入参的。

为什么要做接口测试

大家都知道,接口其实就是前端页面或app调用与后端做交互用的,所以好多人都会问,我功能测试都测好了,为什么还要测接口呢?ok,在回答这个问题之前,先举个例子:比如测试用户注册功能,规定用户名为6~18个字符,包含字母(区分大小写)。首先功能测试肯定会对用户名进行校验,比如输入20个字符,输入特殊字符等,但这些功能可能额只是在前端做了校验,后端可能没做校验,如果有人通过抓包绕过前端校验之间发送给后端怎么办?

试想一下,如果用户名和密码都未在后端做校验,而有人绕过前端校验的话,那用户名和密码不久可以随便输了吗?如果是登录可能会通过sql注入手段来随意登录,甚至可以获取管理员权限,那这样不是很恐怖吗?

所以,接口测试的必要性就体现出来了:

  1. 可以发现很多在 页面发现不了的bug
  2. 检查系统的异常处理能力
  3. 检查系统的安全性,稳定性
  4. 前端随便变,接口测好了,后端不用变
get请求和post请求的区别
  1. get使用url或cookie传参,而post将数据存放在body中
  2. get的url会有长度上的限制,则post的数据则可以非常大
  3. post比get安全,因为数据在地址栏上不可见
  4. 一般get请求用来获取数据,post请求用来发送数据
常见状态码

每发出一个http请求之后,都会有一个响应,http本身会有一个状态码,来标识这个请求是否成功

  1. 2**:2开头的都表示这个请求发送成功,最常见的就是200,就代表这个请求是ok的,服务器也返回了
  2. 3**:3开头的代表重定向,最常见的就是302,把这个请求重定向到别的地方 了
  3. 4**:400代表客户端发送的请求有语法错误,401代表访问的页面没有授权,403标识没有权限访问这个页面,404代表没有这个页面
  4. 5**:代表服务器有异常,500代表服务器内部异常;503服务器当前不能处理客户端的请求,一段时间后可能恢复正常;504代表服务器端超时,没返回结果
cookie和session区别

在网站中,http请求是无状态的。也就是说即使第一次和服务器连接后并且登录成功后,第二次请求服务器依然不知道当前请求是哪个用户。cookie的出现就是为了解决这个问题,第一次登录后服务器返回一些数据(cookie)给浏览器,然后浏览器保存在本地。当用户发送第二次请求的时候,就会自动的把上次请求存储的cookie数据自动的携带给服务器。服务器 通过浏览器携带的数据就能判断当前用户是哪个。cookie存储的数据量有限,不同的浏览器有不同的存储大小,但一般不超过4kb。因此使用cookie只能存储一些小量的数据

session和cookie的作用优点类似,都是为了存储用户相关的信息。不同的是,cookie存储在本地浏览器,而session存储在服务器。存储在服务器的数据会更加的安全,不容易被窃取。但存储在服务器也有一定的弊端,就是会占用服务器的资源。

接口测试用例模板
  1. 项目测试针对哪个项目
  2. 模块哪个功能模块
  3. 用例id
  4. 接口名称
  5. 用例标题测试用例概况
  6. 请求方式 get/post
  7. 请求url地址
  8. 请求参数
  9. 前置条件执行当前请求依赖的条件,不满足就不能正确执行
  10. 结果验证预期结果
  11. 请求报文可以不写
  12. 返回报文一定要写,这里应该是你请求返回的真实结果
  13. 测试结果通过/失败
  14. 测试人员
接口测试注意事项
  1. 改变请求参数,看响应结果是否和接口文档一致
  2. 查看参数是否有敏感信息(比如个人账户信息,资金信息)
  3. 查看是否对关键参数进行加密处理(密码信息)
  4. 所有列表页接口必须考虑排序值
  5. 接口返回的图片地址能否打开,图片尺寸是否符合需求
  6. 接口有翻页时,页码与页数的异常值测试
  7. 当输出参数有联动性,需要校验返回两参数的实际结果是否都符合需求
  8. 每个接口入参的默认值,异常类型,非空校验
  9. 入参支持多个值时,要考虑传的值的个数多的情况下,接口会不会报错

posted @ 2021-04-14 21:13  乐乐乐乐乐乐樂  阅读(124)  评论(0)    收藏  举报
jQuery火箭图标返回顶部代码