当前位置: 首页 > news >正文

【工作记录】接口功能测试总结

 如何对1个接口进行接口测试

一、单接口功能测试

1、接口文档信息

理解接口文档的内容:

  • 请求URL: https://[ip]:[port]/xxxserviceValidation

  • 请求方法: POST

  • 请求参数: serviceCode(必填), servicePsw(必填)

  • 响应参数: status, token

2、编写测试用例

2.1 正常情况测试

用例1: 使用正确的serviceCode和servicePsw

  • 预期结果: status=200, 返回有效token 

# 接口请求
{
"serviceCode":"正确xxxxxx", "servicePsw":"正确xxxxxx",
}# 接口响应
{
"status":"200",
"token":"91a064fe-e17c-4910-90e0-e3d00fda2ca3"
}

2.2 异常情况测试

异常需从以下方面设计测试用例

注意点:多参数注意组合,如两个字段为空验证,需验证都为空、1为空、2为空

  • 必填参数缺失:不传必填参数,如{key:"value"}全部不传

  • 参数值为空:传空字符串,如{key:""}

  • 错误参数值:参数错误,如{key:"###特殊字符"}和类型错误{key:value}

  • 超长参数:例中接口无要求,如文本框要求输入要求8-200限制,{key:"超出200"}

  • 超短参数:例中接口无要求,如文本框要求输入要求8-200限制,{key:"3位123"}

必填参数缺失用例:

serviceCode为空,预期结果: status=300, 无token返回

# 接口请求
{
"servicePsw":"正确xxxxxx",
}# 接口响应
{
"status":"300",
}

参数值为空用例:

serviceCode为空,预期结果: status=300, 无token返回

# 接口请求
{
"serviceCode":"", "servicePsw":"正确xxxxxx",
}# 接口响应
{
"status":"300",}

错误参数值用例:

serviceCode错误,预期结果: status=300, 无token返回

# 接口请求
{
"serviceCode":"错误xxxxxx", "servicePsw":"正确xxxxxx",
}# 接口响应
{
"status":"300",
}

3、测试用例执行

如下图对接口进行测试

执行测试用例:参数appkey为空校验

预期:响应体应返回“请输入appkey”

实际:非法访问,与预期不符合

 

二、注册接口功能测试

1、接口文档信息

参数规则说明:

username:

1、字母、数字组成

2、长度2~20位

3、字母不区分大小写

password:

1、长度8~20位

2、必须含有字母和数字

email:

标准的电子邮件的字符规则

2、编写测试用例

2.1 正常情况测试

输入合法的用户名、密码和邮箱,验证能成功注册并返回正确的userid。

2.2 异常情况测试

1、用户名不符合规则:

输入非字母数字组成的用户名,验证注册失败并返回相应的错误信息。

输入长度小于2位的用户名,验证注册失败并返回相应的错误信息。

输入长度大于20位的用户名,验证注册失败并返回相应的错误信息。

2、密码不符合规则:

输入不包含字母的密码,验证注册失败并返回相应的错误信息。

输入不包含数字的密码,验证注册失败并返回相应的错误信息。

输入长度小于8位的密码,验证注册失败并返回相应的错误信息。

输入长度大于20位的密码,验证注册失败并返回相应的错误信息。

3、邮箱不符合规则:

输入不符合标准email规则的邮箱,验证注册失败并返回相应的错误信息。

4、参数缺失:

分别缺失用户名、密码、邮箱这三个参数中的一个,验证注册失败并返回相应的错误信息。

5、参数为空:

分别为空用户名、密码、邮箱这三个参数中的一个,验证注册失败并返回相应的错误信息。

6、参数类型错误:

分别将用户名、密码、邮箱的参数类型设为非String类型(如Number),验证注册失败并返回相应的错误信息。

7、额外测试:

分别输入字母相同,但是大小写不同的用户名,验证第一次注册应该成功,其他注册都应该失败。

输入已经存在的用户名或邮箱,验证注册失败并返回相应的错误信息。

输入不同大小写组合的用户名,验证注册成功并返回正确的userid。

 

http://www.lqws.cn/news/198415.html

相关文章:

  • 基于vscode,idea,java,html,css,vue,echart,maven,springboot,mysql数据库,在线考试系统
  • LeetCode刷题 -- 542. 【01 矩阵】最短距离更新算法实现(双向DP)
  • Vue学习之---nextTick
  • hmdp知识点
  • 【精选】计算机毕业设计Python Flask海口天气数据分析可视化系统 气象数据采集处理 天气趋势图表展示 数据可视化平台源码+论文+PPT+讲解
  • Supersonic 新一代AI数据分析平台
  • 深入了解UDP套接字:构建高效网络通信
  • YOLO11解决方案之分析
  • day26-计算机网络-4
  • Doris 数据库深度解析:架构、原理与实战应用
  • vue3 + vite实现动态路由,并进行vuex持久化设计
  • python中从队列里取出全部元素的两种写法
  • 【科研绘图系列】R语言绘制论文组图(multiple plots)
  • SUSE Linux 发行版全面解析:从开源先驱到企业级支柱
  • python网络编程
  • LeetCode 239. 滑动窗口最大值(单调队列)
  • 高保真组件库:数字输入框
  • Redis:过期删除策略与内存淘汰策略的解析指南
  • 【计算机网络】Linux下简单的TCP服务器(超详细)
  • 轻量级Docker管理工具Docker Switchboard
  • vue中的派发事件与广播事件,及广播事件应用于哪些场景和一个表单验证例子
  • iview框架主题色的应用
  • csrf攻击学习
  • 动端React表格组件:支持合并
  • Linux下VSCode开发环境配置(LSP)
  • GOOUUU ESP32-S3-CAM 果云科技开发板开发指南(一)(超详细!)Vscode+espidf 通过摄像头拍摄照片并存取到SD卡中,文末附源码
  • Mybatis 拦截器 与 PageHelper 源码解析
  • AI Agent 架构设计:ReAct 与 Self-Ask 模式对比与分析
  • Cisco Packer Tracer 综合实验
  • QuickJS 如何发送一封邮件 ?