KINTO Tech Blog
QA

JIRAと連携できるテスト管理ツール「Zephyr」と「TestLink」導入までの道のり

Cover Image for JIRAと連携できるテスト管理ツール「Zephyr」と「TestLink」導入までの道のり

こんにちは。KINTOテクノロジーズにてQAグループのグループマネージャーをしているzumeです。

QA歴はそれなりに長く広かったりするのですが、特にこれまで知見や情報を発信するといったことは意識していませんでした。とはいえここらでいったん自分の考えをまとめる時間が取れたらまとめたいなと思いつつ、除夜の鐘とともに2022年も終わっていたのでした。

普段仕事に追われていると難しいですね。と、自分で時間を作れないことの言い訳にしています。来月やろう、とあとN回つぶやいたらもれなく新しい年明けを迎えます。

テスト管理について

さて今回は、私のグループで使用しているテスト管理ツールのメリットや、導入に至るまでの経緯についてご紹介したいと思います。

本記事をご覧のQAエンジニアの皆様、テストケースの管理はどうされていますか?
すでに何かしら、有償のテスト管理ツールをお使いの方もいらっしゃるかもしれません。

一般的に、テストケースやテスト実施の管理にはExcelやSpreadsheetが使われる傾向があります。ただ、ExcelやSpreadsheetを使ってテスト管理を行う場合、以下のような課題がありました。

テストプロセスの課題

- 課題
  - ⇒懸念(として起こり得ること)
  1. テストケースの構成は、テスト設計者によって属人化しがちであり、ケースの項目分類や形式も異なる

    ⇒設計担当者が変わった場合に作業引き継ぎが大変

    ⇒フォーマットが共通化されていないため、プロジェクトが変わるとケースの解読に時間が掛かる

  2. ケースを確認するには、都度ファイルを開いて中身を見なければいけない

    ⇒チーム内でのドキュメントやノウハウの共有が難しい

  3. 関係者(QA以外のステークホルダー)がテスト内容、結果を俯瞰しづらい

    ⇒QA側で報告用にレポートを整える必要がある

  4. リグレッション実施の際、テストサイクルの度にファイルを新しくする必要がある

    ⇒どのケースを再利用したのかが把握しづらい

  5. テストケースの変更履歴や更新経緯を追いにくい

    ⇒ケース内容の更新等、メンテナンスの際に時間が掛かる(加えてExcelはonlineでの複数同時編集に向かない)

  6. テストの実行結果が手入力のため、正確な実施時間までは分からない

    ⇒不具合発生時刻の特定がしにくい

  7. テストケースとバグレポートの紐付けが出来ていない

    ⇒機能毎の不具合発生率などの集計ができない(がんばれば手集計で出来なくもない。けどしんどい)

などなど。

これらの課題を解決する手段として、テスト要件管理、テストケース作成、テスト実行、テストレポート など、一連のテスト活動を支援するツールの導入を検討しました。
というか、はなからExcelやSpreadsheetを使うことは考えていませんでした。

なぜなら一度Excel運用が浸透してしまうと、そこから脱却するのに時間が掛かるのも経験則で分かっていたからです。

導入するツールの検討

