手動テストと自動テストの選択戦略は、コスト、目的、機能の安定性、利用可能な労働資源など、多くの要因によって決まります。
問題の歴史: 自動化の初期には、100%のテストを自動化することが目標とされていました。その後、すべてのチェックを自動化する必要はなく、一部のタスクは手動で実行する方が簡単で早く、安価であることが明らかになりました。
問題: 自動化は、同じシナリオを頻繁に繰り返し実行する場合にのみメリットがあります。単発で、すぐに変わる、または主観的な(視覚的な、UX)チェックは、手動で行う方がはるかに簡単です。「すべてを自動化しよう」とすると、すぐに予算が膨れ上がり、利益が失われます。
解決策: 最初に自動化すべきは、以下のものです:
手動テストは、以下の状況で有効です:
主な特徴:
プロジェクト内のすべてのテストを自動化することで利益を得られますか?
いいえ、多くのテストは、行った努力を回収する前に変更され、また自動化の維持は、これらのテストを手動で行うよりも高くつくことになります。
本番環境へのリリース時に手動テストが必須になることはありますか?
はい、UI/UXや視覚的な回帰に関連するタスクは、適切に自動化するのが難しいか、不可能な場合があります。
単発または探求的なタスクのテストを自動化することは有益ですか?
いいえ、自動化には時間とリソースがかかり、それは単発またはあまり使用されないテストの費用を回収することはできません。
チームはすべての手動テストケースを自動化することを決定し、非標準デバイスでのクロスブラウザーテストやレイアウトの視覚的確認を含めました。その結果、数か月で非現実的なテストの維持に何百時間も無駄に費やされました。
利点:
欠点:
チームはマネージャーと共にビジネスにとって重要なシナリオ(登録、支払いの確認)をリスト化し、それを安定して自動化しました。それ以外は手動で、または部分的に(探索的テストを使用して)テストされています。
利点:
欠点: