IT用語: ソフトウェアテストの種類|単体・結合・E2Eテストの違い
ユニットテスト・結合テスト・E2Eテストの役割とテストピラミッドの考え方を解説。
ソフトウェアテストの種類
ソフトウェアの品質保証には複数レベルのテストが使われます。「テストピラミッド」という概念では、下層(単体)ほど数が多く高速に実行でき、上層(E2E)ほど数が少なく実行コストが高いという関係があります。
3種類のテスト
ユニットテスト(単体テスト): 関数やクラスの最小単位を独立してテストします。外部依存(DB・API)はモックで置き換え、高速に実行できます。JestやVitestが代表的なツールです。
結合テスト(インテグレーションテスト): 複数のコンポーネントやモジュールが連携した際の動作をテストします。DBとの連携・API呼び出しを実際に行うことが多いです。
E2Eテスト(エンドツーエンドテスト): 実際のユーザー操作をシミュレートし、ブラウザ上でUIから始まりDBまでの一連の流れをテストします。PlaywrightやCypressを使います。最も実態に近いですが実行が遅く、環境依存も高いです。
テストカバレッジ
コードのどの割合がテストされているかを示す指標。100%を目指すより重要なロジックを確実にカバーする方が実用的です。
関連する用語 (プログラミング)
全33件を見るPrettier(コードフォーマッター)
コードを自動的に整形するオピニオネイテッドなフォーマッター。JavaScript・TypeScript・CSS・HTML・JSON・Markdownに対応し、チームのコードスタイル論争を終わらせる。
Web Components
ブラウザネイティブの技術でカプセル化された再利用可能なUIコンポーネントを作成する仕様。Custom Elements・Shadow DOM・HTML Templatesの3つの技術で構成され、フレームワーク非依存で動作する。
TypeScript (TS)
JavaScriptの弱点(エラーの起きやすさ)を克服するためにMicrosoftが開発した、「型(ルール)」を持つ進化版言語。
JavaScript (JS)
Webブラウザ上で動きのある表現(アニメーション等)を実現するためのプログラミング言語。
Ruby (ルビー)
「プログラミングを楽しむ」ことを目的に日本のまつもとゆきひろ氏が開発した、美しく書きやすい言語。
WebAssembly(Wasm)
ブラウザ上でネイティブに近い速度で実行できるバイナリ命令形式。C・C++・Rustなどのコードをブラウザで動かすことができ、ゲーム・動画編集・CADなど計算負荷の高いWebアプリに使われる。