開発者のバグ潰しに役立つMantis
Mantisは、MySQLやPostgreSQLからMicrosoftのSQL Serverまで、よく使われている様々なデータベースで使うことができる。Mantisはクライアント/サーバ型のアプリケーションであり、Mantisのサーバソフトウェアをサーバマシン上にインストールする必要があるが、クライアントとしては任意のウェブブラウザを使用することができる。MantisはPHPで書かれているので、Linux、Windows、Mac OS Xに加えて、Mantisの基本的な要求条件を満たしていればその他のどのオペレーティングシステムにもインストールすることができる。
現在の安定版はMantis 1.0.8だが、バージョン1.1もリリース候補になっているので、おそらく近いうちに利用することができるようになるだろう。なおMantisはGPLv2の下でリリースされている。
インストールと要求条件
Mantisをインストールするためには、PHP 4.0.6かそれ以降のバージョンと、(データベースにMySQLを使用する場合)MySQL 3.23.2かそれ以降のバージョンと、ウェブサーバを用意する必要がある。またMySQLの管理者権限も必要になるだろう。さらにMantisは新規ユーザに確認の電子メールを送信するため、sendmailなどのMTAが有効になっている必要がある。
それではMantisのダウンロードページへ行って、最新版(約1.5MB)を入手しよう。次にウェブサーバ上でコンソールを開いてファイルをダウンロードしたディレクトリに移動したら、以下に示すようなコマンドを使ってtarファイルを展開する。
tar zxf mantis-1.0.8.tar.gz mv mantis-1.0.8 /srv/www/htdocs/mantis
なお/srv/www/htdocs/
というディレクトリはopenSUSEユーザ用だ。それ以外のディストリビューションでは/var/www/html/
になるだろう。それではブラウザを起動して「http://自分のウェブサイト/mantis/admin/install.php」にアクセスして、実際のインストール手順を開始しよう。
インストールの最初の画面では、データベースサーバのホスト名とユーザ名とパスワードを入力する。次に、使用するデータベース名(デフォルト値の使用をお勧めする)を入力して、「Install/Upgrade Database(データベースのインストール/アップグレード)」をクリックする。何らかの形で不適切な設定がある場合には、Mantisがそのことを通知してくれる。その場合にはその問題を解決した上で、もう一度上記の作業を行なう必要がある。すべて問題がない場合には、「GOOD」という緑色のメッセージが画面上にたくさん表示されるだろう。次にログイン(ユーザ名「administrator」、パスワード「root」を使用)して、ユーザを作成(自分用のアカウントを作成)したら、最初のプロジェクトを作成する。さらに念のために言っておくと、インストール用のコードを削除するためにrootとしてログインして「rm -rf /srv/www/htdocs/mantis/admin
」としておかなければ、Mantisがそうするように警告を出し続けてくるだろう。
Mantisを使ってみる
バグ報告を受け取ることができるようにするためには、まずはプロジェクトを作成する必要がある。administratorとしてManage Projects(プロジェクトの管理)画面を開いて、プロジェクトの名前、状態(開発版/リリース版/安定版/旧版)、閲覧の状態(パブリック/プライベート)、アップロード用のパス(バグ報告の添付ファイルやプロジェクト関連の文書を保存するディレクトリ)、説明を入力しよう。
ユーザがバグ報告をしたい場合には、まずログインしてReport Issue(問題点の報告)画面を表示する。ユーザとして登録していない場合には、ユーザ登録をして電子メールアドレスを入力し、返信メッセージを受け取ったら、バグ報告を行なうことができるようにするためのリンクをクリックする。次にプロジェクト名、問題の再現性(毎回/時々/不規則など)、重要度(軽微~フリーズの原因となる。なお新機能や拡張についてもここで提案することができる)、短い概略、詳細な説明などを入力する。
開発者はすべてのバグの状況についての一覧を見ることができる。Mantisは各バグの状態を色分けしてくれるので、新規の問題点など特定の条件の問題点を素早く探すことができる。問題点の状態には以下のようなものがある。
- new:新規のバグや問題点
- feedback:最初の報告者からの情報がもっと必要
- acknowledged:問題点を受け付けたが、確認や担当者の割り当てはまだ行なわれていない
- confirmed:問題点が確認され、再現することができた
- assigned:担当する開発者が割り当てられた
- resolved:修正が完了したので確認が必要
- closed:問題点はなくなった
Mantisには、開発者が特定の問題点を見つけやすくするためにソート機能やフィルタ機能がたくさん用意されている。またIssue Detail(問題点の詳細)ページでは、問題点の履歴などのさらなる情報を見ることができる。同様にこのページから、メモの追加や催促の送信や状況の変更などを行なうことができる。
一方マネージャは、追跡情報を完全に把握して、問題点に開発者を割り当てたり(あるいは担当を変更したり)、特定の問題点を監視したり、進捗の遅れを確認したり、優先度を変更したりすることができる。バグ報告が既存のバグ報告と重複している(あるいは関連している)場合には、既存の報告に新しい報告をリンクしていくことができる。特にSummary(サマリ)ページは興味深く、例えば、ユーザ/報告者/重要度/状況ごとの統計/総計などを見ることができる。
まとめ
Mantisは高機能で完成度の高いバグ追跡システムだ。ここでそのすべての機能を紹介することはできないが、Mantisプロジェクトのページに詳細な情報がある。シンプルなインターフェースなので、ユーザも開発者もまったく問題なく使うことができるはずだ。
Federico Kerekiはウルグアイのシステムエンジニア。20年に渡るシステム開発、コンサルティング、大学講師の経験がある。