【てすとじどうか】

テスト自動化 とは?

💡 テストを「手作業」から「自動実行」へ
📌 このページのポイント
テスト自動化 — 手動 vs 自動 手動テスト 人が手でテスト手順を実行 ✗ 時間がかかる ✗ ミスが発生 ✗ 繰返し困難 ✗ コスト増大 自動化 自動テスト スクリプトが自動で実行 ✓ 高速実行 ✓ 正確 ✓ 繰返し可能 ✓ CI/CD連携 テスト自動化ピラミッド UIテスト(少) APIテスト / 結合テスト(中) ユニットテスト(多) — 自動化の土台 テストをスクリプトで自動実行し、品質と速度を両立させる手法
テスト自動化のイメージ
ひよこ ひよこ

全部のテストを自動化すべき?

ペンギン先生 ペンギン先生

テストピラミッドという考え方があるよ。底辺に大量の単体テスト、中間に結合テスト、頂上に少数のE2Eテスト。単体テストは高速で安定だから大量に書ける。E2Eテストは遅くて不安定になりやすいから重要シナリオに絞る。探索的テストや使い勝手の確認は人間がやった方がいいよ

ひよこ ひよこ

Flaky Testって何?

ペンギン先生 ペンギン先生

同じコードなのに実行するたびに成功したり失敗したりする不安定なテスト。原因は時間依存、ネットワーク遅延、テスト間の依存関係非同期処理の待機不足など。Flaky Testがあるとテスト結果を信頼できなくなり、失敗を無視する文化ができてしまう。見つけたら最優先で修正しようね

ひよこ ひよこ

テスト自動化の導入順序は?

ペンギン先生 ペンギン先生

①まず単体テストのフレームワーク導入(Jestpytest等)、②CIに組み込んでコミット時に自動実行、③カバレッジ計測を追加、④重要な業務フローのE2Eテストを追加(PlaywrightCypress等)、⑤テスト結果のレポートとアラート設定。一度に全部やろうとせず段階的に進めるのがコツだよ

ひよこ ひよこ

ROIはどう測る?

ペンギン先生 ペンギン先生

直接的には「手動テスト時間×実行頻度」と「自動テスト作成・メンテコスト」の比較。間接的にはバグの早期発見による手戻り削減、リリース頻度の向上、開発者の心理的安全性リファクタリングを怖がらなくなる)も考慮すべきだよ。リリースが月1回以上のプロジェクトなら投資は確実に回収できるね

ペンギン
まとめ:ざっくりこれだけ覚えればOK!
「テスト自動化」って出てきたら「テストをプログラムで自動実行する仕組み」と思えればだいたいOK!
📖 おまけ:英語の意味
「Test Automation」 = テスト自動化
💬 Automation(自動化)で人手のテスト作業を機械に任せる。DevOpsの重要要素だよ
← 用語集にもどる