惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
G
Google Developers Blog
S
SegmentFault 最新的问题
Microsoft Security Blog
Microsoft Security Blog
J
Java Code Geeks
罗磊的独立博客
H
Hackread – Cybersecurity News, Data Breaches, AI and More
量子位
P
Proofpoint News Feed
博客园 - 【当耐特】
MongoDB | Blog
MongoDB | Blog
L
LangChain Blog
F
Fortinet All Blogs
C
Check Point Blog
博客园_首页
I
InfoQ
Jina AI
Jina AI
Blog — PlanetScale
Blog — PlanetScale
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
酷 壳 – CoolShell
酷 壳 – CoolShell
Engineering at Meta
Engineering at Meta
美团技术团队
Vercel News
Vercel News
Apple Machine Learning Research
Apple Machine Learning Research

博客园 - 测试者家园

知识图谱在测试用例设计中的应用 Browser-Use在UI自动化测试中的应用 用 LLM 辅助性能测试报告生成 语义相似度模型在测试需求变更中的应用 敏捷测试如何应用 BDD(行为驱动开发)? 慢查询日志在性能优化中的价值 性能测试数据准备的自动化方法 安全测试中的社会工程学攻击防范 LLM 自动校对测试用例是否符合需求 安全测试计划如何融入项目初期? 如何进行文件上传功能的安全性测试? 无障碍测试:自动化技术与普及性挑战 AI在电子游戏中的应用:如何让虚拟世界更具沉浸感 ChatGPT接口测试用例生成的流程 ChatGPT生成接口测试用例(二) ChatGPT生成测试用例的最佳实践(四) ChatGPT生成测试用例的最佳实践(三) ChatGPT生成测试用例的最佳实践(二) ChatGPT生成测试用例的最佳实践(一)
ChatGPT生成接口测试用例(一)
测试者家园 · 2024-12-20 · via 博客园 - 测试者家园

  接口测试在软件开发生命周期中扮演着至关重要的角色,有助于验证不同模块之间的交互是否正确。若协议消息被恶意修改,系统是否能够恰当处理,以确保系统的功能正常运行,不会出现宕机或者安全问题。

5.1 ChatGPT在接口测试中的角色

  接口测试是确保系统各个模块协同工作的关键环节。传统的接口测试用例编写通常依赖于测试人员的经验、手动操作,这可能导致接口测试用例的不充分和测试内容的遗漏。ChatGPT能够理解和生成文本使其成为编写接口测试用例的理想工具。

5.1.1 理解系统需求和接口规范

  ChatGPT可以用来解析系统需求规格说明书和接口文档。通过输入相关文档,ChatGPT可以生成摘要、要点和问题列表等,帮助测试人员更好地把握测试的范围和重点。

  假设我们正在测试一个电子商务网站的购物车接口。我们有系统需求文档和接口文档,但它们很冗长,需要花费大量的时间阅读、理解。但是有了ChatGPT以后,只需要将这些文档输入ChatGPT,它就可以快速给出摘要,列出所有与购物车相关的功能和要点等。这有助于快速地确定测试重点,确保接口测试用例的全面性。

5.1.2 生成测试用例模板

  ChatGPT可以协助测试团队生成测试用例的模板,包括输入数据、操作步骤和预期结果等。测试人员可以向ChatGPT提供接口描述和测试目标,ChatGPT会自动生成基本的测试用例结构。测试用例模板化以后,既可以加快测试用例的编写速度,又能确保测试用例的一致性。

  对于一个社交媒体平台的接口测试,我们需要测试用户发布帖子的功能。通过描述接口规范和测试目标,ChatGPT可以自动生成测试用例模板,包括帖子内容、发布操作的步骤和预期的发布结果等。这样,测试人员只需填写具体的内容,而不必从头开始编写每个接口测试用例。

例如,对于一个电子商务网站的购物车接口,ChatGPT生成的接口文档如下所示。

ChatGPT生成的接口文档

接口名称:add_to_cart

接口概述:该接口用于将指定商品添加到购物车。

请求方式:POST请求

请求URLhttps://example.com/api/add_to_cart

参数列表:

  •  item_id(商品ID)

参数描述:用于指定要添加到购物车的商品的唯一标识。

参数类型:整数

是否必填:是

  •  num(数量)

参数描述:指定要添加的商品数量。

参数类型:整数

是否必填:是

请求示例:

POST请求 https://example.com/api/add_to_cart

请求体:

{

"item_id": 12345,

"num": 2

}

响应示例:

{

"status": 200,

"message": "添加商品到购物车成功",

"data": {

"cart_total_items": 5

}

}

响应字段说明:

status:标识业务是否成功的状态码。

  •   200 表示请求成功,商品成功添加到购物车。
  •   其他状态码可根据具体情况自行定义。

message:状态信息,对状态码的详细描述。

data:包含响应数据。

  •    cart_total_items:购物车中的总商品数量。

5.1.3 探索边界条件

        在接口测试中,通常需要测试各种输入数据的边界条件和异常情况。ChatGPT可以帮助测试人员生成边界条件的接口测试用例,确保系统能够正确处理各种情况。

在电子商务网站的购物车接口的测试中,我们需要确保它能够正确处理购买的商品数量的输入,包括正常的商品数量输入和异常地输入。异常输入可能包括带小数点的数字、字母、全角数字、中文字符以及货币符号等特殊字符。不同类型的数据库具有不同的数字上下限,例如,在MySQL中,SMALLINT类型占用2个字节,可以存储从-32768到32767的整数。因此,我们需要考虑商品数量超过上限、低于下限、等于上限、等于下限以及0作为特殊数字和正常数字等各种边界情况的测试用例。

        很多情况下,通过UI无法提交的数字,若接口测试通过协议直接发送请求,在应用程序的后台没有进行校验并且数据库没有添加约束条件的情况下,仍然可以正常提交,这可能导致数据无法正常存储等严重问题。

        例如,购物车中单个商品数量最大可以为9999,考虑边界值测试用例方法设计接口测试用例,则可以获得以下边界用例,ChatGPT生成的边界值接口测试用例如下所示。

ChatGPT生成的边界值接口测试用例

用例编号:TC001

用例名称:添加数量为0的商品

输入参数:

item_id: 123456

num: 0

预期结果:

添加失败,提示数量不能为0

......

用例编号:TC005

用例名称:添加超过库存的商品

输入参数:

item_id: 123456

num: 10000

预期结果:

添加失败,提示超过库存

......