はじめに
こんにちは! PR TIMESの開発本部QAチームの安食です。私は2019年11月にQAチーム立ち上げメンバーとして、入社しました。
PR TIMESの QAチームの最近の活動をご紹介いたします。
PR TIMESのQAチーム(Quality Assurance)ってどんなチーム
PR TIMESでは、QAチームと呼んでいます。
会社のValue Philosophyに、「私たちはmissionの実現に向けて、Most Valuable Teamであるために全力最善で相互に協力し合う。」があります。プロダクトリリースに関する一連の活動(企画、開発、テスト、運用)において、チームメンバーは協力し合うことで、品質活動にも一体となって取り組んでいくことを目指しています。
その中でQAは、プロダクトの品質を最大限保証するために必要な品質活動を行う、(品質の高さは、開発速度と顧客満足度を上げることができる)そのような、チームでありたいと考えています。
PR TIMES QA の現状のフローと種類
プロダクトリリースの流れは、「要件定義→デザイン→デザインQA→技術設計→開発→stg QA→リリース→本番 QA→完了」です。QAがかかわる段階は要件定義、デザインQA、実装QA、本番QA、リリース後のインシデントQAなどが含まれます。また、リファクタリングQAやLP QAも実施しています。
これまでの状況と課題これまでの作業
これまで、QA作業は主にパターンとテストケースを使用して実施されていました。開発が終了すると、すべてのプロジェクトで stg/本番確認 が行われ、また1日でのリファクタリングの確認を stg/本番確認 を行い、その夜には自動テストが実施されるようになりました。ただし、自動化は基本的な部分の設定にとどまっていました。
状況
QAのリソース不足、開発人数の増加、そしてプロジェクト数の増加により、エンジニアチームのチケット消化数が急増し、確認作業に遅れが生じ、QAがボトルネックとなっています。これに関連して、いくつかの課題が浮かび上がりました。
課題
1: 可視化とコミュニケーション
QAのテスト実施状況や結果が可視化されていないことが外部からの理解を難しくしていました。どこを?何を?テストしているのか不明だったり、テストの手順が周りに分からなかったりこの欠如がコミュニケーションのボトルネックを引き起こしていました。
2: 開発プロセスの一貫性不足
プロジェクトごとに開発スピードや仕様が異なる中で、一貫したQAプロセスが欠如していました。パターンとマトリクスのみでのテストだったり、テストケースまである場合だったりとこれが品質に影響を与えていました。
3: 人員不足とテスト不足
開発の人員も増え、開発スピードも上がりそれに伴い、QAのリソース不足により、QAが追い付かず、テスト不足や確認の大幅な遅延が発生していました。これが確認作業における課題となります。
QA作業の見直し
小さなプロジェクトではエンジニアが個別にテストし、大きなプロジェクトではテストプランやテストケースの作成と実行を行っています。特に仕様が都度変わる短期プロジェクトには、柔軟にペアテストや探索的テストを導入しました。リファクタリングQAは2日間かけて行い、自動テストできない部分に焦点を当てます。
小さなプロジェクト
小さなプロジェクトでは、エンジニアが個々にテストを担当し、エビデンスやテストケースを作成した後、QAで確認を行います。この柔軟性と個別のアプローチにより、素早い対応とテストの効率化を実現しています。
大きなプロジェクト
大きなプロジェクトでは、以下のステップに従ってQAを進めています。
テストプランの作成:
テストプラン、テスト観点、テスト概要、テスト項目、パターン、テストケースを詳細に作成します。プロジェクトの規模や複雑性に対応するため、一貫性を保つために必要なプロセスです。
テストの実行:
作成したテストプランに基づいてテストを実行します。これにより、プロジェクト全体の品質を確認し、不具合を早期に発見することが可能です。
結果の確認と修正:
テストの結果を確認し、不具合があればエンジニアに報告します。報告された不具合は迅速に修正され、再度テストが実行されます。
リファクタリングQAの進め方
リファクタリングQAでは、以下の手順で作業を進めています。
1日目:
エンジニアがコードの変更を行います。これらの変更はステージングに反映されます。
その日の夜間に自動テストが実施されます。これにより、自動化でカバーできる範囲の確認が行われます。
2日目:
自動テストでカバーできない部分に焦点を当て、QAが行われます。
不具合や問題が発見されれば、エンジニアと連携し修正作業が行われます。
リファクタリングデーについての詳細な情報は、こちらでご確認いただけます。
ペアテストと探索的テストの導入
特に仕様が都度変わる短期プロジェクトには、機能テスト時にペアテストや探索的テストを柔軟に導入しています。これにより、変更に柔軟に対応し、品質を確保することができます。
自動化を本格的に始動
以前にAutifyを導入していましたが、あまり本格的には、稼働出来ていなく、今回本格的に稼働させました。全ての機能の自動化の実施に取り掛かり(開発中や開発予定の部分を省く)、Autifyが対応できない箇所がありました。Autifyで多くの機能を自動化することは可能ですが、私たちのプロジェクトでは対応しきれない部分が出てきました。そこで、QAチーム内での議論の末、開発の方でも、Playwrightを触り始めたということもあり、Playwrightの導入を決定しました。Playwrightは柔軟性が高く、カスタマイズが可能なため、Autifyが対応できない箇所もしっかりとカバーしていき、自動化を充実させていきたいです。
深夜の自動化ラン
新たな自動化のプロセスとして、深夜に自動化を走らせ、翌朝に結果を精査し、不具合でない箇所を微調整するルーティンを導入しました。これにより、日中の業務に支障をきたさず、また素早く問題を解決できる体制を整えました。
この新しいルーティンにより、我々のQAプロセスは以前よりも遥かに効率的になり、同時に品質向上にも寄与しています。深夜の自動化ランによって、不具合の早期発見と修正が可能になり、開発サイクル全体を迅速かつスムーズに進めることができました。
導入した結果:
新しいルーティンにより、QAプロセスは以前よりも遥かに効率的になり、同時に品質向上にも寄与しています。深夜の自動化ランによって、不具合の早期発見と修正が可能になり、開発サイクル全体を迅速かつスムーズに進めることができました。passの割合が増え、不具合を素早く発見できるようになり、実際にこのルーティーンを導入して、不具合が9件発見されました。
変更にあたっての反省点、感想
「QAの限界に気づく」
一時期、QAが回らなくなり、品質に対する過度な期待が生まれていました。しかしながら、人手不足という厳しい現実を受け止め、QAだけが全てを担うという考え方を見直す必要性を感じました。この認識の変化は、変革への第一歩となりました。
「全体で品質を保障する新しい方向」
新しいアプローチとして、品質保障をQAだけの責任から解放し、品質は全員で保障していく方向にシフトしました。この変化により、PdMやエンジニアも巻き込みながら、連携強化が進みました。エンジニアとの協力により、品質向上だけでなく、リリースまでの方向性も明確になりました。
変革を通じて改めて感じたのは、品質は全てのメンバーが保障しなければならないということです。協力体制が機能する中で、品質の向上がチーム全体の共通の目標となり、リリースに向けて一丸となって進むことができました。
「自動化への信頼の向上」
方針転換により、自動化ツールへの信頼も高まりました。エンジニアとの連携が深まったことで、自動化の実行や問題の修正に関してもスムーズに進むようになりました。これにより、品質保障プロセスがより迅速かつ効率的に進行するようになりました。
今後の課題
- テスト文化の浸透とスケジュール管理:
質に対するコミットメントを確立しています。テスト文化の強化がスケジュール遵守に寄与し、効果的なテストがプロジェクト全体にポジティブな影響を与えることを目指したいです。
- Bug分析の活用:
Bug分析は一部で行っているものの、その結果を次のプロジェクトに十分に活かせていないと感じています。効果的な分析手法を確立し、得られた知見を次のプロジェクトへ効果的に反映できるよう取り組みたいです。
- 連携とコミュニケーション:
カスタマーリレーションズ(CR)との連携の強化が求められ、ユーザーフィードバックや問題点の共有が不可欠です。PdMやエンジニアとの連携を一層強化し、円滑なコミュニケーションを築くことが品質向上の鍵となります。
- 品質の共有:
品質を共有し、保障していく文化を浸透させることが今後の大きな課題です。チーム全体で品質に対する共通の理解を深め、個々の責任だけでなく、全員が品質にコミットすることで、プロジェクト全体の成功に貢献していきたいです。
これらの課題に対処するためには、より一層の効果的な連携とコミュニケーションを築き上げ、品質保障のプロセスをさらに進化させていくことが必要です。我々はこれからもチーム全体で取り組み、品質向上とプロダクトの更なる発展に努めて行きます。是非とも今後の展開にご期待ください!
こちらも一緒に見ていただけると嬉しいです。
色々と課題ややることが多いが、人手不足の為、なかなか着手出来ずにいます…….
是非、一緒に試行錯誤して、QAチームを一緒に作って行ってくれる方を絶賛募集中です!