グレーボックスとは
灰色のボックスは、内部動作の知識が限られているソフトウェアのテストです。 グレーボックステストは、ハッカーがターゲットのセキュリティネットワークの長所と短所を特定するために限られた情報を使用する必要がある倫理的なハッキング技術です。
グレーボックスの分解
グレーボックスは、テスターがソフトウェアのコードの内部ロジックと構造を調べるホワイトボックステストと、テスターがソフトウェアのコードについて何も知らないブラックボックステストのハイブリッドです。グレーボックステストを理解するには、まずブラックを理解する必要があります。ボックステストとホワイトボックステスト。
ブラックボックスおよびホワイトボックスのテスト
ブラックボックステストでは、ユーザーによる入力と、これらの入力が与えられた場合にソフトウェアが生成する出力以外は何も調べません。 ブラックボックステストでは、プログラミング言語の知識やその他の技術的な詳細は必要ありません。 これは、システムテストおよび受け入れテストで使用される高レベルのテストの一種です。 ソフトウェアエンジニアは、ブラックボックステストを実行するためにソフトウェア要件仕様(SRS)ドキュメントを必要とします。 このテストでは、ブラックボックステスターが入力から出力がどのように生成されるかを知らないエンドユーザーの観点をとります。
ホワイトボックステストには、関連するプログラミング言語を含む、ソフトウェアの構築に使用される技術とプラットフォームに関する深い知識が必要です。 これは、単体テストおよび表示テストで使用される低レベルのテストの一種です。 ソフトウェアエンジニアは、ソースコードを理解できるように、アプリケーションの作成に使用されるプログラミング言語を理解する必要があります。 ホワイトボックステストの主な目的は、セキュリティを強化し、入力と出力がアプリケーションをどのように流れるかを調べ、設計と使いやすさを向上させることです。 ホワイトボックステスターが特定の入力から期待される出力を取得できない場合、結果は修正が必要なバグと見なされます。
グレーボックステスト
グレーボックステストには、ブラックボックステストとホワイトボックステストの両方の重要なコンポーネントが含まれており、どちらかが単独で得られるよりも良い結果を得ることができます。 エンドユーザーと開発者の両方が、アプリケーションのソースコードに関する限られた(部分的な)知識でグレーボックステストを実行します。 グレーボックステストは手動または自動で行うことができます。 ブラックボックステストよりも包括的で時間がかかりますが、ホワイトボックステストほど包括的でも時間もかかりません。 グレーボックステスターには、詳細な設計文書が必要です。
グレーボックステストには、入力の特定、出力の特定、主要なパスの特定、およびサブ機能の特定が含まれます。 次に、サブ関数の入力と出力の開発、サブ関数のテストケースの実行、およびそれらの結果の検証に進みます。
灰色のボックスの例
グレーボックステスターは、Webサイト上のリンクをチェックして修正する場合があります。 リンクが機能しない場合、テスターはリンクを機能させるためにHTMLコードを変更し、ユーザーインターフェイスを再確認してリンクが機能するかどうかを確認します。 灰色のボックステスターは、オンライン計算機もテストします。 テスターは入力(1 + 1、2 * 2、5–4、15 / 3などの数式)を定義し、それらの入力が与えられると計算機が正しい出力を提供することを確認します。 グレーのボックステスターは、計算機のHTMLコードにアクセスでき、エラーが特定された場合は計算機を変更できます。
グレーボックステストでは、アプリケーションのユーザーインターフェイス(プレゼンテーションレイヤー)とその内部動作(コード)の両方を調べます。 主に統合テストと侵入テストで使用されますが、アルゴリズムのテストには適していません。 グレーボックステストは通常、マトリックステスト、回帰テスト、直交配列テスト、パターンテストなどの手法を通じて、アプリケーションのユーザーインターフェイス、セキュリティ、またはオンライン機能をテストするために使用されます。 グレーボックステスターは、コンテキスト固有の問題を識別する可能性が最も高くなります。
「グレー」とは、アプリケーションの内部動作を見るテスターの部分的な能力を指します。 「白」とは、ソフトウェアのインターフェイスを介して内部の動作を確認できることを指し、「黒」とは、ソフトウェアの内部の動作を確認できないことを指します。 グレーボックステストは半透明テストと呼ばれることもあり、ホワイトボックステストはクリアテストと呼ばれることもあり、ブラックボックステストは不透明テストと呼ばれることもあります。