ソフトウェアのテストは、ソフトウェアが生産運用に入る前のソフトウェア要件分析、設計仕様、およびコーディングの最終レビューであり、ソフトウェアの品質管理における重要なステップです。
ソフトウェア開発プロセスはトップダウンで徐々に洗練されたプロセスであり、テストプロセスは逆の順序で配置されたボトムアップで徐々に統合されたプロセスです。
1. ホワイトボックステストとブラックボックステスト
ブラック ボックス テスト: 製品の機能設計仕様を把握することで、実装された各機能が要件を満たしているかどうかをテストできます。
ホワイト ボックス テスト: 製品の内部作業プロセスを把握することで、各内部操作が設計仕様の要件を満たしているかどうか、およびすべての内部コンポーネントがチェックされているかどうかをテストできます。
ソフトウェアのテストには致命的な欠陥、つまり不完全で不完全なテストがあります。
2. ホワイトボックステストのテストケース設計
ロジックカバレッジとは、プログラムの内部論理構造に基づいてテストケースを設計する手法で、ホワイトボックステストに属します。
論理カバレッジはさらに次のように分類できます。 ステートメント カバレッジ 意思決定カバレッジ 意思決定条件カバレッジ 条件組み合わせカバレッジ パス カバレッジ
プログラムセグメントの例
ステートメント カバレッジとは、複数のテスト ケースを設計し、テスト対象のプログラムを実行して、実行可能な各ステートメントが少なくとも 1 回実行されるようにすることです。ステートメント カバレッジは、最も弱いロジック カバレッジ基準です。
判定カバレッジとは、いくつかのテスト ケースを設計し、テスト対象のプログラムを実行して、プログラム内の各判定の true 分岐と false 分岐が少なくとも 1 回経験されるようにすることです。デシジョン カバレッジは分岐カバレッジとも呼ばれます。
条件カバレッジとは、複数のテスト ケースを設計し、テスト対象のプログラムを実行して、プログラム内の各判断で各条件の可能な値が少なくとも 1 回実行されるようにすることです。
判定条件カバレッジとは、判定の各条件のすべての可能な値が少なくとも 1 回実行され、各判定自体のすべての可能な判定結果が少なくとも 1 回実行されるように、十分なテスト ケースを設計することです。
条件組み合わせカバレッジとは、十分なテスト ケースを設計し、テスト対象のプログラムを実行して、各判定のすべての可能な条件値の組み合わせが少なくとも 1 回実行されるようにすることです。
パス テストとは、プログラム内で考えられるすべてのパスをカバーするのに十分なテスト ケースを設計することです。元の図を例にとると、次のようにテスト ケースのグループを選択して、プログラム セグメントのすべてのパスをカバーできます。
基本パス テストは、プログラム制御フロー グラフに基づいて、制御構造のループの複雑さを分析し、基本実行可能パス セットを導き出し、テスト ケース メソッドを設計します。
3. ブラック ボックス テストのテスト ケース設計
等価クラス分割は典型的なブラックボックステスト法であり、非常に実用的で重要なテスト法でもあり、できるだけ多くのエラーを見つけるために適切なサブセットを選択する方法を解決するために使用されます.
いわゆる等価クラスは、入力ドメインのサブセットを参照します。このサブセットでは、個々の入力データはプログラム内のエラーを発見するために同等であり、同等クラスの代表値をテストすることは、このクラスの他の値をテストすることと同等であると想定するのが妥当です。
等価クラスの分割には 2 つの異なるケースがあります。
(1) 実効等価クラス: プログラムの仕様にとって合理的で意味のある入力データのセットを指します。これにより、プログラムが仕様に定められた機能や性能を実現しているかどうかを確認できます。
(2) 無効な同値クラス: プログラムの仕様上、不合理で無意味な入力データの集まりを指します。プログラマーは、主にこのタイプのテスト ケースを使用して、プログラム内の機能の実装とパフォーマンスが仕様の要件を満たしていないかどうかを確認します。テスト ケースを設計するときは、有効な等価クラスの設計と無効な等価クラスの設計の両方を考慮してください。
境界値分析も、同値類分割法を補完するブラック ボックス テスト法です。多くのエラーは、入力範囲内ではなく、入力範囲または出力範囲の境界で発生することが、長年のテスト作業の経験からわかっています。ここで言う境界とは、入力等価クラスと出力等価クラスの境界値よりわずかに高く、境界値よりわずかに低いいくつかの特定の状況を指します。