この記事は Cybozu Advent Calendar 2022 の20日目の記事です。
はじめまして、QAエンジニアのなかたです。 私はkintoneのフロントエンドリアーキテクチャプロジェクト(フロリア)の共通ヘッダー部分のReact化を担当するAppShellチームに参加しています。 AppShellチームはスクラム開発を採用したクロスファンクショナルなチームです。今回はチームに参加して取り組んだこと、感じたことについてお話ししたいと思います。
フロリアの詳細、AppShellチームの詳細については次の記事をご覧ください。
エンジニアとの距離が遠かったテスター時代
私は以前テスターとして従事し、テストの設計と実施を中心に行っていました。 テスターとエンジニアは拠点が異なり、直接コミュニケーションをとる機会はほとんどありませんでした。
仕様や挙動に関する疑問が出たときのやりとりをテキストで行うことから、エンジニアに対して質問することは私にとっては気軽なことではありませんでした。
そのため、実装の影響を受けていなさそうな箇所も、質問をするよりもテストをしたほうが早いという理由で、テストを実施することもありました。
エンジニア、テスター間でオンライン会議をすることもほぼなかったので、そのころはよく「気軽に質問、相談できるエンジニアの友達がほしいなぁ」などと思うものの、距離が遠いことが当たり前になってしまっていました。
クロスファンクショナルなチームに入り、技術的な相談もできるように
現在QAとして参加しているAppShellチームでも、私はエンジニアやそのほかのメンバーと異なる拠点に所属しています。
始業時間、終業時間も異なっていますが、AppShellチームでは毎日オンライン上でコミュニケーションをとる機会があります。
- 月曜:もくもく会(各自が勉強や作業を自由に黙々と進め、終わりに成果発表をする会)
- 火~金曜:朝会
- その他のスクラムイベント:振り返り、スプリントレビュー、スプリントプランニング
テスター時代の経験もあり気軽になんでも相談したいと思っていましたが、チーム加入当初は少し遠慮がありました。
そんな遠慮も、エンジニアから相談をもらっていくうちに減り、私から話しかけることが増えていきました。
もくもく会も最初はエンジニアだけが参加する会でしたが、QAも参加するようになりました。成果発表も私の終業時間に合う時間で開催してもらい、相互に発表することでQAとエンジニアの距離が縮まったと感じています。 また、朝会前の雑談や振り返りが、何気ない話や自身の悩みを話せる機会となっており、心理的安全性を高める時間になっています。
これらの取り組みの結果として、テストに関するやりとりのコストが大幅に削減されただけでなく、以前はできなかった気軽な相談ができるようになりました。自動テストの実装の様子を見学させてもらったり、gitの使い方を教えてもらったりするなど、技術的な相談もできるようになりました。
距離が縮まり、役割にとらわれない活動へ
AppShellチームはエンジニアが手動テストに参加するなど、エンジニアとQAでクロスファンクショナルな活動をしています。 ここではQAが取り組んだ、自動テスト実装の際の活動について紹介します。
AppShellチームでは、QAが作成したExcelのテスト仕様書をもとにIntegrationテストを実装しています。(Integrationテストの実装については、Miraチームの記事に詳しく記載されているので、次の記事も合わせてご覧ください。)
テストの実装に必要なこと
テスト実装時には次の情報が必要になります。
- テストの内容(テスト仕様書)
- 実装するファイル名
- テスト項目名
ファイル、テスト項目名はどこに、どんなテストが実装されているかをQAが把握できるように作成します。 これまで、QAはテスト仕様書の作成までを担当し、そのほかの情報は主にエンジニアが考えていましたが、ファイルの準備、テスト項目名の作成を私のほうで実施することにしました。
作業した内容とメリット
具体的にやったことは次の作業です。
- ブランチの作成
- テスト対象の機能のテストファイルにテスト項目名を書く。(ファイルがなければ作成する)
- プルリクエストを出す
私が担当したのはテストを実装するための準備部分だけですが、それだけでも次のようなメリットがありました。
<QA(私)のメリット>
- 開発環境の操作に慣れた
- テスト項目名をQA目線で作成できた
- 業務の幅が広がった
- エンジニアとの距離がさらに縮まった
<エンジニアのメリット>
- テストの実装コストが下がった
- コード上からテストの実装状況を確認できるようになった
- QAのテスト観点をレビューしやすくなった
テストの実装ができなくても、1つの成果物を一緒に作ることができる喜びを感じることができました。また、エンジニアからも評価してもらい、自身の貢献感にもつながりました。
自動テストの実装にも挑戦してみた
テスト実装前の準備だけでなく、実装にもチャレンジしたいという思いをメンバーに伝えたところ、もくもく会でエンジニアのサポートを受けながら挑戦してみることになりました。
もくもく会ではエンジニアが実装したテストの内容を教えてもらい、既存のテストに似た内容のテストを一緒に実装してみるという形で進めました。 最初は躓いてしまうことも多かったですが、適宜質問させてもらうことで、最終的には一人でテストの実装の一部を進めることができました。
今まではテストコードを見ても手順や条件をコメント等から確認するのみで、具体的な関数の処理までは追えていませんでしたが、今回実装にチャレンジしたことで、「実装のスキルを得て関数の詳細を知ることで意図したテストにより近づき、自動化テストの品質の向上になる」ということを身をもって体感することができました。
エンジニアと距離が近くなっていいことたくさん
今回紹介したテストファイルの準備やプルリクエストの作成、自動テストの実装などは、エンジニアと相談できる距離感で共にチームに参加できているからだと思っています。
上記の取り組みなど、エンジニアとの距離が近いことでQAの私にとってあったいいことを以下にまとめました。
- 気軽なやりとりができる!
- 実装上の影響範囲を気軽に知ることができ、適切な粒度でテストができる
- テスト中に検出した挙動をすぐ報告できる
- 非同期でのコミュニケーションで悩む時間が減った
- 技術的な支援を受けることができる!
- 開発環境の操作ができるようになった
- テストの自動化を実装できるようになった
- 品質向上への気づきを得ることができる
- 自動化にQAが関わることで意図したテストに近づけられる
- テスト仕様書の設計方法の再検討
- できることが増えた楽しさ
- チームへの貢献感
- メンバーへの感謝。さらに貢献したい気持ちに
QAとしてエンジニアの作業を知り、自身のできることが増えることで、品質への気づきやチームへの貢献感を得ることができ、エンジニアと距離が遠かったころに比べとても楽しく働くことができています。
おわりに
エンジニアの時間をもらって技術的なことを教えてもらうことに対し、最初は申し訳ない気持ちが強かったのですが、エンジニアから返ってきたのは「興味を持ってもらえてうれしい」というとても温かい言葉でした。
その結果できることが増え、メンバーへの感謝の気持ちも強くなり、自身のモチベーションにもつながっています。
これからもクロスファンクショナルな活動に挑戦し、チームと品質の向上を目指していきたいと思っています。 この記事を読まれた方に、サイボウズのQAへの興味が少しでも広がると幸いです。
一緒に挑戦してみませんか?
採用情報
フロリアでは絶賛メンバーを募集しています。