こんにちは、現在QAエンジニアをしている白々さじきです。
現職ではアジャイルで2週間に1回リリースがあるので、回帰テスト(リグレッションテスト)も同じ頻度で実施します。なので、リリース前の3~4営業日はずっとテスト漬けです・・・
また、リグレッションテスト中も並行してトラブル対応やデータ収集業務を実施する必要があるので、「時間が足りない」となることもしばしばあります。
この状況を打破するために、テストの自動化をもくろんだのですが、「組織としてQAの自動化を推進していくための方法は?」、「テストの自動化のコツとかあるの?」と思いました。
これを知るために、「ソフトウェアテスト自動化カンファレンス2024」に参加することでヒントを得ることができないかなと思い参加しました。
このイベントで学んだこと
組織としてQAの自動化を推進していくための方法
組織としてQAの自動化を進めるためには、開発チームとの連携が大事という意見が多かったです。
例えば、以下のような連携方法が紹介されていました:
- QAエンジニアがテスト項目を洗い出し、それをもとにE2Eテストの実装は開発エンジニアが担当する。
- QAと開発の間で「どの部分を自動化すべきか」を綿密に話し合い、運用コストを最小化する。
E2Eテストで対象機能のテストをするためにいくつかの前提条件が必要になるものに関しては、手動テストのような負荷がかかってしまいコストパフォーマンスがあまりよくないと指摘されていました。
このため、運用負荷を抑えたテスト設計を行うことでエンジニアが自動テストを開発しやすくすることが大事とのことです。
継続的な開発に求められる自動テストの要件
イベントでは、継続的な開発の中で自動テストは下記が紹介されていました:
- テストの信頼性
- QAエンジニアが信頼できる動作が安定したテストであること
- テストケースと自動テストが連携出来ていること
- 設計されたテストケースと自動テストが密接にリンクしており、適切な動作確認が行える状態
特に2番目ができてない場合は、抜けているテストケースの分を手動テストで賄う必要があるので工数が減らないので自動テストを作成する意味がなくなります。
自動化を進める際の注意点
自動化に取り組む際、陥りやすい失敗とその対策についても多くの学びがありました。特に次の2点が重要です:
- 最初から大量に作らない
最初の段階でたくさんの自動テストを作ろうとすると、後々のメンテナンスが追いつかず、運用に支障をきたします。 - テストの安定性を確保する
自動テストが安定していないと、テスト結果が信用されず結局手動での確認が必要になります。
そのため、最初は少量のテストを毎日回して安定性を確保し、その後徐々に拡大していくステップが推奨されていました。
参加してみた感想
リグレッションテストとかの自動化部分に関しては、QA自身が全部実施しないといけないと思っていましたが、QA一人で実行すると失敗するのでチーム全体で連携しながら進めることの重要性を理解しました。
また、テストを自動化していく運用部分に関しては、信頼性や安定性を確保するために少しずつ作成することが成功への近道と思いました。
これから自社でも、自動テストの導入を進めていくことができるように、まずは少しずつ安定した自動化基盤を構築していきたいと思います。
下記リンクから買い物していただけると白々のお小遣いが増えて色々な有料サービスを使ったブログ記事を書きやすくなるので、ご協力よろしくお願いします!!!
コメント