テストケースのバージョン管理とは

Hannah Son著

テストケースのバージョンを管理していなければ、テストのバージョンを重ねるにつれてテストケースがどのように変更されたかを把握したい、アプリケーションが複雑になるにつれてテストに関して何か変わったかどうかを知りたい、あるいはテストに対する偶発的な変更(誰かが誤って一括編集したなど)について詳細を知りたいといった場合に、テストケースの変更履歴を知る方法がありません。テストケースがいつ変更されたかを知りたい場合も、特定の変更を誰が行ったか、どのように変更されたか、あるいはいつからプロセスが機能しなくなったかを知りたい場合も、テストケースがバージョン管理されていれば、テストケースのバージョン履歴を追跡して確認できます。ただし、テストケースのバージョン管理は、単にテスト管理ツールですべての変更を追跡するだけのものではありません。コードのバージョン管理と同様に、テストケースをバージョン管理すれば、以下のようなことが可能になります。  

  • テストケースの複数のバージョンを並べて比較する
  • 以前のバージョンのテストケースを復元する
  • プロジェクト内に複数のブランチを作成し、テストケースのコピーを持つ

ソフトウェアプロジェクトが拡大するにつれ、どんなテストチームも要件やテストケースの変更を複数のリリースに渡ってどうやって管理していくかについて考えざるをえなくなります。

テストケースのバージョン管理が重要な理由

テストケースのバージョン管理によって、テストケースの複数のバージョンや一定期間にわたる変化を管理、追跡、参照するのが容易になることはおわかりいただけたかと思いますが、では、なぜそれが重要なのでしょうか?

この後、いくつか例を挙げて、テストケースのバージョン管理がどのようにテストケースの変更履歴の追跡や比較に役立つか、また、TestRailでの複数のリリースブランチのベースライン管理を容易にするかを説明します。

理由 1: テストケースの複数のバージョンを並べて比較できる

既存のテストケースが誤っていたり、情報が足りなかったり、手順が抜けていたりした場合、おそらくは、次回あなた(またはほかの誰か)がテストを実行するときにテストケースがより正確なものになるように、テストケースを修正するでしょう。テストケースのバージョン管理機能は、テストケースの2つのバージョンを並べて比較し、一定期間に行われた変更を把握することを可能にします。2つのバージョンの差異を簡単に表示できるため、差異を把握して適切に対応することができます。

テストケースのバージョン管理機能による比較の例: テストリーダーがテストケースの原型を作成し、その後、テスターが足りない情報を補うためにテストケースの説明を変更した場合、テストケースのバージョンが上がります。テストケースの最初のバージョンは1でしたが、変更の後、バージョンは2になります。これは、テストケースの以前のバージョンの詳細を参照し、2つのバージョンを比較するほか、以前のバージョンのテストケースを復元することを可能にします。

TestRailのテストケースバージョン管理機能の利点

TestRail Enterprise版のテストケースバージョン管理機能は、任意の2つのバージョンのテストケースを並べて表示し、差異をハイライトできます。また、TestRailは、問題を修正する方法、バグが起きている理由、物事が期待されたとおりに動作しない理由をわかりやすくするのにも役立ちます。

理由 2: テストケースの完全な履歴を追跡できる

テストケースがどれほど適切に、変更が行われた時点でのアプリケーションの動作を文書化していたとしても、アプリケーション自体が新しいバージョンになると、テストケースは、そのままではもう正確でも妥当でもないかもしれません。このような状況において、テストケースのバージョン管理は重要です。なぜなら、バージョン管理によって、テストケースに対して誰がどんな変更を行ったかを確認し、以前のバージョンに対して実行されたテストケースがどのようであったかを明らかにできるからです。

例: アプリケーションの特定の部分に関して、長期間にわたって継続的に変更があり、バグも発生し続けているため、何度も手直しが必要になっています。こういった状況では、アプリケーションの該当部分がどのように動作するか、どんなバグが発生しているか、現在どのような状態にあるかの履歴が手に負えないほど複雑になる可能性があります。 

TestRailのテストケースバージョン管理機能による問題の軽減

テストケースやアプリケーションの一部が絶え間なく変更されているという場合、TestRailは何が変更されたか、何が動作しているか、何が改善されたかなどを文書化するという点で役に立ちます。Excelを使っている場合、テストケースの履歴データを見つけるのは面倒な作業であり、テストケースのバージョン管理をサポートしていない他のツールでは、おそらく大量の過去のバージョンを搔き分けて、自力でデータを探し出すことになるでしょう。TestRailであれば、選択した任意のバージョンを比較し、ただちに視覚的なフィードバックを得ることで、チームのコラボレーションと効率を促進できます。

