第1章 课程介绍:GitLab CI与Kotlin回归测试概述、课程目标、前置知识

1.1 这课讲什么?为什么要听?

先聊点实际的。你在团队里写 Kotlin 代码,每次合入 MR 之前都得人工跑一遍测试,对吧?

我以前带的一个项目就是这样——十几个微服务,每次发布前测试团队要花大半天手动回归。后来我把这套流程搬到了 GitLab CI 上,用流水线自动触发 Kotlin 回归测试,发布周期从两周缩短到三天。效果很明显。

这个课的核心就两件事:GitLab CI 和 Kotlin 回归测试。说白了,就是教你怎么用 GitLab 的 CI 能力,把 Kotlin 项目的回归测试做成全自动流水线。每次代码一推送,流水线自己拉代码、编译、跑测试、出报告,你只管喝咖啡等结果。

课程定位:这是一门「实战导向」的课。不讲太多理论,重点是你学完能直接在自己的项目中搭起来。

1.2 为什么是回归测试?

你想想看,一个 Kotlin 项目迭代半年之后,测试用例少则几百,多则上千。每次改一行代码,你敢不敢不跑一遍全量测试?

不敢,对吧。但每次都手动跑,根本不现实。这就是回归测试要解决的问题——自动、快速、可靠地验证已有功能没有被新代码破坏。

我在一个金融项目中遇到过这样的事:一个修改了金额计算逻辑的 MR,由于回归测试漏跑,上线后导致对账差了两万多条记录。从那以后,我在每个项目里都把回归测试流水线设为 MR 的「强制门禁」,不通过不准合入。

1.3 课程目标

学完这门课,你能做到什么?我列了个表,你自己对照一下。

课程目标 具体内容 技能提升
掌握 GitLab CI 配置 能独立编写 .gitlab-ci.yml,配置 job、stage、artifact CI 基础能力
编写 Kotlin 回归测试 使用 JUnit 5 + Kotest 编写可维护的回归测试用例 测试工程化
集成 CI + 测试 在流水线中自动拉取代码、编译、运行测试、生成报告 流水线集成
实现自动化质量门禁 将测试结果与 MR 流程联动,失败自动阻断 质量保障体系
优化与调试流水线 能定位流水线失败原因,优化执行效率 DevOps 实战
我个人的习惯:每一章学完,你都可以直接在自己项目的 CI 里试一试。哪怕只加一个简单的 job 也行,动手是最好的学习方式。

1.4 前置知识

别担心,门槛不高。但下面这几样东西,你最好先有个底:

  1. Git 版本控制基础——会 clone、commit、push、merge 就行。不要求精通。
  2. Kotlin 语言基础——能看懂 Kotlin 代码,知道类、函数、依赖管理(Gradle)怎么用。
  3. 基本测试概念——知道什么是单元测试、什么是集成测试,写过简单的 JUnit 用例。
  4. 命令行基础——能在终端里敲命令,理解环境变量、路径这些概念。
  5. GitLab 基础操作——会用 GitLab 创建项目、提交 MR、查看流水线结果。

如果上面哪一项你还不太熟,我建议先花半天补一下。我曾经带过一个学员,Git 只会 pull 和 push 就来学流水线,结果前半程都在补 Git 分支策略,反而拖慢了进度。

避坑指南:千万不要跳过 Kotlin 依赖管理直接看流水线配置。Gradle 的缓存策略、依赖解析机制,在 CI 环境里和本地有很大差异。我在早期踩过这个坑——本地编译一切正常,到 CI 上就各种依赖找不到。后来花了一整天才搞清楚是 Gradle 缓存路径没映射对。

1.5 知识体系概览

下面这张图,是整个课程的知识结构。你把它当成一张「地图」,学每一章时都可以回来看看自己当前在哪个位置。

GitLab CI + Kotlin 回归测试知识体系 基础层 核心层 目标层 前置知识 Git · Kotlin · CI/CD GitLab CI 基础 流水线配置与管理 Kotlin 回归测试 自动化测试策略 流水线集成 ← 上一章 📖 返回目录 下一章 →