软件状态是指软件当前所处的情况或者模式。软件通过代码进入某一个流程分支,触发一些数据位,设置某些变量,读取某些变量,而转入一个新的状态。软件测试员必须测试软件的状态及其转换。

1.测试软件的逻辑流程。状态测试运用等价分配技术选择状态和分支。因为选择不完全测试,所以要承担一定的风险,但是通过合理选择会减少危险。

2.建立状态转换图。包括的内容有:

A.软件可能进入的每一种独立状态;

B.如果不能断定是否为独立状态,算它是,以后发现不是,随时把它T开;

C.从一种状态转入另一种状态所需的输入和条件。找出什么操作导致的变化;

D.进入或退出某种状态时的设置条件及输出结果。包括显示的菜单和按钮、设置的标志位、产生的打印输出、执行的运算等等。这些是状态转换时发生的部分或全部现象。


3.减少要测试的状态及转换的数量。

A.每种状态至少访问一次;

B.测试看起来常见普遍的状态转换;

C.测试状态之间不常用的分支。

D.测试所有错误状态及其返回值;

E.测试随机状态转换。

4.具体测试的进行。确定要测试的状态及其转换之后,可以定义测试案例了。测试状态及其转换包括检查所有的状态变量??与进入和退出状态相关的静态条件、信息、值、功能等等。状态变量也许不可见,但是很重要。