白盒测试 接口测试新手应该怎样开始呢

呼噜呼噜 · September 04, 2025 · Last by codes replied at September 06, 2025 · 1921 hits

痛点

团队就一个测试,还一直在做功能测试。既要做功能测试,又要研究功能测试自动化。一直没有推行接口自动化。但是看好多 jd 也提到了接口测试。性能测试这些。
团队里边现在没有前辈指导,也没有经验参考。想来社区求助一下大家。欢迎评论区留言。感谢!

共收到 9 条回复 时间 点赞

看下 apifox,门槛低,落地快

先了解接口的结构、工作原理、状态码,再结合业务看一个完整的业务流接口调用步骤和接口关联关系,学好 SQL 语法

metersphere 找运维部署下,文档官方写的很清楚,还有用例管理啥的,个人觉得很方便

究客 回复

你们用 apifox 吗,能说说具体是怎么落地的吗

1.任何接口测试都依赖契约的,首先想做相关的肯定得有相应的契约文档或者契约平台这些,如果没有先搭基建或者自己整理文档,接口测试也是业务相关的,首先你得知道业务的入参组合,返回情况才可能写的出来 case 和断言
2.在 1 都清楚了后,你可以 POSTMAN 也可以其他的工具调也是测接口
3.在 2 的基础上再想用平台也行,用脚本也行啥都行让他自动跑,做巡检,做发布的线上流量 DIFF,做流量回放(依赖完善的日志体系)等等
4.在前面都通了在想着和 CI/CD 流程做集成

apifox、postman 这类接口测试工具,去研究研究,自己在控制台看接口请求或找接口文档,先去请求通一个接口再去思考怎么串联多接口的场景

我基本都是使用 jmeter 进行接口测试,尤其是多个接口的时候;不过也会使用 postman

接口自动化发展至今,已经是非常成熟的东西,接口工具 (如 soapui,apifox),代码框架(如 pytest),带界面 + 关键字驱动的(如 robotframework),或者 web 平台 (学习可以,大部分都是为爱发电,能否持续维护包括社区热度,问题修复等不好保证),推荐先代码实现,这样会对整体实现有个清晰认知。

以 python 为例,主流就是对 pytest+requests 的封装,pytest 是实现自动化的核心,requests 是实现接口请求的核心。

前期你先别想那么多,什么这那的,行动起来更重要,先了解下基本构成,提前熟悉一些概念和名词,然后按照基本的例子找一个业务模块写就是了,期间你自然而然的会遇到很多问题,然后针对性的去找解决方案。

例如:需要往数据库插入数据或者执行后查询数据库数据的变更是否正确,就得请求数据库,例如使用 pymysql 模块使用多了,就会发现,总是在写重复的连接代码,初始化代码,包括对查询结果为空、一条或多条的的判定,你就会想到根据实际情况自己做二次封装,同理,有使用诸如 redis 缓存,apollo 配置,消息中间件的同理。
例如:你想有个不错的执行结果的报告,搜索后大概率会推荐你 allure-pytest、pytest-html。
例如:你想有一些前置、后置的操作,加日志打印等需求,搜索后会告诉你使用 fixture,通过对 fixture 的学习,了解他的作用域和实际用法。
例如:你想有在单个用例里实现多重断言,即使第一个断言失败,也继续后面的断言,那就会接触到 pytest-assume 或是 pytest-expect。
例如:写多了以后你觉得执行速度太慢,又会想多线程或者多进程跑,经过一番搜索,推荐你 pytest-xdist(多进程)、pytest-parallel(多进程和多线程),然后又会遇到诸如仅登录一次这样的需求,经过一番搜索,解决方案又回到了 fixture 这边。
例如:让自动化定时自动执行并发送结果到企微/钉钉/飞书灯,搜索结果大概率会推荐你将代码跟 jenkins 做持续集成,发送结果这个找对应的聊天工具的官方 api,基本都有。

写久了,你看着代码就会觉得这不顺眼那不顺眼,会想着各种优化框架,如代码精简,提取公共类,按业务功能分层,包括用例数据管理,使用配置文件统一管理配置信息,代码目录结构优化等等。

楼上提到的 apifox 和 jmeter 也可以做接口自动化测试,但像 jmeter 主要还是测性能用的多,拿来做接口测试大材小用了,你想扩展也比较麻烦(不知道 Java 功底怎么样)。而像 apifox 本身拿来测单接口、管理接口是很不错的(比 postman 好用),官方也提供了做接口自动化的范例,但也有一点学习成本,有一些自己的语法规则,既然都是学习,学 python+pytest 一步到位好了,当然也看具体情况,如果规模小,接口数量少,且复杂度没有那么高,那使用 apifox 之类也挺好的,写得快,协同维护也方便。

回复内容未通过审核,暂不显示
需要 Sign In 后方可回复, 如果你还没有账号请点击这里 Sign Up