CodeRoadMap
首页路线题库资源库文章社区
CodeRoadMap

程序员的学习成长路线图。内容免费开放,登录后可同步路线图与课时进度。

由 程序员柏风 独立维护 · 关于作者

学习

  • 路线图
  • 课程
  • 面试题
  • 文章
  • 我

更多

  • 资源
  • 社区
  • 关于作者
  • 内容说明

© 2026 CodeRoadMap

津ICP备2026012044号-1·津公网安备12011002026155号·coderoadmap@126.com
软件测试与 QA 入门/课时/API 测试
RawBlame
课时目录12 节

软件测试与 QA 入门

  1. 01QA 是什么
  2. 02流程与方法论
  3. 03手工测试
  4. 04功能测试类型
  5. 05Web UI 自动化
  6. 06API 测试
  7. 07移动端测试
  8. 08性能与负载
  9. 09安全测试
  10. 10测试管理与 CI
  11. 11非功能测试
  12. 12综合练习

API 测试

Postman、REST Assured、Karate。

35 分钟

API 测试

API 测试 在 HTTP 层验证契约:状态码、JSON 结构、业务规则与错误处理。比 UI 测试 更快、更稳,是 backend 回归的主力。对照 /roadmaps/qa「API Testing」节点,本课覆盖 Postman、REST Assured 与 Karate。

学习目标

  • 设计 REST API 测试用例(正常、边界、异常)
  • 用 REST Assured 或 MockMvc 编写可 CI 运行的 API 测试
  • 了解 Postman 集合与 Newman CLI 在团队协作中的角色
  • 将 API 测试嵌入 Spring Boot 与 CI 流水线

核心概念

用例维度

维度示例
正常GET /tracks/git-essentials → 200 + slug 匹配
边界空列表、分页最后一页、超长 slug
异常404、401、422 校验失败
契约字段类型、必填项、错误码格式

REST Assured 示例

@Test
void getTrack_bySlug_returns200() {
    given()
        .baseUri("http://localhost:8080")
    .when()
        .get("/tracks/git-essentials")
    .then()
        .statusCode(200)
        .body("slug", equalTo("git-essentials"))
        .body("title", not(emptyString()));
}

需 @SpringBootTest(webEnvironment = RANDOM_PORT) 或独立起服务;开发期更快的是 MockMvc(不绑端口)。

Postman 与 Karate

  • Postman:手工调试 + Collection 共享;Newman 命令行跑集合进 CI
  • Karate:Gherkin 语法 + 内置断言,适合 BDD 风格 API 场景

与 MockMvc 选型

方式优点缺点
MockMvc快、无真实端口非完整 HTTP 栈
REST Assured + 真端口接近生产慢、需起容器
Postman非开发友好版本化、CI 需 Newman

与 testing-essentials/Spring 对照

本站 backend API 测试 首选 MockMvc:test-mockmvc + @MockBean Service。
集成层 用 Testcontainers 真 DB:test-integration。
REST Assured 适合跨服务黑盒或 QA 独立仓库;Spring 切片见 test-spring、。

sb-test

CI:mvn test 跑 *ControllerTest 即 API 回归门禁。

练习

  • 为 GET /tracks/{slug} 设计 4 条 API 用例(含 404)
  • 用 MockMvc 或 REST Assured 实现其中 2 条
  • 导出 Postman Collection 描述 tracks 相关 3 个接口

小结

API 测试快而准,守契约与业务规则;MockMvc 开发首选,REST Assured 黑盒补充。 下一课进入移动端测试:Appium、Espresso 与 Detox。

加载本节练习…
← 上一课Web UI 自动化下一课 →移动端测试