バグトラッキングシステム
ソフトウェアで発見されたバグの内容や、バグが発生したバージョン、担当者、対応の状況などを記録し、修正の計画と修正の履歴を管理するシステム。
イマシルちゃんの解説
チームでソフトウェアを作っていると、毎日いろんなバグが見つかるんだ。
口頭やメールで伝えていたら、「あのバグ、誰が直してるんだっけ?」「もう直った?」って、わからなくなっちゃうよね。
バグトラッキングシステムは、バグを1件ずつカードにして、みんなで共有する掲示板みたいなものなんだ。
「どんなバグか」「誰が担当か」「今どうなってるか」が一目でわかるから、直し忘れも防げるんだよ!
より深い解説
定義
バグトラッキングシステム(BTS:Bug Tracking System)は、ソフトウェアの開発や保守で見つかった不具合(バグ)を、1件ごとの記録(チケット)として登録し、発見から修正の完了までの状況を追跡(トラッキング)・管理するためのシステムである。バグに限らず、機能の追加の要望や作業も管理するものは、課題管理システム(ITS:Issue Tracking System)とも呼ばれる。
チケットに記録する主な情報
| 項目 | 内容 |
|---|---|
| 題名と内容 | どんな不具合か |
| 再現の手順 | どうすればバグが起きるか |
| 発生したバージョンと環境 | どのバージョンの、どのOSやブラウザで起きたか |
| 重大度と優先度 | どれくらい深刻か、どれくらい急いで直すか |
| 担当者 | 誰が修正するか |
| 状態(ステータス) | 新規、対応中、修正済み、確認済み、完了など |
| 修正の予定 | どのバージョンで修正するか |
| 履歴 | 誰がいつ何をしたか、コメントのやり取り |
バグの状態の流れ(例)
新規 → 担当者の割り当て → 対応中 → 修正済み → テストで確認 → 完了
└→(直っていなければ)再オープン
導入の効果
| 効果 | 内容 |
|---|---|
| 漏れの防止 | 報告されたバグが、対応されないまま忘れられることを防ぐ |
| 情報の共有 | 開発者、テスト担当者、利用者の窓口が、同じ情報を見られる |
| 履歴の活用 | 過去のバグと修正の内容を検索して、同じ問題の再発の調査に使える |
| 品質の分析 | バグの件数や、発見と修正の推移を集計し、品質の状況を把握する |
バージョン管理システムと連携させると、ソースコードの変更(コミット)と、そのきっかけになったバグのチケットを対応付けることができる。
開発を支援するツールの区別
| ツール | 機能 |
|---|---|
| バグトラッキングシステム | バグの内容、発生したバージョン、修正の計画や履歴を管理する |
| デバッガ | プログラムを実行・中断し、変数の値を表示するなどして、バグの原因の発見を支援する |
| テスト支援ツール | テストケースやテスト用のプログラム(ドライバ、スタブ)の作成と実行を支援する |
| メトリクス計測ツール | ソースコードの規模や複雑さ、バグの数などから、品質の指標を算出する |
| バージョン管理システム | ソースコードの変更の履歴を管理する(Gitなど) |
バグトラッキングシステムは、バグを「見つける」ためのツールではなく、見つかったバグを「管理する」ためのツールである点が、デバッガやテストツールとの違いである。