自动化接口测试-基础知识

Posted Judynie

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了自动化接口测试-基础知识相关的知识,希望对你有一定的参考价值。

一、为什么要进行软件接口测试?

  接口是通过遵守某种约定的协议(目前最常用的是http协议),服务端提供给客户端调用的某种服务。随着服务端架构越来越复杂,从单体架构、分布式架构,演变至如今流行的微服务架构,软件接口测试也变得越来越重要。

二、软件接口测试与功能测试的区别?

  首先接口测试和功能测试介入的时机不同,一般情况接口测试是在单元测试之后展开,而功能测试是在前后端联调通过,接口测试完成后进行。其次,接口测试是根据接口协议,并结合接口参数设计测试用例与执行,侧重验证返回数据的准确性;功能测试主要是围绕页面功能点进行测试用例的设计与执行,从页面的反馈层面验证,侧重验证页面功能逻辑实现的准确性。

三、使用postman进行接口测试

  1、发送get请求(不带参数)

   2、发送get请求(url地址中带参数)

   3、发送get请求(带参数及参数值)

   4、发送post请求(form数据格式)

   5、发送post请求(json数据格式)

   6、请求的后置处理(提取登录后的token信息)

   7、设置变量

 

四、Excel接口测试用例访问

  1、安装python第三方插件pandas,可以很方便地读取Excel中存储中的测试用例。安装命令:pip install pandas

   (1)读取数据

  (2)解析某单元格中的数据

 

 五、MySQL数据库接口测试用例的访问(使用pandas)

接口测试基本理论知识总结(书籍推荐:自动化测试实战宝典)

什么是接口测试?

  • 接口测试主要检测系统中模块与模块中,交互的点。
  • 重点是检查数据的交换、传递,以及模块之前的联系关系。

测试策略

  • 接口测试可以分为,接口功能测试,接口性能测试(压测),接口稳定性测试(某一个时间段持续),接口安全性测试(权限,敏感词,账号密码加密)。
  • 接口测试就是,通过不同情况下的入参和出参,来判断是否符合或满足相应功能性、安全性要求。

接口测试的重要性

缺陷发现的越早,修正缺陷的代价就越小。

接口就像外交官,负责搭建桥梁,单元测试将是更好的选择。

接口测试的重要性包含以下几点:

1.不依赖前端页面,可以发现页面,发现不了的bug,覆盖前端无法测试的场景。(例如:前端输入框限制了输入-50,接口传参可输入-50)

2.非常适合回归测试。

3.接口测试容易实现自动化集成,减少人力成本,缩短测试周期。支持后端快速发版的需求。

4.检查接口稳定性,安全性,前端不可传参。

5.可以尽早的进入测试,不需要等到项目完成后再开始,基本上接口测试通过,服务端不会出现什么问题。

6.某些请求如果绕过前端,向接口发送一些非法数据,这时接口有相应的处理措施,将大大降低系统的风险。

7.后端接口质量控制好了,所有问题就集中在前端这一块了。

总结:快速测试反馈,提高测试覆盖率,质量风险把控,而单纯的前端测试是无法做到这些。

接口测试的关注点

  • 检查接口返回在数据是否与预期结果一致。
  • 检查接口输入错误的参数,是否做处理。
  • 检查参数的边界值,传递参数足够大时或者为负数,接口是否做处理。
  • 接口性能,接口处理数据的时间。
  • 接口安全性,登录账号加密,输入边界超出范围。

项目进行到哪一步可以做接口测试?

  • 在做接口测试之前,要了解清楚如何传递数据,接口测试的基本流程和实现原理。
  • 后端开发一个模块完毕,输出了接口文档,搭建好环境。
  • 功能测试在产品开发完之后才能介入。

一个好的接口测试可以从以下几个方面进行考虑:

  • 业务功能是否覆盖
  • 业务规则是否覆盖
  • 场景是否覆盖
  • 参数验证是否达到要求
  • 接口异常场景是否覆盖
  • 性能指标是否达到要求
  • 安全指标是否达到要求

开展接口测试的基本流程

接口测试工具选择:jmeter,既可以做接口测试也可以做性能测试。

确定接口测试的范围

分析接口的需求

接口文档的获取

接口用例的设计:接口入参--发起请求--响应输出--结果校验。

 

以上是关于自动化接口测试-基础知识的主要内容,如果未能解决你的问题,请参考以下文章

Python接口测试框架实战与自动化进阶

接口自动化接口测试基础

自动化测试接口测试基础

Python-接口自动化测试之接口基础

接口测试基础四--接口自动化前期准备

疫情期间的学习与收获