状態遷移表を使用したテスト手法【後編】状態遷移表による設計手法(7)(2/3 ページ)

» 2013年01月31日 12時23分 公開
[塚田 雄一 キャッツ,MONOist]

0スイッチカバレッジにおけるテストシナリオ

 先ほどのテストシナリオにおけるイベント発生順序とイベント発生による遷移の流れを図8に示します。なお、各状態では「各状態で確認する項目」の項で挙げた確認を行います。


0スイッチカバレッジにおけるテストシナリオ 図8 0スイッチカバレッジにおけるテストシナリオ

0スイッチカバレッジ評価(テストで発見できること)

 0スイッチカバレッジでどこまでテストが行えるかを、2つのテストシナリオで確認してみましょう。

 今回、図9に示す8項目について確認してみました。テストシナリオ1では、「時間設定されず計測スタートしたテスト」「時間設定されて計測スタートしたテスト」「カウントダウン中に一時停止したテスト」の3つの項目をテストできます。一方、テストシナリオ2では、「アラーム音出力までの正常系テスト」のテストが行えます。つまり、テスト項目8つのうち4項目のテストが行えます。

0スイッチカバレッジ評価 図9 0スイッチカバレッジ評価

遷移網羅0スイッチカバレッジ隣接行列

 次は、0スイッチカバレッジの「隣接行列」について見てみましょう。状態遷移表では、縦と横にイベントと状態を記しますが、隣接行列では、縦も横も状態を記します。

 今回は、縦に「遷移前の状態」、横に「遷移後の状態」を記します(図10)。そして、各セルには、遷移前の状態から、遷移後の状態へ遷移するイベントを記述して表現します。

遷移網羅0スイッチカバレッジ隣接行列 図10 遷移網羅0スイッチカバレッジ隣接行列

 例えば、「時間設定状態」から、「時間設定状態」へ遷移(自己遷移)するイベントは、の時間設定ボタンとのスタートストップボタンの2つになります。同様にして、までのイベントも記述して表現します。ここで作成した隣接行列は、0スイッチカバレッジから「1スイッチカバレッジ」へ変換する際に使用します。

遷移網羅1スイッチカバレッジ

 1スイッチカバレッジは、0スイッチカバレッジよりも上位のカバレッジ基準です。1スイッチカバレッジは、2回のイベントで遷移する経路を全て網羅するカバレッジです。

 2回のイベントで遷移する経路とは、状態に対して、どこから遷移してくるのか、そして、その次にどこへ遷移していくのかです(図11)。0スイッチカバレッジは、状態遷移表を作成することで遷移を一通り網羅するカバレッジですが、1スイッチカバレッジは“組み合わせ”を考慮したカバレッジといえます。

遷移網羅1スイッチカバレッジ 図11 遷移網羅1スイッチカバレッジ

遷移網羅1スイッチカバレッジの遷移例

 1スイッチカバレッジは、2回遷移するカバレッジであるため、2回イベントを発行します。

 例えば、の時間設定ボタンからの組み合わせを考えてみましょう。「時間設定ボタン」の後に発行するイベントのパターンは、再び「時間設定ボタン」、0分0秒の際に「スタートストップボタン」、そして、0分0秒以外の際に「スタートストップボタン」の3つになります。

 また、のパターンでは、「時間設定ボタン」は「クリアボタン」イベントを発生し、0分0秒のまま変化しない条件の際に、「スタートストップボタン」イベントを発行したことを想定しています。同様にして、のイベントに関し、遷移するパターンを考えてみましょう。参考までに全てのパターンを図12に示します。

遷移網羅1スイッチカバレッジの遷移例 図12 遷移網羅1スイッチカバレッジの遷移例

Copyright © ITmedia, Inc. All Rights Reserved.