テスト自動化 とは
ソフトウェアテストの自動実行
テスト自動化
テスト自動化は、人間の介入なしにテストを実行し、結果を比較し、レポートを生成するための専用ソフトウェアの使用です。
テストレベル
| レベル | 説明 | ツール | |--------|------|--------| | ユニットテスト | 個々の関数をテスト | Jest, JUnit, pytest | | 統合テスト | コンポーネントの相互作用 | TestContainers, Postman | | E2Eテスト | 完全なユーザーシナリオ | Cypress, Playwright, Selenium | | 負荷テスト | 負荷下のパフォーマンス | k6, JMeter, Gatling |
テストピラミッド
- 多数のユニットテスト — 高速、低コスト
- 適度な統合テスト — 接続を検証
- 少数のE2E — 遅いが実際のシナリオをカバー
ベストプラクティス
- 各コミットでCI/CDでテストを実行
- テストを相互に分離
- 外部依存関係にモックを使用
- テストを最新に保つ
- 80%以上のカバレッジを目指す
品質メトリクス
- カバレッジ — コードカバー率
- フレーキネス — 不安定なテスト
- 実行時間 — テストの所要時間
- 合格率 — 成功した実行の割合