天の月

ソフトウェア開発をしていく上での悩み, 考えたこと, 学びを書いてきます(たまに関係ない雑記も)

QAを活用したDevOpsの促進:2024年の注目すべきテストトレンドに参加してきた

mabl-japan.connpass.com

こちらのイベントに参加してきたので、会の様子と感想をかいて思います。

会の概要

以下、イベントページから引用です。

mablが発表した『2024年版 DevOpsにおけるテストの実態調査報告書』では、500名以上のソフトウェア開発者およびQAリーダーなどの皆さまにご協力いただき、DevOps導入の進捗状況や、テスト活動が導入、コラボレーション、顧客の満足度にどのような影響を与えるかを調査しました。また今回は、日本限定のコンテンツとして、国内のmablユーザーの皆さまを対象に実施した、テスト自動化やmablに対するアンケート結果も掲載しています。

本パネルディスカッションでは、QAおよびソフトウェアのリーダーによるリアルな意見や反応を交えながら、2024年レポートで明らかになったトレンドや変化を探り、各チームがこれらのトレンドにどのように対応しているかを伺います。パフォーマンスの高いチームから直接学べるだけでなく、多角的な意見を伺います。また、本セッションの視聴登録をされた方には、 ウェビナー開催前に『2024年版 DevOpsにおけるテストの実態調査報告書』全編をお送りしますので、セッションと併せてお楽しみください。

会の様子

DevOps採用への道のりと阻害要因

まずはブロッコリーさんから、「DevOpsが完全採用された」という表現に関して、元々DevOpsの用語の産みの親であるパトリックが「採用する技術は何でも良いし、担当者間の結びつけが言いたかったことでテスト自動化と結びつける意図はなかった」という話をしていたことを考えると、今回のレポートはDevOpsに関するレポートというよりはテスト自動化の状況レポートとして捉えたほうがいいのではないか?という意見がありました。
また、完全採用という日本語が英語のニュアンスとは異なってくるので難しいという話や、テスト自動化はあくまでも一つの手段でしかないしProcessの一つであるのでそこをDevOpsと表現するのは気になるという話も出ていました。
レポートに限らず、DevOps一般の話題としてツールを導入することがDevOpsだと思ってしまっていたり、テスト自動化と同じように手段がそのまま目的になってしまうことが多いということです。

最後に松村さんから、レポートで書かれている予算的な制約というのは、エキスパートの採用コストを話しているのかツールの値段が高いのか?の具体的な部分が分かると嬉しいという話がありました。

加速化するデプロイと進まない自動化

続いてhonaminさんから、自動化の阻害要因とはどういうところにあるのかがきになるという話がありました。

松村さんは、品質を高めるためにはテストカバレッジを上げたりしていく必要性があるのだが、開発者とQAのバランスが原因で機能開発が優先されがちな点が阻害要因なのではないか?と考えているそうです。(ただし闇雲にテストを増やせばいいとは思っていない)
そのため、松村さんかのチームでは境界値テストをはじめとした一般的な単体テスト作りは必ずやるようにしているそうです。

ブロッコリーさんは、テストを書く時間がない, 書く人がいない、というのは確かにあるとはして、どちらかというとテスト技法を活用したりしてテストを減らすことのほうが重要で、どちらかというとテストのメンテナンスコストが膨れ上がらないように適切なテストケースを選定する方が重要だと思ったそうです。
具体的には、ソースコードをすべて読まなくてもよいので、テストケースのメソッド名といった部分にフォーカスして、コードレビューに参加していくようにしたりしているということでした。(メソッドの中身を知らないQAエンジニアだからこそできることだと思っている)

こういったテストケース選定部分のノウハウも出回っていないことも課題なのでは?という話があり、技術やエンジニアリングとして整理された事例がより多くなってくるといいんじゃないか?という話もブロッコリーさんからありました。

AI活用とDevOps成熟度

松村さんは単体テストを書いていくうえで中身を知っている開発者が適切なメソッド名を作っていくのは難しいので、そこに対してGitHub Copilotを活用して開発者のスキル支援を行っているということでした。

ブロッコリーさんは、生成AIはあくまでも補助的に使うことが前提だと思っており、うまくいっていないところを底上げしたり壁打ち相手とするのには使えるけれど素晴らしいものを出すことには繋がらないと考えているということでした。
特に、テスト実装には使えるけれどテスト設計に関してはまだ生成AIでは厳しい*1ということです。

honaminさんの現場では、GitHub Copilotに関しても使っている人と使っていない人がまばらであり、生成AIの活用もそこまでできていないということでしたが、テスト設計くらいからAI活用できる時代にはなっていると感じているそうです。(ただし、AIが出してくる情報が正しいのかのジャッジはできないといけない)

また、テスト作業に費やす時間に関する定義に関して、そもそもアンケートの回答の選択肢に「テスト設計」がないので、生成AIの実行の議論をするのは難しいのではないかと思っているという話もブロッコリーさんからありました。(回答者によってテスト分析という言葉が何を示しているのかも異なる)

日本オリジナルのユーザーアンケート調査に関する所感

まず、テスト自動化をしているユーザーに対してのみ聞いているという時点でアンケートにバイアスが掛かっているというのは考えておかなきゃいけないという話がありました。

また、継続的にアンケートを取ることに意味があると思うので、あまり設問をコロコロ変えるのはブロッコリーさん的にはおすすめしないということです。

会全体を通した感想

こういったイベントだと、実質レポートの読み上げになったり、宣伝に近いイベントになってしまうことも多いのですが、参加者の皆さんが忖度なく疑問点をディスカッションしてくれたので、非常に面白かったです。
特に、調査結果から派生して現場での実践をどうしていくのか?という話が多く聞けた点が満足でした。

テストトレンドの話とかはあんまり分からなかったので、会のタイトルは変えておいたほうが良いような気はしなくもなかったですが、来年のレポートも楽しみになる内容でした。

*1:もっと言えばテスト実装に関してもテスト設計ができていなければ有効なスクリプトは使えない