IT用語: ソフトウェアテストの種類|単体・結合・E2Eテストの違い
ユニットテスト・結合テスト・E2Eテストの役割とテストピラミッドの考え方を解説。
ソフトウェアテストの種類
ソフトウェアの品質保証には複数レベルのテストが使われます。「テストピラミッド」という概念では、下層(単体)ほど数が多く高速に実行でき、上層(E2E)ほど数が少なく実行コストが高いという関係があります。
3種類のテスト
ユニットテスト(単体テスト): 関数やクラスの最小単位を独立してテストします。外部依存(DB・API)はモックで置き換え、高速に実行できます。JestやVitestが代表的なツールです。
結合テスト(インテグレーションテスト): 複数のコンポーネントやモジュールが連携した際の動作をテストします。DBとの連携・API呼び出しを実際に行うことが多いです。
E2Eテスト(エンドツーエンドテスト): 実際のユーザー操作をシミュレートし、ブラウザ上でUIから始まりDBまでの一連の流れをテストします。PlaywrightやCypressを使います。最も実態に近いですが実行が遅く、環境依存も高いです。
テストカバレッジ
コードのどの割合がテストされているかを示す指標。100%を目指すより重要なロジックを確実にカバーする方が実用的です。
関連する用語 (プログラミング)
全33件を見るRuby (ルビー)
「プログラミングを楽しむ」ことを目的に日本のまつもとゆきひろ氏が開発した、美しく書きやすい言語。
モノレポ(Monorepo)
複数のプロジェクトやパッケージを1つのGitリポジトリで管理する手法。コードの共有・一貫したCI/CD・依存関係の統一が容易になる。Turborepo・Nx・Yarnワークスペースで実装される。
GraphQL
FacebookがRESTの課題を解決するために開発したAPIクエリ言語。クライアントが必要なデータの形を宣言的に指定して取得でき、オーバーフェッチ・アンダーフェッチを解消する。
IT用語: 依存性の注入(DI)とは|テストしやすいコードを書く設計原則
クラスが依存するオブジェクトを外部から渡す「依存性の注入(Dependency Injection)」の概念とテスタビリティへの効果を解説。
Jest(ジェスト)
MetaがReact向けに開発したJavaScript/TypeScriptのテストフレームワーク。ゼロ設定で動作・スナップショットテスト・モック機能を標準搭載し、フロントエンドテストのデファクトスタンダード。
SSR(サーバーサイドレンダリング)
Webページをサーバー側でHTMLとして生成してからクライアントに送信する手法。SPAのSEO問題を解決し、初期表示を高速化できる。Next.js・Nuxt.jsで実装されることが多い。