【てすとじどうか】

テスト自動化 とは?

最終更新:
💡 繰り返す確認をプログラムに任せる

テストの準備・実行・結果の比較や報告などを、ツールやプログラムで自動化する取り組み。繰り返す確認を効率化できるが、テストの設計や保守、結果の判断も必要になる。

📌 このページのポイント
テスト作業を、目的に合わせて分担人による確認確認メモ新しい疑問を試す使い勝手を確かめるプログラムによる確認入力 → 実行結果と期待値を比較決めた条件で繰り返す結果を記録・報告するCIなどで実行 → 結果を開発へ戻す設計・保守・失敗原因の調査も必要
人の探索と、繰り返す確認の自動化を組み合わせる。図の矢印は作業の流れを表し、自動テストだけで品質全体を保証するものではない。
ひよこ ひよこ
テストのボタンを自動で押すだけ?
ペンギン先生 ペンギン先生
それも一例だけど、APIへリクエストを送る、計算結果を期待値と比べる、結果を記録するなども含むよ。たとえば合計金額の計算を、決めた入力と期待値で繰り返し確認できるんだ。
ひよこ ひよこ
全部自動にすればいいの?
ペンギン先生 ペンギン先生
自動で判定できる確認と、人が新しい疑問を試す探索や使い勝手の確認を組み合わせよう。繰り返す回帰テストなどから、重要性と維持する手間に合う対象を選ぶんだ。自動化した範囲だけで品質全体を保証することはできないよ。
ひよこ ひよこ
CIに入れたら何が変わるの?
ペンギン先生 ペンギン先生
コードの変更や定期実行をきっかけにテストを動かし、早く結果を知れるよ。時間が短い確認を変更時、長い確認を夜間に回すなど、目的に合わせて配置する。失敗したら製品・テスト・環境のどこに原因があるか調べよう。
ひよこ ひよこ
Flaky Testって何?
ペンギン先生 ペンギン先生
同じ変更を確かめるテストが、成功したり失敗したりすることだよ。テスト間のデータ共有や、画面の準備を待たずに操作することなどが原因になる。環境も調べ、テストを独立させたり、状態に合わせて待ったりするんだ。再実行で通っただけでは原因解決にならないよ。
ひよこ ひよこ
導入すれば必ず得になる?
ペンギン先生 ペンギン先生
作成・実行環境・保守に費用がかかるので、保証はないよ。繰り返しに使う時間がどれだけ減ったか、結果が早く得られるか、維持にどれだけかかるかを小さく試して見積もろう。リリース頻度だけでは投資回収を断定できないんだ。
ペンギン
まとめ:ざっくりこれだけ覚えればOK!
「テスト自動化」って出てきたら「繰り返すテスト作業をプログラムに任せること」と思えばだいたいOK!
📖 おまけ:英語の意味
「Test Automation」 = テスト自動化
💬 automationは自動化という意味。実行・比較・報告などのテスト作業を、ツールに任せることを表すよ。

参考資料

← 用語集にもどる