IT用語: ソフトウェアテストの種類|単体・結合・E2Eテストの違い
ユニットテスト・結合テスト・E2Eテストの役割とテストピラミッドの考え方を解説。
ソフトウェアテストの種類
ソフトウェアの品質保証には複数レベルのテストが使われます。「テストピラミッド」という概念では、下層(単体)ほど数が多く高速に実行でき、上層(E2E)ほど数が少なく実行コストが高いという関係があります。
3種類のテスト
ユニットテスト(単体テスト): 関数やクラスの最小単位を独立してテストします。外部依存(DB・API)はモックで置き換え、高速に実行できます。JestやVitestが代表的なツールです。
結合テスト(インテグレーションテスト): 複数のコンポーネントやモジュールが連携した際の動作をテストします。DBとの連携・API呼び出しを実際に行うことが多いです。
E2Eテスト(エンドツーエンドテスト): 実際のユーザー操作をシミュレートし、ブラウザ上でUIから始まりDBまでの一連の流れをテストします。PlaywrightやCypressを使います。最も実態に近いですが実行が遅く、環境依存も高いです。
テストカバレッジ
コードのどの割合がテストされているかを示す指標。100%を目指すより重要なロジックを確実にカバーする方が実用的です。
関連する用語 (プログラミング)
全33件を見るSPA(シングルページアプリケーション)
ページ遷移時にブラウザをリロードせず、JavaScriptで動的にコンテンツを更新するWebアプリのアーキテクチャ。React・Vue・Angularで実装されることが多い。
Web Components
ブラウザネイティブの技術でカプセル化された再利用可能なUIコンポーネントを作成する仕様。Custom Elements・Shadow DOM・HTML Templatesの3つの技術で構成され、フレームワーク非依存で動作する。
Webpack(ウェブパック)
JavaScriptアプリの依存関係を解析して複数のファイルを1つ(または少数)のバンドルにまとめるモジュールバンドラー。CSS・画像等も処理でき、フロントエンドビルドツールの長年の標準。
GraphQL
FacebookがRESTの課題を解決するために開発したAPIクエリ言語。クライアントが必要なデータの形を宣言的に指定して取得でき、オーバーフェッチ・アンダーフェッチを解消する。
ESLint
JavaScriptとTypeScriptのコードを静的解析し、潜在的なバグや規約違反を検出するリンター。プロジェクト全体で一貫したコードスタイルを強制し、コードレビューの負担を軽減する。
IT用語: DRY原則とは|「繰り返しを避けよ」というプログラミングの鉄則
Don't Repeat Yourself(DRY)原則の意味と、WET(重複だらけ)なコードが引き起こす問題と対処法を解説。