こんにちは!クオリティアーキテクトグループ(以下、QAG)でQAエンジニアをしている片野です。
好きなテスト技法はデシジョンテーブルテストです。
QAGでは横断組織として自動テストやツール開発、プロセス改善などの仕組みの構築に取り組んでいます。 今回は、テストの情報を用いた課題発見の取り組みについて紹介します。
QA組織の紹介
LIFULLでは、設計・実装を行う開発エンジニアがテストも担当しています。
QAエンジニアはプロジェクトを横断してテストの支援をしています。
背景
横断QA組織の立場からは、以下の状況により社内全体の状況把握が難しく、プロジェクトへのプロアクティブな支援が困難になっています。
- 社内には、さまざまな開発や保守のプロジェクトが同時に動いており、QAGがすべてのプロジェクトへ均等な支援を行えない
- 各プロジェクト・組織の品質面での課題や改善点がQAGから見えにくい
- 各プロジェクトの課題は相談を受けてから気付くことが多く、QAGは受動的な対応になりがち
やったこと
QAGでは、品質課題の解決に向け、品質ダッシュボードを作成しました。
このダッシュボードは、GoogleのLooker Studioを活用していて、様々なデータソースと連携してデータの可視化や分析ができます。
今回は特に、テストケースが格納されているQUBEのデータをLooker Studioに接続し、グラフや表を作成することで、テストの状況を可視化しました。
※QUBEとはLIFULL独自のテスト設計書全社共通フォーマット。
QUBEのサンプル画像
具体的な効果
テストの状況を可視化することにより、冗長なテストケースの削減に効果がありました。
例えば、開発環境やステージング環境など、テストで見るべき観点が異なる環境でも、同じ内容のテストを実施しているケースが見受けられました(特に、テストケース数が多い(テストケース数が上位20%の)プロジェクトにおいて多く見られました)。
それらのテストケースの削減を実施した結果、最大で35%程度の削減をすることができました。
品質ダッシュボードの概要
概要:
品質ダッシュボードは、開発サイクルにおけるテスト関連アクティビティに関する指標を可視化します。
品質ダッシュボードを使う理由
データを可視化することにより、メトリクスベースのフィードバックループ(品質目標の設定→計測→改善)を運用できます。
フィードバックループを回すことで、品質目標(QCD)に近づけたり、品質目標が満たされている状態を保持できます。
活用の仕方
経験や勘ではなく、データに基づいた合理的な意思決定によって、以下のような活用を納得感を持って実現できます。
- 品質課題の特定
- プロセス改善の効果測定
システム構成
今後の展望
今回はテストの効率化に焦点を当てていますが、効率化しすぎるとバグの見逃しにつながる可能性があります。
そのため、開発規模に対してテストケース数が適切かを判断するため、従来型(ウォーターフォール開発でよく使われるメトリクス)のテストケース密度やバグ密度の活用も検討しています。
また、開発生産性についてはアジャイルメトリクスを活用し、QCDの総合的な判断に役立てたいと考えています。
まとめ
メトリクスの活用は始まったばかりですが、今回の取り組みを通して、新たな発見もありました。
それは、開発環境やステージング環境など、テストで見るべき観点が異なる環境でも、同じ量のテストを実施しているケースが見受けられたことです。
これは、テストが効率的に行われていないことを示唆しています。
このように、テストのメトリクスを分析することで、ソフトウェア開発の効率や品質を高められると考えています。
最後まで読んでいただきありがとうございました。
LIFULL ではともに挑戦・成長していける仲間を募集しています。よろしければこちらのページもご覧ください。