QAエンジニアと協力して品質向上やテスト効率化した話
はじめに
我々のプロジェクトチームは、PM、エンジニア、QAという役割分担で構成されており、それぞれの役割が分業されています。しかし、この分業体制が原因でテストフェーズにてテストデータ作成に時間がかかっていたり、テスト漏れが発生していて問題がある状況でした。その状況を改善するために、いくつかの取り組みをしたので紹介したいと思います。
チーム役割
エンジニアは要件定義から開発までを担当し、開発が完了したら次のタスクに移ります。QAメンバーは開発期間中にテスト設計を行い、QA期間中にエンジニアが開発した機能をテストし、品質を確認します。この体制では、エンジニアが開発を終えた時点で次のタスクに移行し、テストはすべてQAメンバーが行うという状況になっていました。
問題点
このような分業体制の中で、現状では以下のような問題が発生していました。
- どんなデータを作成したらテスト箇所を確認できるのかがわからない
- 件数の多いデータを作成する場合に時間がかかる
- 本来はしないといけないテストが漏れてしまい本番リリース後に障害発生する
対策
1. どんなデータを作成したらテスト箇所を確認できるのかがわからない
デモの実施: 開発終了後にデモを行い、QAメンバーに操作イメージを掴んでもらうことで、どのようなデータを作成すればよいかを明確にする。
2. 件数の多いデータを作成する場合に時間がかかる
登録用のRakeタスクの作成: 簡単にデータを投入できるようにするため、データ登録用のRakeタスクを作成し、手間を削減する。(1000件のデータ作成でも簡単にできる)
3. 本来はしないといけないテストが漏れてしまい本番リリース後に障害発生する
影響範囲の確認と共有: 実装者が影響範囲を確認し、その内容をPR descriptionに記載する。また、QAメンバーにPR descriptionの内容を共有し、テストの抜け漏れを防ぐ。
(PRテンプレート)
テスト設計書のレビュー: エンジニアもテスト設計書をレビューし、全体の品質向上に寄与する。
まとめ
対策後の行動範囲は以下図のようになりました。
エンジニアもテスト工程に入りサポートすることで品質向上や効率化が行えますが、行動範囲が増えたことで次の開発チケットの着手が遅れることもあるため、どこまで入り込むのかは状況を見て判断が必要だなと感じました。(本番不具合が起きるよりはマシですが、、)
今後も、テスト工程の効率化や品質向上を図りつつ、チーム全体での協力体制を強化していきたいと考えています。
Discussion