Author
奥村 和彦Kazuhiko Okumura
ソフトウェアの開発現場において、プロジェクト管理やアジャイル開発管理にJiraを利用されている所が多くなってきたと感じています。
それと同時に、以前からJiraを利用されている開発現場では、利用範囲を広げるためにテスト管理をJiraでも行いたいというご相談も増えてきました。
ちなみにここでの「テスト管理」とは以下のようなことを指します。
- 要件やストーリーがもつスコープやリスクを基にテストケース設計を行う
- テストケースからテストの実行を計画し、テスト結果を収集する
- テスト結果を収集・可視化して品質をモニタリングする
- テストで発見したバグ (欠陥)を管理し、原因の特定や修正・解決に至るまでを追跡する
- CIで実行した自動テストの結果を連携する。または自動テストツールの実行管理を行う。
ですが、JiraおよびAtlassian製品には、このようなテスト管理のための機能は搭載していないため、テスト管理ツールを導入してJiraとの連携を検討することになります。
Jiraと連携して利用するテスト管理ツールを考えてみる
検討するときに最初に上がるのは、Jiraのサードパーティ製アプリ(アドオン)になると思います。
すでにJiraで課題管理を行うことに慣れているので、Jiraと連携するのであればアプリにした方が使いやすく、課題との連携性も良く、コストメリットも高いです。
代表的なアプリとしては以下のようなものがあります。
- Zephyr for Jira
- TestRail
- XRAY
- Test Management for Jira
このようなアプリは比較的簡単に使いはじめられるので、Excelといったスプレッドシートでテスト管理を行っていた場合には、テスト管理専用ツールへの移行が簡単だったり、アプリを導入した初期のイテレーション開発であれば十分使いやすいと思います。
ですが開発が進んでいくと、Jiraのアプリの場合に以下のような懸念事項が発生していきます。
- テスト結果のデータが大量になりJiraそのもののパフォーマンスに影響が出る。とくにテスト結果については同じテストを回帰的に行うと、イテレーション開発の回数が増えるについて結果データが膨大になります。
- テスト管理が順調に進むことで、さまざまな自動テストとの連携やテストケースに対する機能要望も増えていく。
- レポーティングについてもより良い品質を求めることで、さまざまな視点でのレポートや分析結果を求められる。
Jiraのアプリではその手軽さゆえに豊富な機能を持つことができません。結果、「より良い品質」、「市場投入スピードの向上」といった要求に対する限界も見えてくるのです。
またこれは個人的な意見ですが、Jiraの課題に結果や成果のような大きな情報を直接持たせない方がよいと考えています。
とくにテストケースは、開発している製品が成熟するにつれてテストするべき内容も変わっていくため、テストケースやそれに紐づくテスト結果などにも構成管理が必要になります。
ソフトウェアのソースコードやCIで生成した成果物などは、直接管理するのではなく専用のツールで構成管理を行い、Jiraからはリンクで追跡できるようにすることが一般的です。
テスト管理についても同じように、テストケースなどのアイテムを個別に構成管理できるツールを利用するのがよいと思います。
つまり、最終的にテスト管理をガッツリ行いたいと考えているのであれば、Jiraと切り離したスタンドアローンタイプのテスト管理ツールを導入することが最善では無いでしょうか?
ではお薦めのテスト管理ツールは?
私はTricentis社のqTestをお薦めします。
Tricentis社はオーストリアに本社をもつテストツールの開発ベンダーで、qTestの他にも自動テストツールのToscaといった、さまざまなテスト活動の支援ツールを開発しています。
qTestの強みは以下の通りで、高品質なモノを継続的に市場に早く投入するための機能を取り揃えています。
- アジャイル / DevOpsといった考え方に適したテスト管理が行える構成である。
- Jiraとのリアルタイム連携ができる。
- さまざまなオープンソースや商用の自動テストツールとの連携性・親和性が高い。
- 強力なレポーティング機能による分析
qTestの機能をちょっとご紹介すると
Jiraで作った要件やストーリー課題をqTestの要件として取り込み、テストケースと紐づけることができます
qTestからJiraにアクセスして、特定プロジェクトの課題タイプの課題を、テストケース作成の基となる要件(requirements)として取り込み、qTestのテストケースと反映できます。
リンクされた課題の内容が更新されるとリアルタイムでqTestの情報も更新されます。
テストケースはそれにあわせて、内容を更新して履歴管理するなどのバージョン管理が行えます。
テストの実行結果を取り込んだJira課題に反映したり、バグ票をJiraの課題として起票できます
作成したテストケースを基に、テストの実行計画を立ててテストの結果を管理します。
このとき前述のリンクされたJira側には専用エリアが設けられ、qTestで紐づけられているテストケースの内容とテスト結果の履歴を表示します。
更にテストで発見されたバグは、qTestからJiraの課題として起票し追跡することもできます。
手動テストの操作を自動でキャプチャし、キャプチャ画像を編集・管理できます
qTestExplorerを使うと、探索的テストといった手動テストの操作と表示されている画面を自動でキャプチャし、テスト完了時にそれらを編集できます。
このように行った操作をダイレクトにテスト結果と関連付けたり、エビデンスの作成やバグ票への添付を行う事で、手動テストで問題になる負荷が高い作業の効率化を支援します。
テスト活動全体の情報をさまざまな角度で視覚することで、市場投入を素早くする支援が行えます
qTest Insightsは、「製品の品質」、「要件に対するテストのカバレッジ」、「テストの実施状況やバグの発生数と消化数」と言った進捗を見ることで、製品の市場投入への判断を支援します。
またJiraのダッシュボードと同じ様に、さまざまな視点のガジェット(グラフ)を好きなように組み合わせて、必要な情報をまとめ、共有できるダッシュボード機能もあります。
これ以外にも以下のような機能を持っています。
- 自動テストツールの実行スケジュールや実行結果の取得を管理できる、『qTest Launch』
- Jiraのストーリー課題と連携して、BDD(Behavior Driven Development: 振る舞い駆動開発)フレームワークであるCucumberのGherkinフォーマットを、Jiraの課題と関連付ける、『qTest Scenario』
qTestにはソフトウェア テストに有用な多くの機能を搭載しているので、ここでは書ききれない位ですので、今後もブログで紹介していきます。
テスト管理についてお困りの方、qTestおよびTricentis社のツールに興味がある方はお気軽にお問合せください。