当初、候補に挙げていたのは以下

  • TestLink:オープンソースのWebベーステスト管理ツール。無償。
  • TestRail:Webベースのテスト管理ツール。有償。
  • Zephyr for JIRA:JIRAのプラグイン。有償。(2021年にZephyr Squadという名称に替わっていました[1]

TestLinkは、元々自分がこれまで過去の職場でも使っていた実績があった、というのが理由のひとつ。
ローカル環境でもDocker立ててインストールすればとりあえずすぐ試せる、という利点もあります。
実際、検証用のMac1台をTestLink兼用にしていたこともありました。

ですが、私がKINTOテクノロジーズに入社したのが2020年3月(当時は株式会社KINTO在籍)、ツール導入のターゲットとなるプロジェクトのリリース予定は2か月後の5月、というスケジュール。しかも新型コロナウイルスの感染拡大による最初の緊急事態宣言が、その間の4月に発令される。

というなかなかしびれる状況の中、その時最も適した選択肢として採用したツールはどれでしょうか?

実は、Zephyr for JIRA なのでした。

すでに社内で使われていたJIRAのアドオンですぐ導入できた、また、コロナ禍で予期せず発生したリモートワーク=社外からの利用を考慮しても便利、というのが大きかったです。

有償とはいえ、5月のリリースさえ乗り切ればそのあとの利用継続については再検討する、という考えの元、運用を開始しました。

当時のメモ見ると

JIRAプラグインだから言語設定変えればいけるかと思ったら日本語は一部のみ対応っぽい

や、

Zephyrのレポートはシナリオ単位であって、ケース(ステップ数)単位でのレポート機能無いんやなやっぱり

など[2]

試行錯誤していた形跡が残っていましたね。懐かしい。

すぐ導入できたといいつつも、使う側の慣れやスキルも必要不可欠ではあります。そういう意味でも、当時の混沌とした時期を柔軟に乗り切ってくれたメンバーには今でも感謝しかありません。

Zephyrを使ってみて

もう3年近く(!)昔の話にはなりますが、Zephyr for JIRAを使ってみた感想としては。

JIRAのプラグインなので、テストケースは任意の課題タイプを選択する手順で通常の課題と同じ様に作れます。
ケースの項目には、ステップと期待値、結果、ステータス、コメントの他にファイル添付があり、ステップごとに画面のキャプチャを証跡として残せるのは便利だなと感じました。

一方で、プラグイン自体の読み込みに結構な時間が掛かっていました。画面を遷移するたびに、数秒掛かるというのが悩みでした。こちらもAtlassianのコミュニティに同様のお悩み相談が投稿されていたので、Zephyr固有の問題なのかもしれません。

そしてTestLinkへ

さてどうにか当時のリリース予定スケジュールを乗り切って、2020年5月にプロジェクトが手を離れたあとのテスト管理についてですが。

あらためて費用面も踏まえて検討しました。
JIRA連携が前提なのと、ツールの利用者数は10~20人程度、とした場合に

2020年当時の価格は以下で、

Zephyr for JIRA:11-100 Users ¥510/user/month ⇒20人利用で¥10,200/月
TestRail:1-20 Users $32/user/month ⇒20人利用で$640(約¥83,200)/月

2023年現在の価格は以下です。

Zephyr Squad:11-100 ¥570/user/month ⇒20人利用で¥11,400/月
TestRail:1-20 Users $37/user/month ⇒20人利用で$740(約¥96,200)/月

当時とは料金体系が若干変わっていたのと、やはり多少値上がりしてますね。※いずれも1ドル130円として換算

ぱっと見、Zephyrはお得にみえますが、JIRAのプラグインということもあり、実はJIRAの既存ユーザーライセンス数と同数分が必要になります。
そこに関しては社内でも開発部署全員が使うわけではなく、QAメンバーのみの利用と考えると、組織拡大に伴って費用がかさんでいくのは避けたい。

にしてもTestRailはお高いですね。コストを考えると、フリーのTestLinkに勝る選択肢が見当たりません。

TestLinkに関してはUIがイマイチというのはありますが(オープンソースだから贅沢言わない)、テスト管理ツールとして、少なくとも先述の課題はそれぞれ以下のように解消できます。

テストプロセスの課題とその解決策

テストプロセスの課題 ツールを導入した場合 懸念に対して
1. テストケースの構成は、テスト設計者によって属人化しがちであり、ケースの項目分類や形式も異なる テストスイートやテストケース、テストステップ等を、一定のフォーマットかつ適切な細かさで記載することで、ある程度粒度が揃う 引き継ぎもケースの解読も楽!
2. ケースを確認するには、都度ファイルを開いて中身を見なければいけない 実施項目の視認性が高く、テスト要件とのトレースもとりやすいため、カバレッジがわかる チーム内外でのドキュメント共有が楽!
3. 関係者がテスト内容、結果を俯瞰しづらい テストの進捗状況をリアルタイムで把握できるのと、結果をレポートで一見できる QA側でレポート作成する必要なし!
4. リグレッション実施の際、テストサイクルの度にファイルを新しくする必要がある テストスイート単位での再利用が可能 再利用の対象がつかみやすい!
5. テストケースの変更履歴や更新経緯を記録に残しづらい テストケースの追加・変更に加えて、その履歴が残せる ケースのメンテナンスが楽!
6. テストの実行結果が手入力のため、正確な実施時間までは分からない バグレポート、実行時間、実行者の記録も正確にロギングされる 実施時間帯を絞り込める!
7. テストケースとバグレポートの紐付けが出来ていない テスト進捗率や不具合発生率など、要件/リリース毎のトラッキングがしやすくなる 機能毎の不具合発生率等、集計がしやすい!

というわけで、2020年6月以降はTestLinkを導入することにしました。

まあ、楽と書いてしまうとメンバーからは怒られそうですが、実際のところツールも万能ではないので、Excel等のデータファイルを使うよりかはだいぶ楽ですよ、という感じでしょうか。

追記

フリーといっても、運用に伴うインフラコストは掛かります。TestLink用にAWSのインスタンスを使わせてもらっているのですが、年間数万くらいの費用感です。なお利用開始から3年近く経ちますが、これといった大きな問題もなく今のところ運用出来ています。

今回は、QAグループにおけるテスト管理ツールとして、TestLinkの導入までをお伝えしました。

実際のプロジェクトでのTestLinkの利用例、JIRAとの連携等については、次回以降でまた機会があればお話できればと思います。

脚注
  1. Zephyr for Jira is now Zephyr Squad, SmartBear Software., 2021 ↩︎

  2. ※このステップ単位でのレポートに関しては、Atlassianのコミュニティを見ると2013年の時点ですでにユーザーから要望が出ていたようですが、コメントには替わりの手段としてTestFLOをおススメされていました ↩︎

Facebook

関連記事 | Related Posts

We are hiring!

【QAエンジニア】QAG/東京・大阪

QAグループについて QAグループでは、自社サービスである『KINTO』サービスサイトをはじめ、提供する各種サービスにおいて、リリース前の品質保証、およびサービス品質の向上に向けたQA業務を行なっております。QAグループはまだ成⾧途中の組織ですが、テスト管理ツールの導入や自動化の一部導入など、QAプロセスの最適化に向けて、積極的な取り組みを行っています。

【部長・部長候補】/プラットフォーム開発部/東京

プラットフォーム開発部 について共通サービス開発GWebサービスやモバイルアプリの開発において、必要となる共通機能=会員プラットフォームや決済プラットフォームの開発を手がけるグループです。KINTOの名前が付くサービスやTFS関連のサービスをひとつのアカウントで利用できるよう、様々な共通機能を構築することを目的としています。