自动化接口测试-基础知识
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,既可以做接口测试也可以做性能测试。
确定接口测试的范围
分析接口的需求
接口文档的获取
接口用例的设计:接口入参--发起请求--响应输出--结果校验。
以上是关于自动化接口测试-基础知识的主要内容,如果未能解决你的问题,请参考以下文章