Tracを使ったバグ管理システム(1) : バグ管理システムとは

| | Comments (0) | TrackBacks (0)
ソフトウェア開発を行う上で「バグ管理システム(以降、BTSと表記)」は、必須のツールとなってきています。

まず初めに、BTSとは何か、何故使われはじめ、どのように使われてきたかを考えてみたいと思います。

BTSが利用されはじめる以前は、プレーンテキストやエクセルによってバグ管理されている場合も多く、以下のような問題がありました。

ファイル破損の恐れ
複数の関係者が頻繁に更新するようなデータの記録には向かない。一つのファイルに対して
複数人が編集すると、競合/破損の可能性がある。

履歴管理が困難
発見されたバグは、まずその現象や再現状況が報告された後、開発者による修正、テス
ターによる修正確認が反復的に行われるが、この間の履歴はプレーンテキストやエクセルなど
のスナップショット的な保存方法では困難。

以上のような経緯から、プロジェクトのバグ報告を記録し、その修正履歴の追跡や対応状況の把握などを効率的に行うシステムとして、BTSは登場しました。

現在、ほとんどのBTSソフトウェア には、バグ管理の効率化、対応の漏れ防止、最新情報の共有を実現するために、下記の機能が必須の機能として装備されています。

1、データベースによるバグの一元管理
 バグ登録からクローズまでの対応履歴の一元管理
 最新情報の共有、効率化、対応の漏れ減らす

2、履歴更新の自動通知
 バグの対応履歴が更新されるたびに関係者へメール通知
 最新情報の共有

3、バグの検索
 既存バグの検索が容易
 対応の効率化

4、管理インターフェース
 Web ブラウザ経由で管理が可能

さらに、最近のBTSは、バグ管理だけでなく、開発プロジェクトで生じたさまざまなタスクに一般化したものも多くみられます。このため、これらのシステムは、BTSではなく、Issue Tracking System(ITS)と呼ばれることもあります。
また、近年は、ITS に加え、Wiki、SCM(Software Configuration Management) との統合、ロードマップ管理が標準で利用できるような、統合プロジェクト管理システムといえるようなものが主流になりつつあります。

以下では、今よく使われているBTSソフトウェアをいくつか取り上げて、その特徴を簡単に説明します。

Mantis(http://www.mantisbt.org/)
Kenzaburo Ito 氏が開発し、mantis チームにより開発、メンテナンスされているBTS。
PHPで実装されており、ライセンスはGPL。
主な機能・特徴
・国際化対応
・ロードマップ管理
・ChangeLog 対応
・ユーザ専用のマイページ
・メールによる通知
・操作の履歴管理
・プロジェクト毎に異なる権限でアクセス可能
・CSV、Word、Excel 形式での出力
・SCM との統合
・Wiki
・携帯端末対応
・投票システム

影舞(http://www.daifukuya.com/kagemai/)
Ruby で書かれた日本製のBTS。
DB がインストールされてなくても動作し、管理画面もシンプルなので手軽に導入できる。
・メール、RSSによる通知
・メールによる投稿機能
・PostgreSQL/MySQL/SQL Server を用いたデータ保存が可能

JIRA(http://www.atlassian.jp/software/jira/)
Java で開発されたエンタープライズ向けの商用BTS。30 日の評価版あり。

その他のBTS
他、Bugzilla、jitterbugs、GNATS、TUTOS、phpBugTracker、CVSTrac、Scarab、Papilio な
ど多数存在します。

どのBTS を採用するかは、開発規模や利用目的に応じて違ってきますが、BTSをプロジェクトに合わせカスタマイズしたいとき、どの言語で作成されたものがやりやすいかも決定のポイントになります。
次回以降で説明するTrac は、比較的簡単に導入でき、ドキュメントも多く、プラグインで機能拡張もできるので、これらの点も採用時のポイントになるかもしれません。

0 TrackBacks

Listed below are links to blogs that reference this entry: Tracを使ったバグ管理システム(1) : バグ管理システムとは.

TrackBack URL for this entry: http://lab.hde.co.jp/blog/mt-tb.cgi/16

Leave a comment

About this Entry

This page contains a single entry by Taizo ITO published on February 18, 2008 5:06 PM.

Python標準ライブライリを使い倒す(logging編) was the previous entry in this blog.

jQuery(3) : プラグインを作ろう is the next entry in this blog.

Find recent content on the main index or look in the archives to find all content.