返回技能市场
Testability Advocacy
当测试发现"这个功能测不了"、"加个日志就能定位"、"这个模块没法 Mock"时使用此技能。从可控性(能否控制测试条件)、可观察性(能否看到内部状态)、可隔离性(能否独立测试)、自动化性和可诊断性五个维度评估系统的可测试性水平,给出具体的系统改进建议和推动策略。可测试性差的系统一定质量差——不是因为系统本身不好,是因为你根本测不透它。输出可测试性评估报告和各维度的改造建议。 ⚠️ 本技能含废弃测试清理建议,执行前请确认非关键数据。
SKILL.md
⚠️ 本技能单独使用效果有限,建议配合完整技能集(12 步工作流)使用。安装:npx skills add Kokxi/qa-test-skills
可测试性推动
核心原则
在架构评审阶段就能识别可测试性问题,推动开发做可测试设计。
加载时机
| 什么时候读 | 读哪个 |
|---|---|
| 逐维打分或找改进项时,取五维详表 | references/testability-dimensions.md |
可测试性检查维度的完整内容已下沉至references/testability-dimensions.md,避免每次触发都占用上下文。
可测试性评估表
| 维度 | 检查点 | 现状 | 目标 | 差距 | 改进措施 |
|---|---|---|---|---|---|
| 接口层 | Mock点 | 无 | 有 | 大 | 开发Mock接口 |
| 数据层 | 数据构造 | 手动 | 自动 | 中 | 开发数据工厂 |
| 日志层 | TraceId | 无 | 有 | 大 | 接入链路追踪 |
| 配置层 | 功能开关 | 无 | 有 | 中 | 开发开关平台 |
| 依赖层 | 服务Mock | 无 | 有 | 大 | 开发服务虚拟化 |
可测试性改进建议
短期改进(1-2周)
├─ 接口层:添加测试接口
├─ 数据层:编写数据构造脚本
├─ 日志层:添加关键路径日志
├─ 配置层:添加测试配置项
└─ 依赖层:配置Mock数据
中期改进(1-2月)
├─ 接口层:开发Mock平台
├─ 数据层:开发数据工厂
├─ 日志层:接入链路追踪
├─ 配置层:开发开关平台
└─ 依赖层:开发服务虚拟化
长期改进(3-6月)
├─ 接口层:契约测试平台
├─ 数据层:测试数据管理平台
├─ 日志层:日志分析平台
├─ 配置层:配置中心
└─ 依赖层:服务治理平台
应用场景
评审订单系统的架构设计 → 接口层可测试性:订单接口是否支持Mock?是否有测试桩? → 数据层可测试性:数据库是否支持事务回滚?测试数据隔离? → 日志层可测试性:关键操作是否打印日志?日志级别是否可配置? → 配置层可测试性:功能开关是否支持动态配置?第三方服务地址是否可配置? → 依赖层可测试性:依赖服务是否有Mock方案?是否支持降级?
开发说"这个不好测" → 启动可测试性评估,逐维度分析,给出具体改进建议和沟通话术
自检清单
可测试性评估完成后检查:
- 是否评估了五个维度?
- 是否识别了差距?
- 是否制定了改进计划?
- 改进措施是否可行?
- 是否有时间计划?
检查清单
- 可测试性问题是否识别?
- 影响面是否评估?
- 改进建议是否可行?
- 优先级是否标注?
- 推动策略是否制定?
评论与讨论
0/2000
还没有评论,分享你的体验吧。