Ego微商小程序 - 接口测试

接口测试设计流程

1. 需求分析与评审

2. 接口文档解析

分析接口文档的核心内容

API文档:Ego: Ego商城小程序,只存放项目前后端源码文件 (gitee.com)

3. 设计测试用例与评审

设计思路

介绍一下你简历项目中的XXX项目的接口用例如何设计?

接口用例方法设计 - 鹿先森JIAN - 博客园 (cnblogs.com):单接口测试、业务场景测试(只需覆盖正向)

1、先考虑接口的正常调用(正向用例)

按照接口定义,传递正确的接口信息,包括地址、方法、传输数据,然后查看返回的响应结果是否正确、数据库数据是否正确:

  • 1) 传递的请求数据覆盖有效类、边界值
  • 2) 返回的响应结果的每个字段都需检查,例如code、msg信息
  • 3) 调用接口对数据库中数据的测试,增删改业务接口调用需确保到表字段的正确性验证

2、考虑请求参数的错误、异常情况(反向用例)

  • 1) 请求数据输入异常值,例如空值、长度类型异常等,接口能否正确处理且返回响应是否合理
  • 2) 考虑业务约束,例如订单状态必须确认收货后才能评价,调用非该状态的订单,进行评价
  • 3) 输入错误的参数名、多一个参数、少一个参数,接口能否正确处理且返回响应是否合理

3、关注接口的安全性测试

  • 1) 敏感数据,例如密码是否加密传输
  • 2) 返回数据是否含有敏感数据,如身份证信息、完整的用户银行账号信息等
  • 3) 接口是否对传入的数据做安全校验,如用户鉴权token校验
  • 4) 接口是否防止恶意请求,例如大量伪造请求接口致使服务器崩溃

下面是单接口 - 正向功能用例,还没覆盖请求数据的有效类、边界值。另外逆向的接口用例也没写。

4. 执行测试用例与缺陷跟踪

使用postman接口测试工具

  • 创建用例集collection,创建测试环境environment
  • 断言:断言响应状态码,断言响应数据
  • 参数化:编写json / csv文件。
  • 测试报告:先导出用例集.json、测试环境.json,数据文件.json(放在同一文件夹下),在cmd用newman命令生成测试报告.html
    • 导出环境变量时设置初始化参数值
    • 导出测试集时需要注意接口之间的次序

Postman使用 - 鹿先森JIAN - 博客园 (cnblogs.com):断言、关联、参数化、测试报告

在Ego项目中,“获取Token权限“ 接口,需要code参数。(上图ID:007)

获取code:微信内部接口不公开,在微信开发者工具-代码–utils–token.js–wx.login。code每执行一次都会变,所以可以放在环境变量里面。

保存 token 为环境变量:由于接口关联,后续接口需要传递token,所以将其保存起来。

使用Pycharm实现接口测试自动化

项目架构

代码在这:https://gitee.com/lwj0126/ego —> 接口测试自动化-代码

用到的库:requests、unittest、parameterized、unittestreport

日志logging:logging — Python的日志收集 - 鹿先森JIAN - 博客园 (cnblogs.com)

5. 生成测试报告与总结

二、HTML测试报告生成 - unittestreport 使用文档

from unittestreport import TestRunner

posted @ 2023-09-13 13:59  鹿先森JIAN  阅读(215)  评论(0编辑  收藏  举报