ホワイトボックステストは、ソフトウェアの内部構造、設計、実装に焦点を当てたテスト手法。プログラマーやテスターがコードの内部を見て、特定の入力が与えられた場合に内部動作や出力が期待どおりであるかを検証する。ホワイトボックステストは、通常、単体テストの形で実施され、プログラムの各機能を個別にテストする。コードの論理的なパスを通過すること、分岐(if/else文)、ループ(for、while文)、そして境界値の処理など、コードのさまざまな側面が評価する。
ブラックボックステストは、ソフトウェアの内部構造や動作の仕組みを考慮せずに、入力と出力のみに焦点を当てたテスト手法。テスターは、ソフトウェアが仕様書や要件に従って正しく機能するかどうかを検証する。ブラックボックステストでは、さまざまな入力値をソフトウェアに提供し、期待される結果が得られるかを確認する。このテストでは、ユーザーインターフェースのテスト、システムテスト、統合テスト、受け入れテストなどが含まれる。