Thanks to visit codestin.com
Credit goes to testerhome.com

问答 关于接口自动化测试用例思路的两种方案,应该选哪种呢

wangwangtest · 2026年01月27日 · 最后由 YLM 回复于 2026年01月29日 · 2436 次阅读

需要测试的接口:
接口名称:根据商品状态进行查询
关键参数:status(0:未上架,1:已上架,2:已下架)

商品状态:未上架、已上架、已下架
商品状态流转: 未上架 →(上架操作)→ 已上架 →(下架操作)→ 已下架

方案一:
1.分别构造 未上架、已上架、已下架 状态的商品数据;
2.调用接口,依次传入 status=0、status=1、status=2,验证返回结果是否符合预期

方案二:
1. 构造一个 未上架 的商品;
2.传 status=0 查询,验证结果;
3.上架该商品,使其变为 “已上架” 状态;
4.传 status=1 查询,验证结果;
5.下架该商品,使其变为 “已下架” 状态;
6.传 status=2 查询,验证结果。

问下大家,应该选择哪种方案呢,问了两个 AI,两种答案都有

共收到 10 条回复 时间 点赞
仅楼主可见

明显方案一更合适,对于人类而言操作步骤简单,单位时间内测试效率更高。对于 AI 而言,往往不会站在人类惰性上面去考虑问题。

如何分别构造 未上架、已上架、已下架 状态的商品数据?
是按照方案二的 1、3、5 流程构造吗, 那么你需要执行 3 次 , 那还不如直接使用方案一效率更高
还是通过改数据? 或者从数据库里捞取已有的数据?, 各有优缺点

方案一简单,方案二链路长,如果依赖的多个服务部稳定,用例稳定性会低一些;个人感觉是。方案二 + 稳定的测试换 应该也可

除非有什么特殊要求,不然首选第一种;接口自动化用例需要有原子性,每个 case 只测一个东西,保持简单

我喜欢方案二,可以一条用例跑完,数据也只产生一条,数据清理也简单,我做自动化不是为了找 bug,而是验证业务流转,提效。方案一要多产生 2 条数据,清理的时候也要麻烦点。当然每个人思路不一样 我看大家好像都喜欢方案一😀 😀

吼猴 回复

就是按照方案二的 1.3.5,构造的数据,都是通过接口造的
通过数据库造的话,应该不建议吧?可能会有数据库字段变了、或者写入读取逻辑变了

方案 1 适合已产品状态为基地的测试流。方案二适合以围绕产品配置的测试流。一个是静态数据,一个是动态数据。

看心情,不重要

方案 2 是最符合使用流程的,接口测试就应该是这样的流程场景的测试。
如果提前造好了数据,只是验证这个接口是否 OK,没有验证到整个流程是否 OK。

如果上架和下架的操作有其他的自动化测试 case 验证是否成功,操作之后数据入库是否正确,那也可以使用方案一。
如果有单独的上架和下架操作的测试步骤;感觉还是写在一起更好。

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册