、バグトラッキングシステム、BTSとはプロジェクトのバグを登録し、修正状況を追跡するシステム。バグ管理システムの多くは、ウェブサーバ上で動作し、ウェブブラウザ経由でアクセスできるようになっている。
背景 近年、ソフトウェアの開発においてはバグの修正が重要な作業と考えられている。バグを漏らさず修正し、再発を防ぐには、バグの発見日時や発見者、再現方法、修正担当者、修正履歴、修正方法、重要度、テスト状況などの多くの情報を残し管理する必要がある。開発によっては数千という数のバグが発生し、また多数のテスト担当者や修正担当者が関わっていることを考慮すると、従来のファイルレベルの管理では追いつかなくなっている。このような背景から、バグを管理するソフトウェアであるバグ管理システムが生まれた。
基本的な機能 バグの集中管理 バグの投稿〜完了までのバグ情報が集中管理される。ワークフローやバグの属性など詳細はバグ管理システムにより異なる。 バグの検索 既存のバグが検索できる。キーワード検索やクエリ検索などがある。 バグの履歴管理 バグの対応状況を詳しく把握できる。 電子メール通知機能 バグが更新される際に修正内容がメールで通知される。
バグ管理システムのワークフロー 以下に、1つのバグが報告されて対応が完了するまでのバグの状態遷移を手順化したものを示す。 バグの報告:テスト担当者はバグを発見するとバグ管理システムにアクセスしてバグの報告を行う。報告の完了時にはバグの状態は「公開」となり、すべての開発者にメールで通知される。 担当者を決定:管理担当者はバグ情報を確認し、適切な修正担当者を割り当てる。修正担当者が割り当てられるとバグの状態は「割り当て済み」となり、修正担当者にメールで通知される。 バグの修正:修正担当者は、バグを修正したら解決方法等を追記し、バグの状態を「解析済み」とする。修正の報告はテスト担当者にメールで通知される。 修正の確認:テスト担当者は再テストを行い、修正が完了していることを確認した上で、バグの状態を「修正済み」とする。 修正の完了:管理担当者は「修正済み」となっているバグに対して内容を確認し、状態を「完了」に変更する。
主なバグ管理システム
オープンソース系 Bugzilla – 元々ネットスケープ社が社内で使用していたが、後に公開された。テスト管理システムのTestLinkと連携可能。 Mantis Bug Tracker – PHP、ウェブサーバ(Apache、IIS)、MySQLがあれば、Windows、OS/2、Mac OS、Unix系OSで動く。テスト管理システムのTestLinkと連携可能。 Redmine - Ruby on Rails で書かれたバグトラッキングシステム。標準でウィキとガントチャートが付き、複数のプロジェクトを管理できる。テスト管理システムのTestLinkと連携可能。 Trac – バグ管理システムの他にコミュニケーション支援としてのウィキやリポジトリブラウザの機能を備えている。簡単に環境が構築できるTrac Lightningが提供されている。テスト管理システムのTestLinkと連携可能。 OpenTask – PHP環境で動作するデータベース不要の簡素なシステム。 Scarab - 高いカスタマイズ能力を持ち、表示属性や表示順などの設定をGUIにて行える。 影舞 – 日本で開発されたバグ管理システムで、日本語に完全対応している。 Papilio – サーバ構築不要。接続している各端末がお互いに同期してデータを共有。Eclipseのプラグインとして開発されている。 BugTracker.NET - ベースで簡素な実装と画面。ASP.NET 2.0 + IIS + Microsoft SQL Server (Express版でも可) で動作。
プロプライエタリ系 Jira - アトラシアンのバグ・課題管理システム。プラグインとして、アジャイルソフトウェア開発用ツールのがある。オープンソースコミュニティ向けのライセンスは無料。 Team Foundation Server (TFS) - マイクロソフトの製品。ソースコードリポジトリであるMicrosoft Visual SourceSafeやドキュメント管理サーバであるMicrosoft SharePoint Serverと統合されており、Microsoft Visual Studioから利用することができるため、.NET Framework系の大規模プロジェクトで活用されることが多い。 - IBMが開発した不具合管理システム。 - ヒューレットパッカードのテスト・不具合管理システム。 CodeBeamer - Jakarta EE構造の整合性開発チームの協同作業プラットフォーム。CVS、Subversion、Eclipse、NetBeansと統合可能。 FogBugz - Fog Creek Softwareのバグ管理システム。 SAID - 株式会社コネクテッドが開発・販売しているバグ管理システム。画面のショット等が簡単に登録できるのが特徴。 - ジェットブレーンズ社製。10人以下の利用は無償。
、ASP系 Backlog - 日本で開発されたSaaS型のプロジェクト管理ツール。バグ・タスク管理、ウィキ、Subversionホスティング、WebDAVファイル管理などを統合的に管理可能。 CAT - 日本で開発されたSaaS型のバグ管理・バージョン管理システム。 Ciklone - 日本で開発されたSaaS型のバグ管理・バージョン管理システム。ソフトウェアエンジニアのためのWebベースのバグ管理システムであり、少数~中規模のチーム開発に最適なサービス。複数言語に対応。 PROMA-C - 日本で開発された構成管理SaaS。バージョン管理、バグ管理に加えて、登録されたソースコードを自動解析し、品質状況の推移を見える化することができる。 ubicast projects - 開発会社が自社とパートナー企業との間でのバグやタスク等進捗管理用に開発したツール。無料でASP提供されている。1アカウントで複数の案件を同時に管理可能。 Simple Bug Tracker - Google App Engineで動作するバグ管理システム。無料で使用可能。 Qangaroo - Web上でExcelライクなインターフェースを有するシンプルで直感的な作業を可能とするクラウド型テスト管理ツール
脚注
関連項目 バグ ソフトウェア保守 バージョン管理システム テスト管理システム