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

» 2013年01月31日 12時23分 公開
[塚田 雄一 キャッツ,MONOist]
前のページへ 1|2|3       

遷移網羅1スイッチカバレッジを網羅するテストシナリオ

 次に、1スイッチカバレッジを網羅するテストシナリオを考えてみましょう。1スイッチカバレッジを網羅するテストシナリオは、先ほど作成したパターンを組み合わせます。

 例えば、の後に、をつなげてテストするシナリオを考えてみると、というテストシナリオになります。その後、をつなげると、というテストシナリオになります。このようにして作成したテストシナリオを図13に示します。


遷移網羅1スイッチカバレッジを網羅するテストシナリオ 図13 遷移網羅1スイッチカバレッジを網羅するテストシナリオ【※画像クリックで拡大】

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

 作成したテストシナリオにおけるイベント発生順序とイベント発生による遷移の流れを図14に示します。

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

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

 それでは、1スイッチカバレッジでどこまでテストが行えるかを確認してみましょう。

 0スイッチカバレッジのテストケースでは、図15のテスト項目8つのうち4項目のテストが行えました。1スイッチカバレッジの3つのテストシナリオを実施すると、8項目全てのテストが行えます。

1スイッチカバレッジ評価 図15 1スイッチカバレッジ評価

どこまでテストすればよいのか

 先ほどの1スイッチカバレッジでは、8つ全ての項目をテストできました。これらは、最低限テストしておきたい項目であるため、1スイッチカバレッジまでは確認した方がよいでしょう(ただし、他のケースを考えた場合、これで十分とは言い切れません)。

 また今回、「分ボタン」「秒ボタン」「クリアボタン」については、全て「時間設定ボタン」イベントとしてテスト項目を考えました。それらを別々のボタンと捉えてテスト項目を考えた場合、例えば、「秒ボタン」を6回押して、0分0秒の条件にして、「スタートストップボタン」イベントを発行するテストを行うには、6スイッチカバレッジのテストを行う必要があります。Nスイッチカバレッジは、0スイッチカバレッジ→1スイッチカバレッジ→2スイッチカバレッジ→3スイッチカバレッジ……というように上限はありません。上位のカバレッジを行った方がよいのですが、テストには、当然、コストが掛かります。実際の現場では、それらを考慮して、どこまでのカバレッジ確認を行うかを検討してください(図16)。

どこまでテストすればよいのか 図16 どこまでテストすればよいのか

遷移網羅1スイッチカバレッジ隣接行列計算方法

 ここでは、0スイッチカバレッジから、計算により1スイッチカバレッジを求める手法を紹介します。

 計算による1スイッチカバレッジの算出方法ですが、0スイッチカバレッジを2乗することで求められます。また、0スイッチカバレッジは、行列であるため、行列演算を行います。図17に行列演算の2乗による計算方法を示します。

遷移網羅1スイッチカバレッジ隣接行列計算方法 図17 遷移網羅1スイッチカバレッジ隣接行列計算方法

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

 先ほどの計算方法を使用して、実際に遷移前の状態と遷移後の状態を記した0スイッチカバレッジから1スイッチカバレッジを求めてみます(図18)。

遷移網羅1スイッチカバレッジ隣接行列計算 図18 遷移網羅1スイッチカバレッジ隣接行列計算【※画像クリックで拡大】

 0スイッチカバレッジの「時間設定状態」から「時間設定状態」へ遷移(自己遷移)するイベントは、になります。これを隣接行列で2乗の計算を行うと、の5つになります。このようにして、隣接行列の計算結果と、先ほど、1スイッチカバレッジを求めたものを比較してみると、1スイッチカバレッジの確認ができます。

おわりに

 以上、「状態遷移パスのテスト」の説明で、本連載は最終回となります。

 組み込みソフトウェア開発の現場では、古くから“設計品質を向上させるための手法”として状態遷移表が用いられてきました。最近ではモデル検査、さらにはプロダクトライン設計手法、マルチコア環境における並列処理設計手法に対応するなど、その進化を続けています。

 現在、状態遷移表を使用していない、あるいは、使用したことがない方は、本連載を参考にして、ぜひチャレンジしてみてください! 長期間、ご愛読いただきありがとうございました。(連載完)

組み込みモデリング コーナー

組み込みモデリング コーナー

>>コーナーTOPはこちらから


前のページへ 1|2|3       

Copyright © ITmedia, Inc. All Rights Reserved.