定义

在遇到有事务流或由于某种条件成立导致状态改变的软件项目时,如何进行测试用例的设计就比较麻烦。其他的各种方法,每个被测对象之间是没有相互的关联或数据流向发生,遇到这样的事务流软件就要考虑用其他方法进行用例的设计了。

以前在讲操作系统原理时,曾经提到过进程的状态转换。我们看以下图形:

当进程从就绪队列中被进程调度算法选中的时候,它就被调进 CPU 里执行,这个时候进程的状态由就绪状态变换到执行状态;而当该进程执行完毕的时候,是由于所分配的时间片用完,进程调度算法又回到就绪队列里重新提取。当进程执行到一定阶段时,由于发生 I/O 事件,例如:外部数据的输入或运行的中间数据的输出,这时候 CPU 必须进行中断处理,那么该进程就由执行状态转变成阻塞状态,等待事件的完成;当事件完成后,进程从阻塞状态就转换成就绪状态,等待进程调度算法的再一次选中。

以上是操作系统中进程的状态迁徙过程。

使用步骤

我们以 QQ 登录界面为例子,用来讲解状态图法设计测试用例。

(一)通过对 QQ 登录界面的分析,我们看到有 4 个输入项:

ip1:输入帐号

ip2:输入密码

ip3:点击 “登录” 按钮

ip4:点击 “关闭” 按钮

(二)那么从 QQ 启动界面开始,进行状态迁徙分析:

第 1 轮状态图:

第 2 轮状态图:

第 3 轮状态图:

(三)从最后的状态图中可以看出 QQ 登录界面最后的状态有 7 种,那么从这 7 种状态中构造出状态类表:

(四)有一些用例没有列出,望大家自己思考,最后所有的测试用例都省略

备注说明:
该文应该是搜集整理过来的,只是觉的定义和解释的比较规范,非本人原创.若有不当,请联系我,更新援引说明.


↙↙↙阅读原文可查看相关链接,并与作者交流