状態遷移のNスイッチテストのテストケースを生成するツール nswitch
状態遷移テスト技法のひとつにNスイッチテストがあります。これはN+1回の状態遷移の経路をすべて網羅するテストを行なうというものです。このN+1回の状態遷移の経路をすべて網羅するテストケースを作成する方法は以下の通りです。
(1) 状態×状態のマトリクス表を作成し、表中のます目に状態の遷移を起こすイベントを記入する。
(2) マトリクス表を行列式と見なし、その行列式の積をとる。
(3) 得られた結果をもとに、テストで使用できるテストケースを作成する。
1スイッチテストのテストケースは、行列式の計算という方法ではなく状態遷移図をもとに各状態からの遷移ルートを洗い出すという手作業で作成してもそれほど時間はかかりませんが、2スイッチテスト以上になると、時間がかかるうえに間違いも起きやすくなります。そうした場合はツールを使用することになります。
Nスイッチテストのテストケース作成に用いるツールとしては、stateMatrixというツールがよく知られています。ただし、このツールではある状態遷移に2つ以上のイベントが関係する場合には使えません。ある状態遷移に2つ以上のイベントが関係するというのは実際にはよくあることなのでこれでは困ってしまいます。このようなケースでは、それぞれのイベントごとに行列式の積の計算を行なえばいいのですが、ちょっと面倒です。
こうしたケースでも正しい結果が得られるツールはないかと探したところありました。nswitchというツールがそれです。このツールはRubyで書かれており、動作にはRubyのインストールが必要ですが、EXE形式のファイルも提供されているのでRubyのインストールまでは行ないたくない場合はそれを使用することができます。nswitchは次のサイトからダウンロードすることができます。
Ruby/Programming/nswitch
http://wikiwiki.jp/hastalavista/?Ruby%2FProgramming%2Fnswitch