如何进行接口测试?

一、接口组成

接口说明、请求地址、请求方法(get/post)、请求参数(参数类型、参数说明)、返回参数说明

服务器是先接受header信息进行判断该请求是否有权限请求,判断有权限后,才会接受请求地址和入参。

二、为什么要做接口测试

1、可以发现很多在页面上操作发现不了的问题

2、检查系统的异常处理能力

3、检查系统的安全性、稳定性

4、前后端分离,接口测好了,后端就不用再调整了,前端随便调整

三、如何进行接口测试

根据接口文档,提取测试点,设计接口测试用例:

分别从「业务功能、业务规则、参数验证、异常验证、性能、安全性及幂等性」等方面提取测试点:

业务功能:通过性验证、参数组合对应不同的业务

业务规则、安全性、兼容性、参数验证:

1、绕过参数验证:比如订单金额不可以修改传参生效

2、绕过身份授权:比如一些功能需要对应的身份、角色才可操作

3、参数是否加密

4、密码是否安全

5、兼容性:比如只在指定端开放接口

6、是否符合业务条件

...

异常验证:不按照接口要求输入参数,来验证接口对异常情况的校验,主要有三种:「必传非必传、参数类型、入参长度」

性能:响应时间、出错率

幂等性:接口幂等性就是用户对同一接口发起了一次或多次请求之后,对数据的影响是不变的,不会因为多次请求而产生不同的结果。

1、前端重复提交:例如订单接口,用户连续多次点击下单操作,导致后端收到多条请求,同一个订单可能会多次创建。

2、接口超时重试:例如支付接口,当调第三方接口时,可能由于网络等原因导致调用失败而多次调用,出现多次扣款的情况。

3、消息重复消费:例如MQ消息中间件在生产端和消费端都有重试机制,也就是说同一消息可能被重复消费的问题。

四、接口用例覆盖率

1、业务功能覆盖是否完整

2、业务规则覆盖是否完全

3、参数验证是否达到要求(边界、业务规则、安全性)

4、异常场景覆盖是否完整

  • 7
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
使用pytest进行接口测试时,可以按照以下步骤进行: 1. 安装pytest和requests库:使用pip命令安装pytest和requests库,确保它们已经正确安装在你的Python环境中。 2. 创建测试文件:在你的项目中创建一个新的测试文件(通常以test_开头),用于编写接口测试用例。 3. 导入所需的库和模块:在测试文件中,导入pytest和requests库,以及其他需要使用的模块。 4. 编写测试用例:在测试文件中,使用pytest的装饰器(如@pytest.mark.parametrize)来标记测试用例,并编写具体的测试逻辑。使用requests库发送HTTP请求,并使用断言方法来验证接口的返回结果。 ```python import pytest import requests @pytest.mark.parametrize("user_id", [1, 2, 3]) def test_get_user_info(user_id): url = f"https://api.example.com/users/{user_id}" response = requests.get(url) assert response.status_code == 200 assert response.json()["id"] == user_id ``` 5. 运行测试用例:在命令行中切换到项目目录下,运行pytest命令来执行接口测试用例。 ``` pytest ``` pytest会自动搜索并执行所有以test_开头的函数或方法,并提供详细的测试结果和错误信息。 6. 可选:使用pytest的fixture来管理测试数据和测试环境,例如使用@pytest.fixture装饰器创建一个固定的测试用户,在每个测试用例中都可以使用这个fixture提供的数据。 ```python import pytest import requests @pytest.fixture def test_user(): user_id = 1 username = "test_user" return {"id": user_id, "username": username} def test_get_user_info(test_user): url = f"https://api.example.com/users/{test_user['id']}" response = requests.get(url) assert response.status_code == 200 assert response.json()["username"] == test_user["username"] ``` 通过以上步骤,你就可以使用pytest进行接口测试了。可以根据具体的需求和项目要求,进一步使用pytest的参数化功能、自定义fixture等来优化测试代码。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值