この連載では、自動テストにスポットを当て、失敗事例の解説や自動化ツールの検証、自動テストを成功させるための手法を解説していきます。
自動テストは自動化したからと言って必ずしも効率化できるわけではありません。
自動テストの理解が不十分であると効果のある自動テストの運用が続かず失敗に終わります。
では自動テストの導入を「成功」に導くにはどのようなことが必要なのでしょうか。
<自動テストはなぜ失敗するのか 連載一覧>※クリックで開きます
【第1回】自動テストはなぜ失敗するのか?
【第2回】TestArchitect for Mobileの動作検証
【第3回】自動テストの成功基準|6つのポイントをチェックする
自動テスト導入前の検討
実際の現場ではシナリオを実装した後に数回実行しただけで、「効果が得られない」「メンテナンスが追いつかない」などの問題に直面し、対策が打てず自動化を断念する現場が多く見られます。
これらの問題は導入前の検討が足りていないことが原因です。
自動テストの初心者が自動テストの経験や知識がない場合に、「取り敢えず自動化してみよう」と進めてみても、シナリオを作り切った運用段階に問題が発覚し、修正するには大きな工数がかかってしまい、自動化を断念することが多いです。
自動テストを成功させるためにはいくつもの失敗するポイントに対して事前に対策をとる必要がありますが、初見ではどこにどのようなリスクが潜んでいるかわかりません。
これらのリスクへの対応は自動テストのシナリオ作成から運用の一連の作業を成功させた経験があれば対応できます。成功経験があればどこにどのようなリスクが潜んでいるか分かるため、事前に対策を行うことができます。自動テストに失敗しないためには事前のリスクの潰しこみのための導入前の検討が重要です。導入前の検討によって1つ1つリスクを潰しこみし、自動テストを確実に成功させることができます。
自動テストの導入検討の内容は以下になります。
(1)目的と役割を決める
(2)成功基準を決める
(3)自動化するテスト内容を決める
(4)テストケースの内容を分析する
(5)評価対象のシステムを分析する
(6)自動化ツールを選定する
それぞれについて解説します。
(1) 目的と役割を決める
まず自動テストを始める際に決めることは「目的と役割を決める」です。ここが明確になっていなければ、自動テストをうまく進めることができません。
- 目的:テスト工数を削減し効率化
- 役割:デグレ確認(品質向上ではない)
自動テストは大きく効率化するものではなく、劇的に品質を上げるものでもありません。同じテストを何度も実行することでデグレ確認を効率化するものです。自動化すれば効率化できるということではありません。運用で何度も実行する自動化でなければ、実行する意味がありません。そのためには自動化する目的を明確にし、目的に合致したテストのみ自動化していくことが大事です。この目的と役割を達成することが終わりではありません。この後に何をするかが重要です。
「削減工数で追加試験を行い、総合的に品質を上げる」、「安定した品質のソフトを短期間にリリースする」などを行い、品質とスピードの両立を行うことが自動テストの本当の目的です。
やみくもに自動化することにならないよう目的と役割を明確にし方向性を持つことが必要です。
(2) 成功基準を決める
自動テストを進めるにあたり、成功の基準を導入前に決めます。
成功基準を決めずに進めてしまうことで、問題が発生しても問題と気づかず運用を続けてしまうことがあります。実施に現場で自動テストを導入した結果、ツールの選定や設計を間違えメンテナンスを行うには非効率な構造や半自動化など問題を抱えた状態で運用を進めても非効率になり続かない自動テストを行うことになります。
続きを読むにはログインが必要です。
ご利用は無料ですので、ぜひご登録ください。