テスト自動化 — テストを手動ではなく自動的に実行すること(CI/CD内で) — は、スケール規模での高速で信頼性の高い頻繁なテストに不可欠です。これを効果的に構築するには、何を自動化するかの選択、保守可能な自動化の構造化、そして開発プロセスへの統合が必要です。
何を自動化するか(そして何をしないか)
AUTOMATE:
✓ REGRESSION tests (run constantly to catch breakage) — the biggest win
✓ Repetitive, stable, frequently-run tests; unit/integration tests; critical flows
DON'T necessarily automate:
✗ Exploratory testing, usability, one-off checks, highly unstable/changing features
→ manual testing still has a place (exploratory, UX, edge judgment)
→ Automate what's repetitive and valuable to run often; not everything.
保守可能な自動化の構築
✓ Follow the test PYRAMID (mostly fast unit tests; few E2E) → fast, stable automation
✓ Keep tests INDEPENDENT, deterministic, and FAST (avoid flakiness — it kills automation
value)
✓ Use good ABSTRACTIONS (e.g. Page Object Model for UI tests) → maintainable, DRY
✓ Manage TEST DATA and environments (clean, consistent, reproducible)
✓ Treat test code as REAL code (review it, refactor it, keep it clean)
