R1.15.2brand-state combinatorial cost设计

品牌数量增加时验证成本按品牌乘状态增长

别名: 品牌状态乘积 · 组合验证 · combinatorial QA · brand matrix

概念解释

每加一个品牌,并不是多验几张首页截图,而是把现有每一种状态再跑一遍:默认、悬停、禁用、加载、空、错误、选中、焦点。验证成本按品牌 × 状态(再乘还在用的主题轴)增长。三个品牌、八个状态,是二十四格,不是三张图。漏掉的格子里藏着只在某品牌的某状态下才爆的对比、截断和焦点环。

乘法来自状态与品牌正交:品牌不删状态,状态也不认识品牌。正交是共用结构的好处,也是验证的形状。把验证想成「按品牌各看一眼」,等于假装乘法是加法。

机制

人的走查预算按页面和品牌线性增长,矩阵却按乘积增长。预算不够时,被砍的总是尾部格子:某品牌的空态、某品牌的错误+焦点叠加。尾部格子恰恰是取值表最容易露馅的地方——危险色在浅表上够对比,在该品牌的深色表面可能不够;长文案在品牌 A 的宽按钮里能放下,在品牌 B 的更圆、更窄的主行动上会挤爆。

自动化若只截「默认态 × 品牌」,等于把乘法又压回加法。状态要被驱动到真实枚举,品牌表要被切换,两者的笛卡尔积才是最低完整集。主题轴(明暗、对比、密度)是第三个乘数,忽略它会让「已经验过三个品牌」的报告仍漏掉高对比紧凑下的同一状态。

边界

品牌若只换标志、组件取值完全相同,乘数是 1,验证不必乘——但要先证明取值表确实逐项相等,不能靠「看起来差不多」。某些状态在某品牌被产品禁止(没有危险操作)时,那一格可以从矩阵删除,删除必须写明,不能悄悄跳过。抽样(每个品牌抽两个状态)只能发现抽样击中的格子,不能把未抽到的格标记为通过。极小的内部工具、调用点个位数且品牌只在构建期烘焙一个,运行时乘积不存在,矩阵退化为单品牌全状态。

怎么落地

  • 把矩阵写出来:行是状态(含叠加态),列是品牌,需要时再加主题轴为层。每一格有通过 / 失败 / 不适用,不适用必须有理由。
  • 自动化至少覆盖默认、禁用、错误、空、焦点 × 每个品牌;人工补叠加态和长文案。
  • 新增品牌的验收条件是「矩阵多一列且该列全填」,不是「首页换了标志」。
  • 验证:数组件公开状态数 n、品牌数 b,要求至少 n×b 张被驱动过的记录(截图或断言)。记录少于乘积的,列出缺的格子。在缺格里人为把文案加长、把焦点打上:若这里失败而报告仍写「三品牌已验」,就是把乘法当成了加法。再加一个品牌时看工时是否接近乘上 n,而不是加上「几张图的时间」。

延伸

  • 同组R1.15.1 多品牌共用结构,只替换语义层取值 · R1.15.3 主题不只有明暗,还包括对比度与密度 · R1.15.4 用户选定的主题需跨会话保持并即时生效
  • 相邻R1.01 设计令牌 · R1.09 令牌的层级与语义化
  • 站内检索brand-state combinatorial cost · combinatorial QA · theme matrix

同组卡片

快捷操作

分享

分享当前页面

ios_share

https://hci.top/zh/handbook/R1.15.2