« [イベント]WACATE 2008 冬 参加受付開始 | トップページ | [サイト]SEのためのソフトウェアテスト再入門 »

スイッチカバレッジのまとめ

WACATE 2008 冬も無事終了したので、ここらへんで状態遷移テストについてちょこちょこ書いていこうっと。

ということで状態遷移テストで登場するカバレッジ基準をまとめてみる。具体例や図はのちほど。

  • ノード網羅

  • システムの仕様書から「状態」を洗い出して、その状態をすべて確認すること。たとえば、バスのボタンを例に取ると「消灯」状態、「点灯」状態が考えられ、それらの状態自体を確認すること。もっともレベルの低いカバレッジ基準。

  • リンク網羅(0スイッチカバレッジ)

  • システムの仕様書から「状態」と「イベント」を洗い出して、そのイベントの表す遷移をすべて確認すること。たとえば、バスのボタンを例に取れば、イベントとして「ボタンを押す」、「点灯をリセットする」などが考えられ、状態遷移図の中の→をすべて網羅することになる。このカバレッジ基準を確認するとともに、状態遷移図から状態遷移表への変換を行い、「無効な遷移(=N/A)」の確認をあわせて行うべし。仕様書のままではもちろんのこと、状態遷移図の形でも無効な遷移は網羅しにくい。0スイッチカバレッジともいう。状態遷移図も状態遷移表も視覚的にも仕様が直感的に確認できるので、動的テストではなく設計時の検証方法でも利用される。

  • 1スイッチカバレッジ

  • 0スイッチカバレッジの上位のカバレッジ基準。合計3つの状態を2回のイベントで遷移する経路をすべて網羅するカバレッジ基準の名称。0スイッチカバレッジでは、状態遷移表を作成することで、登場するマス目を網羅すればよいのだが、1スイッチカバレッジは組み合わせを考慮する必要がある。一般的には行列の積(累乗)で計算可能。1スイッチカバレッジまでは最低限確認したいところ。

  • 2スイッチカバレッジ

  • 1スイッチカバレッジの上位のカバレッジ基準。合計4つの状態を3回のイベントで遷移する経路をすべて網羅するカバレッジ基準の名称。こちらも行列計算で全パスを抽出可能だが、対角線上のマス目に注目して、遷移ループを優先的にテストを実施するなどの工夫が考えられる。


    |

    « [イベント]WACATE 2008 冬 参加受付開始 | トップページ | [サイト]SEのためのソフトウェアテスト再入門 »

    コメント

    コメントを書く



    (ウェブ上には掲載しません)




    トラックバック

    この記事のトラックバックURL:
    http://app.f.cocolog-nifty.com/t/trackback/155415/26471119

    この記事へのトラックバック一覧です: スイッチカバレッジのまとめ:

    « [イベント]WACATE 2008 冬 参加受付開始 | トップページ | [サイト]SEのためのソフトウェアテスト再入門 »