| ブラックボックスシステム | |
|---|---|
| システム | |
| ブラックボックス、オラクルマシン | |
| 方法とテクニック | |
| ブラックボックステスト、ブラックボックス化 | |
| 関連技術 | |
| フィードフォワード、難読化、パターン認識、ホワイトボックス、ホワイトボックステスト、グレーボックステスト、システム識別 | |
| 基礎 | |
| 先験情報、制御システム、オープンシステム、オペレーションズリサーチ、熱力学システム | |
ブラックボックステストは、仕様ベーステストとも呼ばれ、[1]ソフトウェアテストの方法の一種で、内部構造や仕組みを調べることなくアプリケーションの機能性を検査します。このテスト方法は、ユニットテスト、統合テスト、システムテスト、受け入れテストなど、ソフトウェアテストのほぼすべてのレベルに適用できます。ブラックボックステストは侵入テストの方法としても使用され、侵入テストでは、倫理的なハッカーが攻撃対象のシステムに関する知識を持たずに外部からのハッキングやサイバー攻撃をシミュレートします。
テスト手順
仕様ベースのテストは、適用可能な要件に従ってソフトウェアの機能をテストすることを目的としています。[2]このレベルのテストでは通常、テスト担当者に徹底的なテストケースを提供する必要があります。テスト担当者は、特定の入力に対して、出力値(または動作)がテストケースで指定された期待値と同じか同じでないかを確認するだけで済みます。

アプリケーションのコード、内部構造、プログラミング全般に関する具体的な知識は必要ありません。[3]テスターはソフトウェアが何をすべきかは認識していますが、それがどのように行われるかは認識していません。たとえば、テスターは特定の入力が特定の不変の出力を返すことを認識していますが、ソフトウェアがそもそもどのように出力を生成するかは認識していません。 [4]
テストケース
テスト ケースは、仕様と要件、つまりアプリケーションが行うことを想定して作成されます。テスト ケースは通常、仕様、要件、設計パラメータなど、ソフトウェアの外部記述から派生します。使用されるテストは主に機能テストですが、非機能テストも使用される場合があります。テスト設計者は、有効な入力と無効な入力の両方を選択し、多くの場合、テスト オラクルや、適切であることがわかっている以前の結果を利用して、テスト オブジェクトの内部構造に関する知識がなくても、正しい出力を決定します。
テスト設計手法
典型的なブラックボックステスト設計手法には、決定表テスト、全ペアテスト、同値分割、境界値分析、因果グラフ、エラー推測、状態遷移テスト、ユースケーステスト、ユーザーストーリーテスト、ドメイン分析、構文テストなどがあります。[5] [6]
テスト範囲
テストカバレッジとは、システムまたはアプリケーションのブラックボックステストによってテストされるソフトウェア要件の割合を指します。 [7]これは、プログラムの内部動作を調べ、テストスイートの実行時にプログラムのソースコードが実行される度合いを測定するコードカバレッジとは対照的です。[8]テストカバレッジを測定すると、欠陥を迅速に検出して排除し、より包括的なテストスイートを作成し、特定の要件に関連しないテストを削除できます。[8] [9]
効果
ブラックボックステストは、正しい機能を保証するために必要かもしれませんが、複雑または高リスクの状況を防ぐには不十分です。[10]ブラックボックス手法の利点は、プログラミングの知識が不要であることです。プログラマーがどのような偏見を持っていたとしても、テスターはおそらく異なる偏見を持っており、異なる機能領域を重視する可能性があります。一方、ブラックボックステストは、「懐中電灯なしで暗い迷路を歩くようなもの」と言われています。[11]ソースコードを調べないため、テスターが1つのテストケースだけでテストできるものをチェックするために多くのテストケースを書いたり、プログラムの一部をテストしないままにしたりすることがあります。
参照
参考文献
- ^ Jerry Gao、H.-SJ Tsao、Ye Wu (2003)。コンポーネントベースソフトウェアのテストと品質保証。Artech House。pp. 170– 。ISBN 978-1-58053-735-3。
- ^ Laycock, Gilbert T. (1993). 仕様ベースのソフトウェアテストの理論と実践(PDF) (博士論文).シェフィールド大学コンピュータサイエンス学部. 2018年1月2日閲覧。
- ^ Milind G. Limaye (2009). ソフトウェアテスト. Tata McGraw-Hill Education. p. 216. ISBN 978-0-07-013990-9。
- ^ Patton, Ron (2005).ソフトウェアテスト(第2版). インディアナポリス: Sams Publishing. ISBN 978-0672327988。
- ^ フォルガーチ、イシュトヴァーン;コヴァチ、アッティラ (2019)。実践的なテスト設計: 従来のテスト設計手法と自動化されたテスト設計手法の選択。ISBN 978-1780174723。
- ^ Black, R. (2011). 実用的なソフトウェアテスト: 効果的で効率的なテストプロフェッショナルになる. John Wiley & Sons. pp. 44–6. ISBN 978-1-118-07938-6。
- ^ IEEE標準ソフトウェアエンジニアリング用語集(技術レポート)。IEEE。1990年。610.12-1990。
- ^ ab 「コードカバレッジとテストカバレッジ」。BrowserStack 。 2024年4月13日閲覧。
- ^ Andrades, Geosley (2023-12-16). 「ソフトウェアテストにおける上位8つのテストカバレッジテクニック」ACCELQ Inc . 2024-04-13閲覧。
- ^ Bach, James (1999 年 6 月). 「リスクと要件に基づくテスト」(PDF) . Computer . 32 (6): 113–114 . 2008 年8 月 19 日閲覧。
- ^ Savenkov, Roman (2008).ソフトウェアテスターになる方法。Roman Savenkov Consulting。p. 159。ISBN 978-0-615-23372-7。
外部リンク
- BCS SIGIST (英国コンピュータ協会ソフトウェアテスト専門利益団体): ソフトウェアコンポーネントテストの標準、ワーキングドラフト 3.4、2001 年 4 月 27 日。
