先ほどのテストシナリオにおけるイベント発生順序とイベント発生による遷移の流れを図8に示します。なお、各状態では「各状態で確認する項目」の項で挙げた確認を行います。
0スイッチカバレッジでどこまでテストが行えるかを、2つのテストシナリオで確認してみましょう。
今回、図9に示す8項目について確認してみました。テストシナリオ1では、「時間設定されず計測スタートしたテスト」「時間設定されて計測スタートしたテスト」「カウントダウン中に一時停止したテスト」の3つの項目をテストできます。一方、テストシナリオ2では、「アラーム音出力までの正常系テスト」のテストが行えます。つまり、テスト項目8つのうち4項目のテストが行えます。
次は、0スイッチカバレッジの「隣接行列」について見てみましょう。状態遷移表では、縦と横にイベントと状態を記しますが、隣接行列では、縦も横も状態を記します。
今回は、縦に「遷移前の状態」、横に「遷移後の状態」を記します(図10)。そして、各セルには、遷移前の状態から、遷移後の状態へ遷移するイベントを記述して表現します。
例えば、「時間設定状態」から、「時間設定状態」へ遷移(自己遷移)するイベントは、①の時間設定ボタンと②のスタートストップボタンの2つになります。同様にして、③〜⑧までのイベントも記述して表現します。ここで作成した隣接行列は、0スイッチカバレッジから「1スイッチカバレッジ」へ変換する際に使用します。
1スイッチカバレッジは、0スイッチカバレッジよりも上位のカバレッジ基準です。1スイッチカバレッジは、2回のイベントで遷移する経路を全て網羅するカバレッジです。
2回のイベントで遷移する経路とは、状態に対して、どこから遷移してくるのか、そして、その次にどこへ遷移していくのかです(図11)。0スイッチカバレッジは、状態遷移表を作成することで遷移を一通り網羅するカバレッジですが、1スイッチカバレッジは“組み合わせ”を考慮したカバレッジといえます。
1スイッチカバレッジは、2回遷移するカバレッジであるため、2回イベントを発行します。
例えば、①の時間設定ボタンからの組み合わせを考えてみましょう。「①時間設定ボタン」の後に発行するイベントのパターンは、再び「①時間設定ボタン」、0分0秒の際に「②スタートストップボタン」、そして、0分0秒以外の際に「③スタートストップボタン」の3つになります。
また、①+②のパターンでは、「①時間設定ボタン」は「クリアボタン」イベントを発生し、0分0秒のまま変化しない条件の際に、「②スタートストップボタン」イベントを発行したことを想定しています。同様にして、②〜⑧のイベントに関し、遷移するパターンを考えてみましょう。参考までに全てのパターンを図12に示します。
Copyright © ITmedia, Inc. All Rights Reserved.