留意用于描述正在发生事情的言辞,如“当……的时候”(While)、“当系统正在导入数据的时候……”、“当账户被冻结的时候……”
每个状态都由事件所触发,认出状态可回过头找出触发事件,反之亦然
步骤二:列出状态之间的转换...从测试的视角来看,引起状态转换的事件可以分为三种类型:
1)外部产生事件:来自于软件之外的任何事件,如用户操作
2)系统产生事件:软件自己产生的任何事件,如系统完成了某些后台活动而产生的结果
3)时间流逝...每个状态都可以指定三种可选的信息:
1)触发器:触发器对应事件
2)守卫:守卫是一个布尔表达示,事件发生时,守卫必须为真,转换才会执行
3)效果:效果是在转换过程中执行的行为(活动或交互)
步骤四:状态机...举个例子:比如买家从V2(待付款)到V3(代收货)这个过程中,如果卖家关闭了订单,会发生什么呢?...首先第一步需要抽象状态,在代码中我们用enmu类型来表示:
public enum OrderNum { v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11 }
public