テスト管理ツール導入を検討するにあたって、「Excelと比べて何がいいのよ?」という疑問は挙がって当然でしょう。
ツールベンダからの情報はけっこうあるのですが、ユーザからの情報ってあんまりないんじゃないかと思って、ちょっと書いてみました。導入の検討の際に、何かしらお役に立てば。
はじめに
まずこちらが、おおものとスプレッドシートで、テスト管理ツールとスプレッドシート、テスト管理においてどんな長所・短所があるかの私見をまとめたものです*1。
本記事は、このバージョンの現時点版から転記したものです。メンテはスプレッドシート側のみに反映します。
注意点
注意点は、以下の2点です。
- あくまで機能面にのみ注目しており、たとえばコスト(ライセンスコスト、維持運用コスト、学習コスト、Excel職人コストなど)は対象外です。
- わたしが 使ってみたツールの数は限られますので、「テスト管理ツールって一般的にこうです!」というのはちょっと嘘かもしれません。
なおテスト管理ツールについては、テストケースのグルーピングについて以下のような記事も書いています。よろしければ。 www.kzsuzuki.com
テスト管理ツールベストプラクティス!?
この手の話、つまり「テスト管理ツールの機能」の話じゃなくて、「テスト管理ツールをどう使うといいのか」という、「テスト管理ツールベストプラクティス」を考えるコミュニティ活動、やってみたいです。もう存在するなら仲間に入れてくれ・・・。
検討したいテーマは、こんな感じ。
- テストケースの集合のツリー管理やタグ付けといった、管理の方法
- テスト実行のステータス遷移
- テストケースの命名
- ・・・
では以下、比較です。ただ、スプレッドシートを見た方が早いです!
テスト計画
工数見積もり
従来のスプレッドシート運用
特になし
一般的なテスト管理ツール
- 過去の実行結果に基づいて、実行工数の見積もりができる。
- バーンダウン・バーンアップチャートなどが自動生成され、開始時点ですでに無理がないかを確認できる。
担当者アサイン
従来のスプレッドシート運用
特になし
一般的なテスト管理ツール
- 実行担当者のアサイン、作業の平準化がしやすい。
テスト分析・設計
従来のスプレッドシート運用
- 図・表形式で設計したテストケースを、そのままテストケースとして使うことができる。ただし設計ごとに表現方法が異なるため、集計は困難になる。
一般的なテスト管理ツール
- テスト分析・設計をサポートしているテスト管理ツールは、一般的ではない*2。
テストケース管理
一覧性
従来のスプレッドシート運用
- テストケースが、詳細も含めて一覧化されるので、全体感がわかりやすい。
一般的なテスト管理ツール
編集容易性
従来のスプレッドシート運用
- 一括置換・コピペ・ 行移動・フィルタ・ソートなどが容易で、編集がしやすい。
一般的なテスト管理ツール
- 複数のテストケースをまとめて修正する必要がある場合に手間がかかる。
- 複数ユーザによる同時編集をしても、問題がない*5。
属性の付与
従来のスプレッドシート運用
- 必要な属性を自由に追加し、集計に使うことができる。Excel職人大活躍である*6。
一般的なテスト管理ツール
- テストケースに属性を追加したい場合、ツールがカスタムフィールドをサポートしている必要がある。
データの可搬性
従来のスプレッドシート運用
- セル結合をしていると、テスト管理ツールへのインポートはいきなりハードルが上がる。
一般的なテスト管理ツール
- スプレッドシートベースのテストケースや、他のツールのテストケースを、インポート/エクスポートすることができる*7。
仕様とのトレーサビリティ
従来のスプレッドシート運用
- 情報として持たせることはできる。
一般的なテスト管理ツール
- チケット管理システムとの連動で、仕様とのトレーサビリティ管理ができる。
テスト設計とのトレーサビリティ
従来のスプレッドシート運用
- 情報として持たせることはできる。
一般的なテスト管理ツール
- 一般的には、サポートされていない*8。
バージョン管理
従来のスプレッドシート運用
- テストケース自体のバージョン管理がしづらい。
一般的なテスト管理ツール
- テストケースはバージョン管理されることが多い*9。されない場合でも、テストケース実行時点のスナップショットは残っており、テスト実行時の内容が、その後のテストケースの修正の影響を受けることはないことが多い。
フルテストセット管理
管理容易性
従来のスプレッドシート運用
- プロダクトのあるバージョンに対するテストのために、過去のテストケースをコピペして寄せ集めにしがちで、重複が多くなる。また、フルテストセット*10、「最新のテストケース一覧」という概念が成り立たない。
一般的なテスト管理ツール
- 最新のテストケースが一元管理できる。
テストセット管理
管理容易性
従来のスプレッドシート運用
- フルテストセット*11と同じ理由で、同じテストケースが別のものとしていろいろな場所に重複してしまう。
一般的なテスト管理ツール
- フルテストセットから、特定の目的をもったテストケースの集まりを定義できる。これによって、「毎回行うリグレッションテスト」といったテストセットを、テストケースのコピペなしに構成することができる。
- 構成したテストセットを、テスト実行サイクルに割り当てることができる。これによって、ひとつひとつテストケースを割り当てる手間が省ける。
テスト実行管理
テスト実行管理
従来のスプレッドシート運用
- 「テストケースに対して実行は1回」という暗黙の前提があるため、複数回実行した場合の結果を適切に管理しづらい。結果、同じセルに「×→〇(2022/10/1)」といった記載を始めてしまい、集計を破壊する。
一般的なテスト管理ツール
- 1つのテストケースに対し、テスト実行が複数回あることが前提のデータモデル。いつ、どのテストケースが、どういう結果だったかが実行ごとに記録できる。これまでパスしていたテストがいつから失敗しているか、といった遡りも容易。
進捗管理
従来のスプレッドシート運用
- 進捗やグラフは自分で作りこむ必要がある。Excel職人がいれば、必要なグラフを柔軟に作り込むことができるが、メンテナンスが難しい。
- 担当ごと、機能ごとといった切り口での進捗状況が把握しづらい。
一般的なテスト管理ツール
- ビルトインで用意されたグラフや表はリアルタイムに集計され、すぐに使うことができる。
- ビルトインで用意されていないグラフは使えない*12。
タスク管理
従来のスプレッドシート運用
- 担当者間で実行項目のタスク調整をしても、リーダーから作業量が見えにくい。
一般的なテスト管理ツール
- リーダーが負荷と状況を見て、担当調整がしやすい。
- 担当者間でタスクのやり取りをした結果も、リーダから把握しやすい。
インシデントとのとのトレーサビリティ
従来のスプレッドシート運用
- 情報として持たせることはできる。ただし、「1つの実行に対して複数のバグ」といった状況に弱い。
一般的なテスト管理ツール
- チケット管理システムとの連動で、バグとのトレーサビリティ管理ができる。
- あるインシデントが、どのくらいのテストケース実行のブロックになっているか、といった情報が把握しやすい。
おわりに
まだまだ不完全な表でしょうし、本当の「イマドキの」ツールはもっと進化しているのかもしれません。
Googleスプレッドシートはコメントを受け付けているので、よかったらコメントください。
*1:表をマークダウンでブログに書くのも何だか・・・となってためらっていたのですが、最近「スプレッドシート形式ならGoogleスプレッドシートで作ってリンク貼ればいいんだよ!」とわかったので、今回もその方法で
*2:というのは言い過ぎで、単にわたしが知らない。
*3:帳票形式でテストケースを管理するツールもある。
*4:チケット型テストケース管理でも、全体構成をツリー表示できることがある。ただしこの場合には、テストケースの名称から内容がある程度把握できることが必要。
*5:複数人でExcelを編集した結果、ファイルが破損・・・という悲劇、かつてはよく見られましたが、今ではそこまで悲惨ではないと思います。自動バックアップもありますし。
*6:いずれにしても、属性の追加をし過ぎると、他の管理方法との互換性は低くなる。
*7:テスト管理ツールへのインポートは、インポート元のフィールドと先のフィールドを、ユーザが対応づけることによって行うことが多いようだ。
*8:テスト設計のためのモデリングツールはある。
*9:バージョン管理をテストケースではなく、テストセットの単位で行うツールもある。
*10:ここでいうフルテストセットとは、「定義されたすべてのテストケースの集合」の意味。
*11:ここでいうテストセットとは、「特定の目的のために、テストケース全体(フルテストセット)の中から一部のテストケースを選択したもの」の意味。
*12:保持しているデータを組み合わせてグラフをカスタマイズできるツールもあるが、正直難しかった・・・。