05 绘制 ACC 地图的步骤

前三章的功夫,积累了三份清单:

  1. A — 形容词(属性)
  2. C₁ — 名词(组件)
  3. C₂ — 动词(能力)

本章做一件事:把它们放在同一个格子里,画一张你能一眼看出"哪些测了、哪些没测"的图。


开篇除恐

"矩阵""格子图"听起来像要学一种新软件。不需要。你需要的那张图,Excel 足够,甚至纸笔也够。

矩阵只是一种让你看不见的部分被看见的格式。格子 = 主动,格子里的内容 = 你的工作。


白话化

ACC 矩阵的结构

  • A(行):属性
  • C₁(列):组件
  • 每个格子里的内容:C₂(能力)
              C₁-组件A   C₁-组件B   C₁-组件C   ...
A-属性1        能力v     能力w      能力x     ...
A-属性2        能力y     能力z      (空白)    ...
A-属性3        (空白)    能力q      能力r     ...

这样的一张图,一眼能看出:\

  • 哪个格子里有内容 = 你知道要测什么
  • 哪个格子里空白 = 还没覆盖到的区域
  • 哪个能力贡献了多个格子的行或列 = 核心能力需要重点保护

风险评级

每个格子,标注你对该区域的风险认识:

标签 含义
这个区域很稳,你已有相当量的测试,改动风险可控
有少量测试,但边界情况没覆盖全;改动较大时容易出问题
完全不熟、或改动频繁、或外部依赖复杂
未知 你甚至说不清这个格子里该测什么——啪,这就是缺口

唯一危险的标签是"未知"。"低"和"高"至少有方向,"未知"是盲区。


直觉先行

想象你搬家,要把所有东西装进纸箱,箱子上写着"客厅""厨房""卧室"。

你先把桌子放进"客厅"箱。\ 然后发现书桌的灯也得放——灯是"书房"的,但拆了之后桌子和灯都得通电才能用。\ 于是你在"客厅"箱里加一包电线,又在"书房"箱里画了箭头指向桌子。

两箱的内容互相交叉,**这就是矩阵的本质:横轴和纵轴,各自独立,交汇处有你的工作。


例子贴身

☼☼ 正经:RedPen 的 ACC 矩阵骨架(自编)

湖畔 RedPen 的清单如下:

主编辑 侧边栏 命令面板 语法高亮 PDF 导出 拼写检查
轻量 启动快;大文件不卡 冷启动扫描文件列表 输入即时响应 新语言文件加载 含图片 PDF 大小 后台检查不抢 CPU
可定制 自定义快捷键(插) 自定义折叠规则 自定义指令列表 自定义语言规则 自定义 PDF 模板 自定义词典词条
协作友好 多人光标协调 文件变更推送 协同指令同步 合并冲突高亮 冲突报告导出 语义冲突提醒

情形一:空白格子的含义

表格左下角"主编辑 × 协作友好"格子里,目前只列了一个"多人光标协调"。但 RedPen 的协作还包括文本合并冲突后高亮表示冲突范围——这个能力其实横跨语法高亮引擎和主编辑窗口两个组件。

空白意味着"我还没想到",不代表"这里不需要测"。做完这个练习,你会回来补满。

情形二:一个能力跨多个格子

"自定义快捷键"这个能力来自配置读取器,但它最终服务于"主编辑"。同时"侧边栏"也用快捷键折叠。这表示:一个能力可能被多个属性共享,测试时不能只看一个格子。

格子填满之后的下一步

  • 拿到一个全新的测试目标,找到它对应格子
  • 评估这个格子的风险是低/中/高/未知
  • 如果是"未知",这是一个要做的事,标记它

☼☼☼ 硬骨头:算一下你的 app 数据(自编)

找一个你日常使用的 app,重复本章练习:

  1. 列出它的三条属性(A)
  2. 列出它的五个组件(C₁)
  3. 每个组件,追问一句"它还能做什么"——写出对应的 C₂

然后放到 3×5 的表格里——哪怕格子是白的也没关系。

做完这一步,再看满格和空格的分布:\ - 满格的地方,你已经有大致的方向 - 空格的地方,是你还没想在哪——这些是下一个版本的内容

矩阵画完,永远不代表"完工了"——它只代表"这版我走到了这里",下一个版本回来补。

这一章要带走的东西

  • 矩阵格式:A 为行、C₁ 为列、C₂ 为内容
  • 风险四标签:"低·中·高·未知",唯一危险的是最后一项
  • 能力可以同时出现在多个格子里
  • 空白格子是缺口,不是"不需要填"
  • 矩阵是迭代品:每次补充,都是一张更真实的地图

就这样。