TestLink 調査レポート
1. 基本情報
- ツール名: TestLink
- ツールの読み方: テストリンク
- 開発元: TestLink Development Team
- 公式サイト: https://testlink.org/
- 関連リンク:
- カテゴリ: テスト管理
- 概要: TestLinkは、長年にわたり利用されているオープンソースのWebベーステスト管理システムです。テスト仕様書の作成、テスト計画の策定、テスト実行、レポート作成まで、QAプロセス全体をカバーする機能を備えています。
2. 目的と主な利用シーン
- 解決する課題:
- Excel管理によるテストケースの肥大化とバージョンの混乱
- テスト実行結果の集計・報告作業の工数削減
- 予算制約がある中でのテスト管理システムの導入
- 想定利用者:
- 予算を抑えたいQAチーム
- オンプレミス環境での運用が必須の組織
- PHP/MySQL環境の運用に慣れている開発者
- 利用シーン:
- 大規模なリグレッションテスト: 数千件規模のテストケースを階層管理し、複数のテスターで分担して実行。
- 要件トレーサビリティ: 要件定義とテストケースを紐付け、カバレッジを確認。
- バグ管理連携: テスト失敗時にJiraやMantisへ自動的にバグ報告へのリンクを作成。
3. 主要機能
- テストケース管理: テストスイート、テストケース、ステップによる構造化管理。バージョン管理にも対応。
- テスト計画と実行: ビルドごとのテスト計画作成、テスターへの割り当て、実行結果(Pass/Fail/Block)の記録。
- レポートとメトリクス: テスト進捗、合格率、失敗率などをグラフや表で表示。
- 要件管理: 要件定義書を取り込み、テストケースとマッピングしてカバレッジを管理。
- 外部連携: Jira, Mantis, Bugzilla, Redmineなどの主要なバグトラッキングシステム(BTS)との連携。
- API: XML-RPC APIを提供し、自動テストスクリプトからの結果登録が可能。
4. 動作原理・システム構成
- アーキテクチャ: オンプレミス型のクライアント・サーバー構成(Webアプリケーション)。LAMP/LEMPスタック(Linux, Apache/Nginx, MySQL/MariaDB, PHP)をベースに構築される。
- 主要コンポーネントとデータフロー:
- クライアント(ブラウザ)からWebサーバー(Apache等)へHTTPリクエストを送信。
- Webサーバー上のPHPアプリケーションがリクエストを処理し、データベース(MySQL等)と連携してテストケースや実行結果のCRUD操作を行う。
- API経由で外部のテスト自動化ツール(Jenkins等)から結果を直接DBに書き込むことも可能。
graph TD A[ユーザー/ブラウザ] -->|HTTP/HTTPS| B(Webサーバー: Apache/Nginx) C[自動化ツール: Jenkins/TestNG等] -->|XML-RPC API| B B -->|PHP処理| D[(データベース: MySQL/PostgreSQL)] B -->|連携| E[外部BTS: Jira/Redmine等]
5. 開始手順・セットアップ
- 前提条件:
- Webサーバー(Apache推奨)
- PHP 7.2以上(推奨)
- データベース(MySQL/MariaDB/PostgreSQL)
- インストール/導入:
- GitHubまたはSourceForgeからソースコードをダウンロード。
- Webサーバーのドキュメントルートに配置。
- ブラウザでアクセスし、インストーラーに従ってデータベース接続情報などを設定。 または、Dockerイメージを使用することも可能。
# Dockerでの起動例(非公式イメージ等の利用が一般的) docker run -d -p 80:80 -e TESTLINK_DATABASE_PASSWORD=testlink bitnami/testlink:latest - 初期設定:
config.inc.phpでのログ設定やアップロード制限の設定。- 管理画面からのプロジェクト作成、ユーザー追加、ロール設定。
6. 特徴・強み (Pros)
- 完全無料(GPL): ライセンス費用がかからないため、ユーザー数が増えてもコストが増加しない。
- データ主権: 自社サーバーに構築するため、セキュリティポリシーが厳しい組織でも導入しやすい。
- 豊富な機能: 長年の開発により、テスト管理に必要な基本的な機能はほぼ網羅されている。
- カスタマイズ性: オープンソースであるため、コードを修正して自社独自の機能を追加することが可能。
7. 弱み・注意点 (Cons)
- UIが古い: デザインが古く(2000年代前半のスタイル)、操作ステップ数が多いため、直感的な操作が難しい。
- 環境構築の手間: サーバー、PHP、DBのセットアップとメンテナンスが必要。
- モバイル非対応: レスポンシブデザインではなく、モバイル端末からの操作は困難。
- 次期バージョンの遅れ: UIを刷新したバージョン2.xの開発が長期間続いているが、まだ正式リリースに至っていない(2026年2月時点)。
8. 料金プラン
| プラン名 | 料金 | 主な特徴 |
|---|---|---|
| Open Source | 無料 | 全機能を利用可能。サポートはコミュニティベース。 |
- 課金体系: なし(サーバーインフラ費用のみ)
- 無料トライアル: なし(自身で構築が必要)
9. 導入実績・事例
- 導入企業: 世界中の多くの中小企業や、コスト意識の高いプロジェクトで広く利用されている。
- 導入事例:
- ソフトウェア受託開発企業での標準テスト管理ツールとしての利用。
- 組み込みシステム開発における長期的なリグレッションテスト管理。
- 対象業界: ソフトウェア開発、SIer、通信、製造など。
10. サポート体制
- ドキュメント: GitHub Wikiやフォーラムに情報があるが、体系的な公式マニュアルはやや古い場合がある。
- コミュニティ: かつて存在した公式フォーラムは現在アクセスできない状態であり、活発なコミュニティ支援は期待しづらい。
- 公式サポート: 開発チームによる有償サポートやカスタマイズ対応も一部存在するが、基本はセルフサービス。
11. エコシステムと連携
11.1 API・外部サービス連携
- API: XML-RPC APIを提供。様々な言語(Python, Java, etc.)用のクライアントライブラリがコミュニティによって開発されている。
- 外部サービス連携:
- BTS連携: Jira, Mantis, Redmine, Bugzilla, Trac, FogBugz
- 認証: LDAP, Active Directory, Google/GitHub OAuth
11.2 技術スタックとの相性
| 技術スタック | 相性 | メリット・推奨理由 | 懸念点・注意点 |
|---|---|---|---|
| Java (JUnit/TestNG) | ◯ | APIクライアントが存在 | 設定がやや複雑 |
| Python (Pytest) | ◯ | TestLink-API-Python-client が利用可能 |
ライブラリのメンテ状況に注意 |
| Jenkins | ◯ | TestLink Pluginがあり、実行結果を反映可能 | プラグインの設定が複雑 |
12. セキュリティとコンプライアンス
- 認証: 内部認証に加え、LDAP/AD連携、OAuth(GitHub/Google)に対応。
- データ管理: 自社サーバーでの管理となるため、データの保存場所やバックアップポリシーは自社でコントロール可能。
- 準拠規格: ツール自体が特定の認証を取得しているわけではないが、適切に運用することでISOなどのプロセス要件を満たすことは可能。最新版(1.9.20)でセキュリティ修正(XSS, SQLi)が含まれている。
13. 操作性 (UI/UX) と学習コスト
- UI/UX: フレームを使用したクラシックなWeb UI。画面遷移が多く、現代のSPAツールに慣れているとストレスを感じる可能性がある。
- 学習コスト: 機能が多く用語も独自のものが多いため、習得には時間がかかる。マニュアルの熟読が必要。
14. ベストプラクティス
- 効果的な活用法:
- キーワード駆動: キーワード機能を使ってテストケースをタグ付けし、柔軟に検索・抽出する。
- プラットフォーム管理: OSやブラウザごとのテスト結果を管理するためにプラットフォーム機能を活用する。
- 陥りやすい罠:
- デフォルト設定のまま運用:
max_input_varsなどのPHP設定を調整しないと、大規模なテスト計画でエラーが発生する可能性がある(READMEのCRITICAL NOTES参照)。 - 画像の多用: 画像アップロードの管理が煩雑になりがちなので、外部ストレージへのリンクを活用する等の工夫が必要。
- デフォルト設定のまま運用:
15. ユーザーの声(レビュー分析)
- 調査対象: G2, Capterra, ITreviewなどの主要レビューサイト
- 総合評価: G2、Capterra、ITreviewにレビューの登録なし。(以下は一般的なオープンソースコミュニティの評判からの収集)
- ポジティブな評価:
- 「無料ですべての機能が使えるのは素晴らしい」
- 「要件とテストのトレーサビリティ機能が強力」
- 「要件管理からテストケース、テスト実行まで一元管理できる」
- ネガティブな評価 / 改善要望:
- 「UIが古すぎて使うのが苦痛」
- 「セットアップが面倒。Dockerを使っても設定調整が必要」
- 「APIの仕様がXML-RPCで古い」
- 特徴的なユースケース:
- 予算がないプロジェクトや、セキュリティの観点でオンプレミス必須の環境での標準テスト管理ツールとして利用される。
16. 直近半年のアップデート情報
- 2025-05-04: PostgreSQL向けインストールスクリプトの修正(コードトラッカーテーブルの作成処理追加)など、細かな改善を実施。
- 2024-10-20: PHP 8.1以降の環境におけるLDAP接続の不具合を修正。また、型の自動変換に起因する脆弱性を修正するアップデート(tlUser.class.php)を実施。
(出典: TestLink GitHub コミット履歴)
17. 類似ツールとの比較
17.1 機能比較表 (星取表)
| 機能カテゴリ | 機能項目 | TestLink | TestRail | Qase | Kiwi TCMS |
|---|---|---|---|---|---|
| 基本機能 | テスト管理 | ◯ 標準的 |
◎ バランス良 |
◎ モダンUI・AI |
◎ 標準的 |
| コスト | 無料利用 | ◎ 完全無料 |
× 商用のみ |
◯ 制限あり |
◎ OSS版あり |
| UX | 操作性 | × レガシーUI |
◯ 使いやすい |
◎ 高速・洗練 |
◯ モダンUI |
| 環境 | オンプレミス | ◎ 推奨 |
◯ エンタープライズ |
× SaaS主体 |
◎ 対応 |
17.2 詳細比較
| ツール名 | 特徴 | 強み | 弱み | 選択肢となるケース |
|---|---|---|---|---|
| TestLink | 伝統的なOSSツール | 無料、機能網羅、オンプレミス | UIが古い、構築が必要 | 予算ゼロ、オンプレ必須、PHP環境がある場合 |
| TestRail | 世界標準の商用ツール | 使いやすさ、サポート、Jira連携強化 | コストがかかる、日本語UIなし | 予算があり、標準的な品質管理プロセスを導入したい場合 |
| Qase | モダンなSaaS | 優れたUI/UX、Qase AIによる強力なテスト生成 | 日本語未対応 | スタートアップ、アジャイル開発、AI活用を進めたい場合 |
| Kiwi TCMS | モダンなOSSツール | Python製、モダンUI、全機能無料 | 日本語対応なし、運用管理が必要 | OSSでモダンなUIを求め、Python環境がある場合 |
18. 総評
- 総合的な評価: TestLinkは「質実剛健」なツールです。見た目の古さは否めませんが、テスト管理に必要な機能は揃っており、長年の実績による安定感があります。予算をかけずに本格的なテスト管理プロセスを構築したい場合、依然として強力な選択肢です。ただし、チームメンバーがモダンなツールに慣れている場合、UIへの抵抗感が導入の障壁になる可能性があります。
- 推奨されるチームやプロジェクト:
- ライセンス費用をかけられないプロジェクト。
- 厳しいセキュリティ要件により、完全にクローズドなネットワーク内での運用が必要なチーム。
- 選択時のポイント:
- サーバー構築・運用のリソース(特にPHP/DBの知識)があるか。
- UIの古さを許容できるか。