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