『ホワイトボックステスト』と『ブラックボックステスト』と『グレーボックステスト』について
ホワイトボックステスト、ブラックボックステストについて、一度は聞いたことがあると思いますが、より具体的にご説明致します。
目次
『ホワイトボックステスト』と『ブラックボックステスト』と『グレーボックステスト』について
1.|ホワイトボックステストとは
プログラム内部のテストであり、設計者が作成したロジック、制御が正常であるかをテストします。そのため単体テストで用いられています。
条件分岐や例外処理等、単純な間違い(処理間違い、記載ミス)がないことを確認します。モジュール単位での確認作業となるため、論理構造を正しく理解しておく必要があります。
ホワイトボックステストで使用されるテストケース作成方法として、「制御フローテスト」「データフローテスト」があります。
「制御フローテストとは」
フロー図を用いて、プログラムの処理経路が網羅的に実行されているかを確認する方法です。条件判定と呼ばれる処理の分岐がある場合は、すべての処理経路を通過させる必要があります。
一つでも処理経路の実行が確認されないと、プログラムが正常に動作しているかを判断できなくなるため、条件に合わせたテストデータを用意する必要があります。
「データフローテストとは」
プログラムのデータや変数が、順番通りに行われているかを確認する方法です。プログラムでは渡された値について変換したり、ほかの文字を付加したりといった加工を行う場合があります。そのため、データフローテストでは、実行した結果、想定通りの値が返ってくることを確認します。
2.| ブラックボックステストとは
ユーザ側のテストの位置付けです。(総合テスト)システム全体の仕様を満たしているかを確認する機能テストです。また性能テストも含まれています。その為、ホワイトボックステストでカバーできない内容を補っているイメージです。
ブラックボックステストで使用されるテストケース作成方法として、「同値分割法」「境界値分析」についてご説明致します。
「同値分割法とは」
正常系と異常系処理が正しく動作することを確認する方法です。異常値を設定した場合に、エラー処理が発生することを確認します。
「境界値分析とは」
境界値に基づいてテストケースを作成する方法です。例えば入力条件として、「0以上10未満」の範囲指定がある場合、設計書で「以下」と「未満」を間違えたり、コーディングで「≧」と「>」を間違えたりした場合に有効です。
同値分割法を実施後に、境界値分析を実施する流れが一般的です。
3.| グレーボックステストとは
内部構造を把握したうえで、外部から仕様に基づきテストを行います。「ホワイトボックステスト」と「ブラックボックステスト」の中間にあたるテスト技法なので、「グレーボックステスト」と言います。
外部からの仕様や機能の観点からテストを行う点で、ホワイトボックステストとは違います。また、基本的なコンポーネントがどう動作するかを考慮する点で、ブラックボックステストとも違います。
内部の動きを把握できれば、 外部からより適切に狙いをつけてテストができるという考えのテスト手法です。(プログラム作成者がテストを実施する場合が上記に該当します。)
4.| まとめ
グレーボックステストを実施した際は、第三者試験(受け入れテスト)を実施しましょう。さらに品質が向上すると思われます。
#『ホワイトボックステスト』と『ブラックボックステスト』と『グレーボックステスト』について
Comments