美文网首页
接口测试的一些知识

接口测试的一些知识

作者: 猪儿打滚 | 来源:发表于2019-11-12 10:15 被阅读0次

一、接口的种类

  • 系统内部的接口:系统内部的方法和方法,模块和模块之间的交互。系统内部调用,不暴露在外
  • 系统对外的接口:系统如果想要提供资源给外界(或者外界想获取系统的资源),肯定不是直接给数据库给对方,而是写好一个方法,然后暴露出一个对外地址。这样外界就能通过这个地址去调用这个方法,从而获得所想要的资源(这里的获取,也可以说是操作,对应数据库的CRUD)

二、常用的接口(也称为API)

  • http/https接口:使用的是http协议,通过路径/地址来区分所要调用的方法,请求报文是键值对形式,返回报文一般是json,常用的请求方法有get、post等方法
  • webService接口:使用的是soap协议,请求报文和返回报文都是xml格式,一般用于多应用系统的复杂机构中,或者是不同技术平台之间的数据交互
  • 两个协议的接口测试,都可以通过jmeter、loadrunner来进行,当然,自己写代码实现也行

三、接口的组成

四、接口测试的优点

  • 降低修复成本:bug发现越晚,修复成本越高。而接口测试能比功能测试更早发现bug
  • 缩短产品周期:提前发现bug,提前修复bug,在功能阶段的bug就会减少,从而缩短整个产品的周期
  • 发现更底层的问题:对于一些参数的校验,可能前端进行了检验处理,但是后端并没有
  • 测试的持续集成:接口测试可以为项目稳定后的自动化测试提供前提条件,能够降低自动化测试阶段的测试用例准备时间

五、接口测试的关注点

黑盒测试是把整个系统当成一个黑盒,只关注输入和输出,不关注内部实现。同理,接口测试就是把接口当成一个黑盒,只关注输入(请求参数)和输出(响应数据),不需要了解接口内部的具体逻辑实现

六、接口测试必备知识点

  • http协议和https协议的不同
  • http协议的常用的方法:GET、POST的作用以及区别
  • http协议的状态码及其意义

七、接口测试用例参考模板

模板1
模板2

八、接口测试用例的设计思路

1、通用设计思路

  • 正常情况验证
    按照接口文档上所写的参数的正常情况,正常传入数值,看响应信息是否正确

  • 参数逻辑组合
    比如说有个操作商品的接口, 有一个字段type,type=add代表添加商品,type=delete代表删除商品。其中type=delete时,商品id是必传字段;这样的话,就需要测试type和商品id的组合情况

  • 绕过验证的情况
    1.绕过逻辑验证:比如说提交订单接口,把订单总价格改成负数或者错误数值,看后端是否做了负数验以及价格对比判断
    2.绕过身份验证:比如说推广员才能进行拉人,那么使用非推广员身份去调用拉人接口,看是否做了身份验证
    3.更多情况...

  • 异常情况
    不遵循接口文档的正常要求进行参数的输入,大体可归类为四种:必填、非必填、参数长度、参数类型。
    比如:不符合规定类型的值、超出长度限制的值、空、空字符串、不符合所要求的字段的值、必填参数不填写、非必填字段不填写or填写等多种情况。

2、根据业务逻辑来设计

根据所测试的系统的业务逻辑来进行用例设计,在设计之前,需要对业务逻辑了解。其设计思维和功能测试差不多,所使用的设计测试用例的方法也是常用的那几种:等价类、边界值、场景法、错误推测、因果图、判定表等。

  • 例子
    1.推广员推广一个成功办卡并首刷的用户,可获得100块奖励
    2.助力活动,一个用户一天最多助力3次
    3.组团活动,一个用户最多能组1个团
    ...
    然后根据这些业务逻辑,找测试点,设计测试用例,调用接口,查看响应数据

九、用什么工具测试

理论上说,只要能够发送请求,查看响应的工具都可以进行。但是方便好用的工具,能够提高测试效率以及降低维护成本,个人建议使用:jmeter、postman。如果满足不了需求,则可以写脚本。
工具只是用来提高工作效率的,不要被工具所束缚住,了解本质和解决问题的思维更重要。学习一个工具的使用,只是百度的功夫。

十、一些注意点

1.使用jmeter进行post请求传递json参数时,请求头需设置Content-Type:application/json
2.jmeter中,请求头设置charset:utf-8是不起作用的,具体体现于如果传递中文参数,保存到数据库的数据会出现乱码情况。解决方法:在“HTTP请求”页面右边的Content encoding中输入所需的编码,一般是utf-8
3.接口测试只对接口负责,也就是只对接口的响应信息负责。除非真的必要,无需去看mysql/es

相关文章

网友评论

      本文标题:接口测试的一些知识

      本文链接:https://www.haomeiwen.com/subject/clsfictx.html