また、TestRailにはコメントの履歴機能もあります。コメントは各バージョンにコンテキスト情報を付加するため、変更を行った当人も含む誰もが変更を振り返り、何が変更されたかだけではなく、変更が行なわれた理由やどのような問題に対処しようとしていたかも理解することができます。

理由 3: ベースラインのサポートが可能になる

テストケースのバージョン管理が重要な理由の3つ目は、複数の顧客層や目的に対応するために、1つのテストケースの複数のバージョンを保持する必要があるケースもあるからです。ベースラインを利用すると、1つのプロジェクト内に複数のブランチを作成し、テストケースのコピーを持つことができます。

例: ユーザーのうちの一部が旧バージョンからの変更を望まない、あるいは新しいバージョンを導入する前に自社のインスタンスに特定の変更を適用する必要がある場合、全員に新しいバージョンを押し付けるのではなく、2つのバージョンを維持するほうがよいケースもあるでしょう。その場合、2つのバージョンを確実に維持し、テストできるようにする必要があるため、特定のバージョンをテストしたとき、テストケースがどんな状態だったかを正確に記録し続けることが役に立ちます。

TestRailの利点

内部的には、ベースラインはテストスイートに似ており、コピー元のベースラインまたはマスターブランチのすべてのセクションとテストケースを含んでいます。TestRailでテストケースのバージョンを管理する場合、長期間にわたって複数のメジャーバージョンを並行して維持する必要があるときは、ベースラインを利用するべきです。たとえば、何か月、あるいは何年にもわたって複数のメインブランチ (1.xと2.xなど)を並行してメンテナンスし、リリースする必要があり、しかも、各バージョンが異なるテストケースを必要とするため、時間が経つにつれてベースラインごとにテストケースの情報が大きく異なっていく場合です。ベースラインのサポートは、特にこのようなシナリオのために設計されており、1つのプロジェクトのテストケースリポジトリで、複数の並行する開発作業に対応する複数のブランチおよびバージョンを管理するのに非常に役立ちます。

まとめ

結局のところ、なぜテストケースのバージョン管理は重要なのでしょうか?テストケースのバージョン管理機能は、テストケースを比較し、変化の履歴データを追跡することを可能にします。また、最終的には、QAがアプリケーションの完全性を確認するのに役立つという点でも重要です。そのためには、アプリケーションに対して作成されたテストケース自体も完全性が保たれていることを保証する必要があります。これを実現するために、アプリケーションが変更されたとき、テストケースが変更されたとき、さらに複数のブランチにわたって並行して変更が発生したとき、テストケースのバージョン管理機能によって、プロセス全体にわたって完全性を維持できる必要があります。 

※ 本記事で紹介している「テストケースのバージョン管理機能」は今後日本リリース予定のバージョンでご利用可能になる予定です。

(この記事は、開発元Gurock社の Blog 「What is Test Case Versioning?」2022年1月4日の翻訳記事です。)

関連する製品

テスト管理ツール TestRail

テストケースの管理やテスト結果の記録、チームでの情報共有など、Excelを使ったテスト管理の業務に限界を感じていませんか?TestRailはシンプルで使いやすいUIを提供し、テストにかかるさまざまな管理コストの削減に貢献します。

■ TestRailの特長 ■

  • テストにさまざまな情報を関連づけて一元管理
  • Webブラウザー上でテストケースを簡単に入力や編集可能
  • テスト実施の準備と結果の共有が容易
  • 進捗や比較などのレポートを提供
  • 要件 / 課題管理ツールやテスト自動化ツールと連携

日本国内では、テスト管理にExcelを使っていたお客さまからの乗り換えが多く、Web上で完結するテスト管理を実現されています。

TestRail でテスト管理のお悩みを解決しませんか?

テストの生産性向上をTestRailでお試しください

クラウドおよびオンプレミス、デモサイトでTestRailがお試しいただけます。

  • TestRailクラウド(クラウドサービス)
    • クラウドサービス環境でTestRailをお試しいただけます。
  • TestRailサーバー(オンプレミス版)
    • お客様のマシンにTestRailをインストールしてお試しいただけます。
  • TestRailデモサイト
    • インストールなどの設定なしにTestRailにサンプルデータが登録された環境にて操作をお試しいただけます。

eBook 公開中

Paul Gerrard著 効果的なテスト管理12の秘密 (日本語)

テスト計画やテスト管理に役立つ12のトピックを解説します。

詳細はこちら