当前位置: 首页 > 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。

 

相关文章:

  • 503 Service Unavailable:服务器暂时无法处理请求,可能是超载或维护中如何处理?
  • GICv3-PMU
  • Jedis集群管理:深入解析槽位信息的获取与动态更新机制
  • C++ 对 C 的兼容性
  • Spring注解原理深度解析:从入门到精通
  • 【Linux】Ubuntu 创建应用图标的方式汇总,deb/appimage/通用方法
  • Java高级 | 【实验六】Springboot文件上传和下载
  • 《递推》题集
  • 【C++进阶篇】C++11新特性(下篇)
  • OpenLayers 从后端服务加载 GeoJSON 数据
  • 基于Spring Boot的云音乐平台设计与实现
  • day26-计算机网络-4
  • 新时代AI发展,更好的做自己
  • 8.库制作与原理
  • DDPM优化目标公式推导
  • 【Java开发日记】说一说 SpringBoot 中 CommandLineRunner
  • 【强连通分量 缩点 最长路 拓扑排序】P2656 采蘑菇|普及+
  • 游戏常用运行库合集 | GRLPackage 游戏运行库!
  • 机器学习期末复习
  • Dynamics 365 Finance + Power Automate 自动化凭证审核
  • 合肥外贸网站建设/推广赚钱的平台有哪些
  • 做网站分为哪几个岗位/福州百度分公司
  • 高端品牌网站建设服务/怎么搭建一个网站
  • 什么是网站二级目录/百度公司全称叫什么
  • 电商网站seo公司/做什么推广最赚钱
  • 金融网站开发文档/广州网页搜索排名提升