🎸

テストピラミッド JSTQB Foundation Level新シラバスのキーワード解説!

2024/02/28に公開

テストピラミッドとは

テストピラミッドは、ソフトウェアテストのさまざまなレベルを、その粒度とテストの実行速度に基づいて階層化するモデルです。このモデルは、テストの自動化と効率的なテスト工数の配分を指導するために使われ、テストの種類に応じて適切なバランスを提案します。テストピラミッドは以下の三つの主要なレイヤーから構成されます:

https://youtube.com/shorts/PcCSYIgLKMc?feature=share

  1. ユニットテスト(Unit Tests): ピラミッドの最下層を形成し、最も細かい粒度のテストです。これらは個々の関数やメソッドの正確性を検証するためのもので、高速に実行され、大量に存在します。ユニットテストにより、コードの基本的な正確性を保証し、開発の早い段階でエラーを発見できます。

  2. サービステスト(Service Tests)または統合テスト(Integration Tests): ピラミッドの中間層で、ユニットテストよりも粒度が粗く、システムの異なるコンポーネント間の統合を検証します。これには、APIテスト、データベースとの連携テストなどが含まれ、システムが部分的に組み合わせても正しく動作することを確認します。

  3. UIテスト(UI Tests)またはエンドツーエンドテスト(End-to-End Tests): ピラミッドの最上層に位置し、最も粗い粒度のテストです。これらのテストは、ユーザーの視点からシステム全体の動作を検証し、実際のユーザー操作を模倣します。UIテストは実行に時間がかかり、脆弱であるため、数は最小限に抑えるべきです。

テストピラミッドの目的は、高速で実行可能なテスト(ユニットテスト)に重点を置きつつ、全体的なカバレッジと品質保証のために適切な量のサービステストとUIテストを組み合わせることです。このモデルに従うことで、テストプロセスの効率と効果を最大化し、開発ライフサイクル全体でソフトウェアの品質を維持することができます。

Discussion