持续集成与测试平台
2026/8/21大约 2 分钟
持续集成与测试平台
什么是 CI/CD?测试在其中扮演什么角色?
- CI(持续集成):代码合并后自动构建、测试;CD(持续交付/部署):自动发布到环境。
- 测试角色:代码提交触发单元测试与静态检查 → 构建后跑接口测试 → 部署到测试环境跑冒烟与回归 → 通过后自动部署生产,质量门禁卡住不合格版本。
Git 常用命令与工作流?
- 常用:
add/commit/push/pull、branch/checkout、merge/rebase、stash、log/diff、tag、cherry-pick。 - 工作流:GitFlow(develop/feature/release/hotfix)、GitHub Flow(主分支 + 特性分支 + PR)、主干开发 + 特性开关。
Jenkins Pipeline 如何写?有什么好处?
- Jenkinsfile 定义流水线:
pipeline { agent; stages { stage('构建') { steps {...} } } }。 - 好处:流水线代码化、可版本控制、可复用、可视化、支持参数化与并行。
Docker 常用命令?如何排查容器问题?
build/run/ps/exec/logs/images/rm/stop/restart/port、docker-compose up/down。- 排查:
docker logs看日志、docker exec -it <容器> bash进入调试、docker inspect看配置、docker stats看资源。
如何设计一个测试平台?(高频开放题)
- 前端:Vue/React;后端:FastAPI/Spring Boot;数据库 MySQL + Redis。
- 核心模块:用例管理、测试执行(调度引擎)、报告中心、数据统计、Mock 服务、环境管理、用户权限、CI 集成、AI 助手。
- 架构:调度引擎(定时/触发)→ 执行器(分布式执行节点)→ 结果回传 → 报告生成 → 消息通知(WebSocket/邮件/IM)。
代码覆盖率工具如何集成?
- Java:JaCoCo + Maven/Gradle 插件,生成报告,SonarQube 集成质量门禁。
- Python:Coverage.py + pytest-cov,CI 中上传报告,按行/分支覆盖率卡点。
如何做冒烟测试的自动化?
- 选取核心链路用例(登录、首页、主流程),打包后自动执行,失败即阻断发布;常配合 CI 脚本与快速反馈机制(IM/邮件通知)。