きちんと学びたいテストエンジニアのためのTestLink入門

第1回テスト管理システムとは何か?

はじめに

TestLinkとは、オープンソースのテスト管理システムです。TestLinkは、Francisco Mancardi氏、Andreas Morsing氏、Martin Havlat氏を中心としたコミュニティで開発されています。元々は海外で作られていたソフトウェアでしたが、最近は日本でも徐々に浸透してきているようです。

本連載では、TestLinkの日本語化に携わっているTestLink日本語化部会の私たちが、このTestLinkの基本機能について順次ご紹介していきます。

今回はTestLinkのご紹介する前準備として、⁠テスト管理システムとは何か」⁠では、そもそもテスト管理とは?」といったことについて考えてみましょう。

テスト管理システムとは何か

「テスト管理システム」と言う言葉を聞いたことはありますか?

もしかしたら、⁠バージョン管理システムやバグ管理システムなら聞いたことがあるけれど……」という方もおられるかも知れません。テスト管理システムとは、その名の通り、テストを管理するためのツールです。たとえば、テストケースの構成を管理したり、テストの実施結果をリアルタイムに監視したりできます。有償のものと無償のものがあり、有償ツールの中には、テスト自動実行システムと連携できる便利なものも存在します。

国外ではよく使われているそうですが、日本ではまだあまりなじみがないようです。ただ、勉強会でアンケートを取らせていただいたりすると、⁠まだ使ってはいないが、今後導入していきたい」という声を良く聞きます。

図1 テスト管理ツールを使ったソフト開発例
図1 テスト管理ツールを使ったソフト開発例

それでは、なぜ、テスト管理システムが必要とされるのでしょうか?

それは、ソフト開発規模の増大にともない、何万~何十万というテストケースを数人~数十人で評価するといったことが増えてきているからです。テストケースの数や実施する人数が増えれば、⁠実施するテストの割り当て⁠⁠、⁠結果の集計⁠⁠、⁠テストケースの最新化⁠⁠、⁠テストケースのバージョン管理(テストケースのどのバージョンとどの実施結果が対応しているか⁠⁠」などの管理だけで大変になります。

このような管理業務を支援して負担を減らしてくれるのがテスト管理システムです。

「テスト管理」とは何か

「テスト管理」の負担を減らしてくれるのがテスト管理システムであるということは、前節でご説明しました。そもそも「テスト管理」とは何をするのでしょうか?

JSTQBシラバスには「テストマネージメント」という章があります。その章では、テストのマネージメント、つまりテスト管理について述べられています。そこで定義されている事項を次の図2にまとめました。

図2 テストマネージメント
図2 テストマネージメント

このように、テスト管理と一言でいっても多岐に渡ります。ソフトの規模が小さければ管理も少なくて済みますが、規模が増えてくると管理だけで大変になります。そこで、テスト管理システムが必要になってくるわけです。

テスト管理システムを使わないテスト管理

では、テスト管理システムを使わないテスト管理では、どのような問題が起こってくるのでしょうか。以下のような経験はありませんか……?

よくある事例1:ワープロソフト・スプレッドシートの弊害!

【状況】
  • テストケースをワープロソフトで記述
  • テストケースをスプレッドシートで記述
【この場合の問題点】
  • ファイルが分かれているためテストの進捗具合を一目で把握しづらい
  • 複数人で編集できない(⁠⁠他の人が開いているので編集できません」とのワーニングを受ける)

よくある事例2:バージョン管理が大変!

【状況】
  • 共有サーバなどにファイルを保管
  • CVSやSubversionなどでファイルのバージョン管理
【この場合の問題点】
  • ファイルが散乱して正しいファイルがどれか分からない
  • だんだんバージョンの追跡が困難になる
  • 異なるファイル内にテストケースが重複する

よくある事例3:管理がバラバラ!

【状況】
  • バグなどはツールで管理
  • テスト結果はスプレッドシートなどでドキュメントとして管理
  • テスト結果にバグIDなどを記載
【この場合の問題点】
  • 内容が変わったときに更新が追い付かなくなる
  • ドキュメント間の整合性が取れなくなる
図3 よくある事例
図3 よくある事例

上記の3つ以外にも、たとえば……

  • リーダーがテストの結果の集計と担当者への割り当て指示を行うだけで1日終わっている
  • 最新の総テストケース数を聞いてもすぐ答えられない(テストケースを全部数えないといけないから)
  • インシデントを指摘すると「それテストケースのミスで最新版のテストケースでは問題ないから」と言われる
  • 仕様が変わったのだが、どのテストケースを変えればいいのかわからない(インシデント報告に対し「仕様が変わったから」と回答がくる)

といったことがあるでしょう。

テスト管理システムを使ったテスト管理

前節のような問題が目立つようになってきたらテスト管理システムを導入すると良いでしょう。テスト管理システムを導入することの利点をまとめると以下のようになります。

テストプロセスのマネージメント
  • テスト実施状況・実行結果の把握
  • テスト担当者の割り当て・管理
  • 既存のテストのノウハウを資産として蓄積
テストケースの管理
  • テストケースのバージョン管理
テストケースの標準化・再利用
  • 開発用ツールとテスト管理の連携強化
  • バグ管理システムとの連携

テストマネージャの方々は、ツールにできることはツールに任せることができれば、本来のマネージメント業務に専念できるようになるでしょう。テストケースの管理や実施結果の掌握だけで時間が過ぎてしまうということが防げるでしょう。また、テストエンジニアの方々にも、ツールのフォーマットに従うことで、テストケースの書き方を統一できるなどのメリットがあるでしょう。

さらに、テスト管理システムの導入が、テストプロセスの「標準化」を大きく手助けしてくれるでしょう。つまり、プロジェクトや担当者が変わっても手順が共通化されることになります。また、テストの再利用などにも貢献してくれると思います。

図4 テスト管理ツールを使う利点
図4 テスト管理ツールを使う利点

テスト管理システムの導入

ここまでお読みになって、テスト管理システムの導入を検討してみようかなと思っていただけたでしょうか。ご興味を持っていただいたならば、実際にテスト管理システムの情報を集めてみましょう。たとえば、以下に挙げるソフトウェアのように有償でも無償でも、さまざまなテスト管理システムがあります。

有償(商用)
無償(オープンソース)

それ以外のソフトウェアの情報も以下のサイトにまとめられているので、ご参考にしてみてください。

まとめ

第1回では、テスト管理システムを導入することの利点についてご説明しました。次回は、いよいよTestLink自体の機能について説明していきます。

おすすめ記事

記事・ニュース一覧