本連載では、具体的なテスト仕様書のサンプルを通して、さまざまなテスト技法を紹介し、開発のストレスとなりがちなテストをやさしく紐解いていきます。詳しくは連載の第1回をご参照ください。
1. ホワイトボックステスト
今回から単体テストの詳細に入ります。今回のテーマはホワイトボックステストです。一回では終わらないので何回かに分けて解説します。
前回は「第I部」「第1章」が終わっていました。「第1章」の後には改ページして「第II部の表紙」(テンプレート1)を書きます。
「第II部の表紙」の後には改ページして「第2章」を書きます。
1.1. 第2章の内容
第2章では下記を書きます(ここで出てくる様々な言葉は該当箇所で説明しますので、先に読み進めてください)。
2.1 ホワイトボックステストの考え方 2.2 プログラムの制御構造 2.2.1 順番 2.2.2 条件
今回はここまで解説します。下記は次回以降に解説します。
2.2.3 反復 2.3 網羅率 2.3.1 C0 網羅率 2.3.2 C1 網羅率 2.3.3 C2 網羅率 2.4 設計 2.5 項目 2.6 手続き
1.2. 第2章の本文
単体テストには「ホワイトボックステスト」と「ブラックボックステスト」があります。
第2章の本文では、このホワイトボックステストの簡単な説明を書きます。
「構造」はIEEE標準(参考文献4)によると、ホワイトボックステストは「ガラス箱テスト(glass-box testing)」「構造テスト(structural testing)」と同義として定義されています。つまり「ホワイトボックステストとは構造によるテスト」だと言うのです。
「網羅率」はIEEE標準(参考文献4)によると、「テストが対象システムへ指定された全ての要件を調べているかの程度」とやや広く定義されていますが、ホワイトボックステストの網羅率は後ほどさらに詳しく定義します。
1.3. ホワイトボックステストの考え方
この段落は開発者にとって是非とも入れておきたいところです。往々にしてお客様は「テストとは、コンピュータのプログラムを実行し、正しく動作するかどうか確認する作業のことである」と要求しがちです。しかし、たかだか有限回のテストで、無限の組み合わせを内在するプログラムが正しく動作するかどうかを確かめることなどできません。この文章を入れておかないとお客様から責められ続けるおそれがありますね。