B4.17.2State Transition Model设计研究
状态转换图能穷举界面的可达状态与非法转换
别名: 状态转换图 · 可达状态 · 非法转换
概念解释
状态转换模型(state transition model)把界面表示为状态集合与转换规则的组合:状态是界面在某一时刻的完整取值(弹窗开、输入为空、选中两项),转换是操作在某个状态下允许产生的下一状态。建好之后,从初始状态出发可以机械地推出所有可达状态,并标出哪些操作—状态组合是非法的。
机制
穷举的来源是模型的封闭性:状态与转换规则一旦给定,其余一切行为都可以推导而不需要猜测。可达性由图遍历计算,非法转换由「某状态不存在的边」定义。这使得检查不依赖经验直觉——「点了会发生什么」不再是开放问题,而是图上的查找。
怎么研究
研究者用状态图分析对话一致性:对规范或实现自动生成状态机,比较遍历结果与设计预期的差异;非法转换表用于指导负路径测试(在不可用按钮上点击、在加载中重复提交)。也可将真实用户日志映射到状态图上,统计高频路径与从未发生的转换,检验模型与实际行为的一致性。
边界
穷举只对模型忠实度负责:状态粒度选择过粗会漏掉缺陷,过细则图不可管理;模型通常忽略时间、并发与外部数据,这些维度上的行为不在图内。真实系统的「非法转换」可能由缺陷造成而非设计意图,需要与实现对照确认。
怎么落地
- 对关键流程(支付、删除、发布)先画状态图再写实现,明确每个状态下允许的操作集合。
- 把「禁止操作」显式建成非法转换表,用于驱动负路径测试用例。
- 每次改版后重新遍历,比对新增状态与预期清单,防止未审查的状态悄悄上线。
- 用转化漏斗数据校准模型:找出图上可达但用户从未进入的状态,判断是设计冗余还是入口缺陷。