はじめに
今回はQualityForwardの階層構造とテスト管理パターンの構築例を事例別にご紹介します。
QualityForwardを日常業務で使用する際、テストの実行結果の入力や進捗確認以外は使用していないというケースに心当たりがある方もいらっしゃるのではないでしょうか。
QualityForwardはテスト実行だけではなく、テストの資産管理やプロジェクト管理を包括したテスト管理ツールです。この記事ではこの管理ツールとしての側面をクローズアップしてみたいと思います。
QualityForwardを使い始めたばかりの方、「テストフェーズとかテストスイートとかよく分からない…」という方以外にも、これから導入を検討されている方もこれを機会にQualityForwardへの理解を深めていただければと思います。
テスト資産管理ツールとしてQualityForwardを活用する
テストに関するさまざまな情報を蓄積することで、テストの消化やバグの発見頻度などの傾向を確認できるようになり、次のテストに向けた工数管理の参考となります。これをテストの資産化と呼びます。
QualityForwardの各階層構造にテストの実行単位を適切に落とし込むことで上記のほかにも以下のようなメリットがあります。
テスト管理がしやすくなる
テストスイートは作成後の編集や複製だけでなく、タグを付けることもできます。タグで管理することで、新しい観点でテストを作成する際などにすみやかに目的のテストスイートを探すことができ、テストの作成時間を短縮することができます。
テストの全体像が可視化できる
QualityForwardではカバレッジパネルによってテストの全体像を可視化できます。カバレッジパネルはテストの進捗を色で、テストの網羅性をブロックの大きさでそれぞれ示しています。
テスト観点を記載した項目をカバレッジパネルの集計項目に設定すると、テスト観点の網羅性が確認できます。管理パターン構築時にカバレッジパネルを確認しながら検討することでテスト観点の抜け漏れが減り、テスト全体の品質向上につながります。
テストの実行単位について
管理パターンの構築の前にテストの実行単位とQualityForwardの階層構造について簡単に説明します。
テストフェーズ
テストフェーズはテストの目的を達成するために必要なテスト観点を集めるほか、テストの実施日時などを定めます。QualityForwardではテストフェーズの作成時に紐付けるテストスイート、フェーズの開始日と終了日、BTS連携の有無を設定します。
テストスイート
テストスイートはある共通項でまとめられたテスト項目の集合になります。この共通項とはテスト観点や機能要件、テストの対象機器などテストの状況によって変わります。テストスイートの項目にはテストの手順や期待結果などを登録します。
テストサイクル
テストスイートで作成されたテストを基に、実際にテストを実施して結果を入力する単位がテストサイクルになります。テストスイートがテスト結果を問う問題とするならば、テストサイクルはそのテスト結果の解答だとお考えください。なお、テストサイクル内の一つ一つの項目が「テストケース」になります。
QualityForwardの階層構造
QualityForwardはテストフェーズにテストスイートを紐付け、テストフェーズの配下にテストサイクルを作成して実行するという階層構造を持っております。このフローを図で表したものが以下の図になります。
事例紹介
それでは具体的な割り当ての事例を見ていきましょう。[ ]内の数字はテストケースの件数を示しています。
事例① テストフェーズを「テストレベル/タイプ」、テストサイクルを「回数」
一つのテストフェーズに一つのテストスイートが紐付いているシンプルな構成です。テストごとの管理が目的の場合、このような組み立て方になります。
事例② テストフェーズを「機能テスト」、テストサイクルを「機種単位」
機能観点ごとにテストフェーズを作り、機種ごとの検証内容をテストサイクルに割り当てるパターンです。アプリやソフトウェアなどのように複数種類の端末で動作を確認する必要がある場合に有効です。テストサイクルは簡単に複製できるため、バージョン変更時の動作確認テストも速やかに着手することができます。
事例③ テストフェーズを「機能テスト」、テストサイクルを「機種単位」
機能観点ごとにテストフェーズを作る点は、事例②に似ています。機種や端末ごとに手順や操作が違う場合、個別にテストサイクルを編集するのは手間がかかります。
テストスイートを端末別に用意しておくことで、機種ごとのテストサイクルをストレスなく作成することができます。
事例④ テストフェーズを「機器」、テストサイクルを「複数のテストタイプ」
一つの機器をいろいろな観点からテストしたい場合、テストフェーズを機器ごとに割り当てるこのパターンがおすすめです。レポート機能ではテストフェーズごとの進捗を集計するため、機器ごとのテスト進捗を確認する際に役立ちます。
事例⑤ テストフェーズを「機器」、テストスイートを「複数のテストタイプ」、テストサイクルを「バリエーション」
事例④に似ていますが、一つの機器の中に複数のバリエーション(国内仕様、海外仕様など)が存在する場合はテストサイクルをバリエーション別に作成する方法もあります。
管理パターン構築時のポイント
QualityForwardのレポートはテストフェーズ単位で進捗を確認することができます。事例④のように機器ごとにテストフェーズを分けると機器ごとの進捗が把握しやすくなります。
またチャートのレポートでは、フィルタをかけることで任意のテストサイクルの情報を確認できます(詳細は新機能追加について:テストフェーズのチャート画面にフィルタ機能が追加されました(2020/10/5)をご覧ください)。事例②や③、⑤のように機器ごとにテストサイクルを設けている場合はこのフィルタ機能を使用することで対象の機器の進捗だけを確認することができます。
このようにレポート上での進捗の見え方を意識して管理パターンを構築すると、管理しやすいテスト資産を作成することができます。
各実行単位にどのような割り当てを行うかはテストの環境次第ですが、多くの状況に対応できるよう拡張性を持っていることがお分かりいただけたと思います。
これらの事例を参考に、プロジェクトのケースに合った有効な活用方法でご利用ください。