自动化测试系统(AutoTest)
我们的 AutoTest 自动化测试平台支持接口测试、UI 测试、性能测试、安全测试等多种类型,与 CICD 流水线深度集成,实现代码提交即自动触发测试,不通过不允许上线。
自动化测试不是一个新鲜话题,但很多团队的自动化测试落地效果并不好——要么用例维护成本太高,要么和 CICD 集成不紧密。我们做 AutoTest 的时候重点解决了这两个问题。
1. 接口测试(API Testing)
- 支持 RESTful、GraphQL、gRPC、WebSocket 等多种协议
- 可视化编排:拖拽式构造请求链,A 接口的返回值作为 B 接口的入参
- 断言引擎:状态码、响应体 JSONPath、响应时间、数据库落库检查
- 环境变量:开发/测试/预发布三套环境一键切换
- Mock 服务:依赖的下游接口不可用时,自动启用 Mock
2. UI 自动化测试
- 基于 Playwright / Selenium 的无头浏览器自动化
- 录制回放:操作一遍浏览器,自动生成测试脚本
- 截图对比:UI 变更自动截图,和上一版本做像素级对比
- 多浏览器兼容:Chrome、Firefox、Safari、Edge 并行执行
3. 性能测试
- 基于 JMeter / Locust 的分布式压测引擎
- 压测场景编排:阶梯加压、恒定负载、峰值冲击
- 实时监控:TPS、响应时间、错误率、CPU/内存/网络实时联动
- 压测报告:自动生成 PDF 报告,含瓶颈分析和优化建议
4. 安全测试
- SQL 注入、XSS、CSRF、命令注入等 OWASP Top 10 自动检测
- 接口鉴权测试:未登录访问、越权访问、Token 过期
- 敏感信息泄露检测:响应体中是否包含手机号、身份证号、密码明文
- 集成到 CI 流水线:每次代码提交自动跑安全测试,不通过不允许合并
5. 测试管理与报告
- 用例管理:用例库、用例评审、用例版本管理
- 测试计划:关联迭代和需求,选择用例范围,分配执行人
- 测试报告:自动生成 HTML/PDF 报告,含通过率、覆盖率、失败详情
- 失败自动分析:测试失败后自动抓取日志、截图、接口响应,辅助定位
6. CICD 集成
- GitLab CI / GitHub Actions / Jenkins 插件一键接入
- 代码提交 → 自动触发测试 → 不通过阻断合并 → 通过自动部署
- 质量门禁:接口测试通过率 > 95% + 覆盖率 > 80% + 无高危安全漏洞
- 测试结果自动回写 Git,PR 页面直接看到测试报告