SQiPさまざまな取り組みから得られた成果を一般公開しています。
ソフトウェア品質管理にお役立てください。

失敗から学ぶ自動テストの設計プロセス

ソフトウェア品質シンポジウム2022(2022年)

執筆者:

林 尚平 (―)
自動テストは開発スタイルや要望、取り巻く環境の変化で、市場ニーズは高まっており、導入を試みた人は多いですが、定着したプロジェクトは一部です。失敗したプロジェクトを見てみるとどの現場もほぼ同じ要因で失敗していることが多いです。

数々の現場を分析したところ、3つ失敗の分類に分けることができます。
・「実装スキル」の失敗(→必要な試験が自動化できない)
・「進め方(プロセス)」の失敗(→手戻りが多く進まない)
・「人・組織」の失敗(→チームの意見が纏まらない)
今回この中で導入に影響する内容は「進め方(プロセス)」の失敗になります。その導入プロセスを以下の4つに分類分けしました。
①計画 :自動化の方針を決める
②設計 :自動化の内容、処理構成を決める
③実施 :スクリプト作成、実行確認
④振り返り :実績検証と改善
このプロセスに従って進めることでリスク/失敗を回避し成功率を高めることができると考えます。各プロセスの説明には実際にあった現場の失敗を交えて説明します。

個人の見解になりますが自動テストの成功基準を以下のように考えています。
・1回の実行で手動に比べ最低30%以上の効率化/工数削減ができる
・必要なテストが自動化できている
・数百件のシナリオが連続で実行出来る
・誤判定などなく全て正しく実行出来る
・実行から結果確認まで人間の手を入れずに最後まで実行出来る
・メンテナンスやリスクの対策済み

この成功基準を満たせる自動テストの導入プロセスを説明します。