異常終了@Wiki

用語

最終更新:

匿名ユーザー

- view
だれでも歓迎! 編集
◆用語
【カバレッジ】《テスト》Coverageという言葉自体は、「どれ位のモノや範囲をカバーしているか」という程度を表すことに用います。身近なものとして無線の例をあげますと、携帯電話や業務用無線において1つの無線基地局がカバーする地理的な範囲のことを「カバレッジエリア」と言います。ソフトウェア開発の世界でカバレッジというと、ソフトウェアコード(パス)に対して「どの程度テストを実施したか」というテストの消化具合を表すために使用します。ここでミソとなるのは「どの程度」をどう定義するのかということです。ソフトウェアテストを実施する為に、どれ位の網を掛けるかと言い換えることもできるでしょう。このため、もし何の定義もせず「100%のカバレッジにてテストを完了した」と言い切ってしまうと、全てのエラーを排除できた。つまり完璧なテストを実施したという全く夢物語のようなことを意味してしまいます。完璧なテストがどうして「夢物語」なのかは以下のカバレッジの説明から理解してください。では、よく使われる定義から説明していきましょう。まずは、C0,C1,C2というのがあります。C0:命令網羅率(ステートメントカバレッジ):コード内の全てのステートメントを少なくとも1回は実行C1:分岐網羅率(ブランチカバレッジ)コード内の全てのブランチを少なくとも1回は実行C2:条件網羅率(コンディションカバレッジ):コード内のすべての条件を少なくとも1回は実行カバレッジの定義については、1970年代中盤から使われていたようですが、C0,C1と言い出したのはエド・ミラー:EdMillerさんで、1976年位のことです。この定義はほぼ時を同じくして、ご本人から我が国のエンジニアに伝えられたそうです。テストの終了判定に用いるという意味においては、テストの設計度合いを示すものと実行度合いを示すカバレッジに分けて考えられます。設計カバレッジ:設計するべきテストケースをきちんと設計したかを示す実行カバレッジ:実行するべきテストケースをきちんと実行したかを示すパスカバレッジを用いるC0,C1,C2基準は後者に当たります。では、どれ位テストを実施すればよいかといえば、C0やC1については、単体テスト/ホワイトボックステストレベルで100% 網羅するべきです。しかしながらカバレッジ測定を人間がするとなると大変な手間がかかることは想像に難くありません。メジャーなプログラミング言語には大抵 無料/有料のカバレッジ測定ツールがありますので、いろいろと試してみると良いでしょう。統合テストやシステムテストといったプラックボックステストにおいて、C0,C1100%というのは現実的に不可能です。理由は簡単で、コードの中身を知らずに全ての命令/分岐を通るようなテスト設計することは出来ないからです。そこでブラックボックステスト手法では、ドメインテストや境界値分析などといったテクニックを用いてテスト設計することにより、要件に対するカバレッジを確保します。カバレッジ定義には他にもいろいろとあります。以下はそれらの一部です。いろいろあると、どの定義を使用すべきか悩むかもしれませんが、大切なのは、何のためにテストを実施するのかを見極めた上で、テスト設計することです。C0,C1カバレッジが100%だったとしても、単にプログラムが異常終了しなかったことを証明したに過ぎません。仕様と合致しているかや、エラー処理がきちんと組み込まれているかまでは検証できないことを理解しておきましょう。<その他のカバレッジ>ModifiedCondition/Decision(MC/DC)Coverage Data Flow Coverage Loop Coverageetc.
・UNIX
・SOLARIS
・モックアップ
・フレームワーク
・システムテスト
・レプリケーション
・マテリアライズドビュー

タグ:

+ タグ編集
  • タグ:

このサイトはreCAPTCHAによって保護されており、Googleの プライバシーポリシー利用規約 が適用されます。

人気記事ランキング
目安箱バナー