目标: 检测FSM中的所有可能错误
判断2个状态是否相同的标志: 存在一个输入的string 使得输出的string不一样...
FSM的形式化定义: FSM = (X,Y,Q,q0,theta,O).
X : input alphabet.
Y: ouput alphabet.
Q 有限状态集合
q0: 初始状态
theta: theta(Q,X) -> Q
O: O(Q,X) -> Y.
使用W方法的条件:
1. 完全定义的。
2. 强联通的。
3. 确定的
4. 最小化的
W方法:
1. 确定实现模型中最大的状态数m. 如果无法确定就让m = |Q|
2. 构造W特征集合
3. 构造测试树, 生成测试树覆盖
4. 构造Z
5. 计算P.Z
W特征集合: 对于任意2个状态 都存在一个str使得 输出的str不同,从而使得2个状态得以区分。