- Redmine
- 5.0 以上、6.x、7.x
- 報表
- 12 種,支援 CSV 與 Excel
- 權限
- 18 項,依專案角色設定
- CI/CD
- REST API,API 金鑰驗證
- 語言
- 50 個語系檔
- 議題追蹤標籤
- 沿用您現有的,不做更動
可重複使用的測試案例
步驟、前置條件與預期結果只需撰寫一次,並採用草稿 → 審查 → 已核准 → 已棄用的工作流程。絕不重複。
測試套件與測試組合
將案例分組為測試套件及可重複使用的測試組合,可附加到任意數量的議題,且各自產生獨立的執行紀錄。
不可變更的執行紀錄
每次執行都是一筆獨立、僅可附加的紀錄(通過、失敗、受阻或略過),並附上建置、commit、環境與螢幕截圖。
自動化對應
將每個案例對應到框架、類別、方法與自動化識別碼,讓 CI 執行器能直接執行。
CI/CD REST API
管線可取得議題對應的測試並上傳結果,支援 Jenkins、GitHub Actions、GitLab CI、Azure DevOps 或 Bitbucket。
儀表板與報表
通過率、自動化與需求覆蓋率,以及發行就緒度報表,皆可匯出為 CSV。
從需求到其產生的缺陷,一條完整的鏈
這條鏈中沒有任何副本。議題指向證明它的測試案例,每次執行新增一筆執行紀錄,失敗的執行紀錄則指向它所引發的錯誤。無論從哪個方向沿著連結追溯,抵達的都是真實的 Redmine 紀錄。
1. 議題
您現有任何追蹤標籤中的功能、使用者故事或需求。本外掛不會新增自己的追蹤標籤。
2. 測試案例
可逐一指派,或透過測試組合指派。同一個案例(例如 TC-41)可服務任意數量的議題。
3. 計畫與執行
測試計畫(TP-2)界定一個發行版本的範圍;測試執行(TR-5)是針對單一建置的一次測試作業。
4. 執行紀錄
通過、失敗、受阻或略過,並附上建置、commit、環境、各步驟結果與螢幕截圖。事後永不修改。
5. 缺陷
由失敗結果連結的一般 Redmine 議題,可手動建立,也可在測試失敗時自動建立。
維繫這條鏈的規則
TC-、TB-、TP-、TR- 與 DS- 參照編號,前綴由您自訂;執行紀錄固定對應實際執行的案例版本;另可選擇啟用「測試通過前議題不得結案」的規則。
完整工作流程,擷取自實際運作中的 Redmine 6.1
以下皆為本外掛在 Redmine 預設佈景主題下的真實畫面。專案、人員與結果是虛構網路商店「Harbor Storefront」的展示資料。
撰寫:可重複使用的測試案例庫
可依模組、狀態、自動化與標籤搜尋及篩選。每個案例都有結構化步驟、審查紀錄與獨立的版本歷程。

規劃:測試組合、發行計畫與測試資料
測試組合彙集案例以便重複使用。測試計畫將測試組合、議題、測試人員與 Redmine 版本串連在一起。資料集讓一個案例套用多列資料。


執行:測試直接在議題與測試執行中進行
開發人員與測試人員在原本的工作位置作業。每個結果都是一筆新的執行紀錄,因此歷程本身就是稽核軌跡。




決策:回答「可以上線了嗎?」的報表
十二種報表,皆可匯出 CSV、Excel 及列印。其中兩種專為發行討論而設計。



依您的方式運作:匯入、通知與設定



三十天的測試在報表中呈現的樣貌
以下數據直接取自螢幕截圖中的展示專案,讀取自本外掛自身的報表:2026 年 9 月 9 日至 10 月 8 日期間的 70 個測試案例與 1,242 筆執行紀錄。這些數據說明本外掛能衡量什麼,並非效能基準或客戶成果。
| 指標 | 數值 | 明細 |
|---|---|---|
| 測試案例 | 70 | 61 個已核准,5 個審查中 |
| 執行紀錄 | 1,242 | 856 筆自動化,386 筆手動 |
| 通過率 | 87.8% | 目標 90% |
| 自動化覆蓋率 | 60% | 70 個案例中的 42 個 |
| 由失敗產生的缺陷 | 5 | 連結至失敗的執行紀錄 |
| 環境 | 執行紀錄 | 通過 | 失敗 | 受阻 | 略過 | 通過率 |
|---|---|---|---|---|---|---|
| QA | 700 | 610 | 47 | 29 | 14 | 87.1% |
| Staging | 344 | 307 | 20 | 10 | 7 | 89.2% |
| DEV | 162 | 142 | 12 | 5 | 3 | 87.7% |
| UAT | 36 | 31 | 3 | 1 | 1 | 86.1% |
| 模組 | 案例 | 執行紀錄 | 通過 | 通過率 |
|---|---|---|---|---|
| API | 5 | 129 | 123 | 95.3% |
| 商品目錄 | 8 | 118 | 112 | 94.9% |
| 通知 | 5 | 99 | 93 | 93.9% |
| 管理後台 | 6 | 62 | 56 | 90.3% |
| 搜尋 | 6 | 143 | 128 | 89.5% |
| 身分驗證 | 10 | 193 | 172 | 89.1% |
| 結帳 | 8 | 131 | 114 | 87.0% |
| 訂單 | 6 | 89 | 73 | 82.0% |
| 購物車 | 8 | 143 | 116 | 81.1% |
| 付款 | 8 | 135 | 103 | 76.3% |
在 Redmine 內,同樣的數字會出現在儀表板上(通過率環形圖、結果分布、14 天趨勢、模組與元件覆蓋率),也會出現在表格式報表中,且每份報表都可匯出 CSV 與 Excel。
圍繞一條規則打造:測試案例絕不重複
可重複使用的測試案例
標題、前置條件、附預期結果的結構化步驟、模組、元件、優先權、嚴重度、類型與標籤。支援複製、批次編輯、匯入與匯出。
保護歷程的版本機制
編輯已執行過的案例時會建立新版本。舊的執行紀錄仍指向當時實際執行的步驟。
審查與核准
草稿、審查中、已核准、已棄用。每項決定都會連同審查者、日期與意見一併記錄,並通知作者。
測試組合、計畫與執行
測試組合將案例分組以便重複使用。測試計畫依 Redmine 版本界定一次發行或衝刺的範圍。測試執行記錄針對單一建置的一次測試作業。
每個議題都有測試面板
在您選擇的追蹤標籤上顯示指派的案例、最新結果、通過率、連結的缺陷,並可一鍵記錄。
可稽核的執行紀錄
每次執行都會新增一筆紀錄,含結果、模式、環境、建置、commit、耗時、步驟結果、記錄檔與螢幕截圖。任何內容都不會被覆寫。
資料驅動測試
具有具名欄位的可重複使用資料集。可附加到案例或整個測試組合,並記錄每筆執行紀錄使用了哪一列。
自動化對應與 CI/CD
將案例對應到框架及您的執行器能識別的識別碼,再讓管線取得要執行的項目並上傳結果。
儀表板與十二種報表
每位使用者可用八種小工具自行配置的儀表板,另有就緒度、覆蓋率、趨勢、環境、缺陷與監控報表。
四個小型生命週期,全都清楚呈現在頁面上
| 紀錄 | 主要流程 | 其他狀態 |
|---|---|---|
| 測試案例 | 草稿 → 審查中 → 已核准 | 要求修改、已棄用 |
| 測試計畫 | 草稿 → 進行中 → 已完成 | 已封存 |
| 測試執行 | 已規劃 → 進行中 → 已完成 | 已中止 |
| 執行結果 | 通過、失敗、受阻或略過 | 未執行。每個結果都會標記為手動或自動化。 |
您的管線先詢問要執行什麼,再回報結果
REST API 位於 /testcases/api/v1 之下,使用一般的 Redmine API 金鑰驗證。任何能發送 HTTP 請求的工具都能使用。外掛內建的指南會帶您完成設定,並自動填入您自己的 URL。
| 方法 | 端點 | 用途 |
|---|---|---|
| GET | /issues/:id/testing | 議題要執行哪些測試 |
| POST | /executions/upload | 單一議題在單一建置的結果 |
| POST | /executions/bulk_upload | 多個議題或建置的結果 |
| POST | /test_runs | 為此建置建立測試執行 |
| POST | /test_runs/:id/results | 將結果推送至測試執行 |
| GET | /test_cases | 列出、建立與更新案例 |
| GET | /test_plans | 列出、建立與更新計畫 |
| GET | /issues/:id/coverage | 議題的測試覆蓋率 |
| GET | /reports/:name | 任一報表的 JSON 格式 |
| GET | /dashboard | 彙總指標 |
上傳建置結果
將議題 id、建置編號、commit SHA、環境與結果清單以 POST 送至 /executions/upload。結果會依自動化識別碼、案例 id 或參照編號對應到案例,且每個結果都會成為一筆新的執行紀錄。結果名稱會經過正規化,因此執行器回傳的 passed、failure 與 ignored 都能正確歸類;附帶 create_defect 送出的失敗結果則會建立一個連結的錯誤議題。
單一專案模組上的十八項權限
測試是標準的 Redmine 專案模組。在需要測試的專案中啟用,並只授予每個角色所需的權限。選單分頁會依權限顯示。
| 角色 | 典型權限 | 職責 |
|---|---|---|
| QA 主管 | manage_test_cases, approve_test_cases, manage_test_bundles, manage_test_plans, assign_test_bundles | 負責管理案例庫、核准案例、建立測試組合與發行計畫 |
| 測試人員 | view_test_cases, execute_tests, manage_test_runs, manage_test_data | 執行測試、記錄結果、維護測試資料 |
| 自動化工程師 | manage_test_automation, view_test_executions | 將案例對應至框架與識別碼 |
| 開發人員 | view_test_cases, view_test_executions, view_test_runs | 查看議題上測試了什麼,以及失敗原因 |
| 專案經理 | view_test_reports, view_test_plans | 閱讀就緒度、覆蓋率與監控報表 |
| CI 服務帳號 | upload_test_results | 僅以其 API 金鑰上傳結果,不做其他事 |
| 管理員 | admin_testing_settings, manage_test_environments | 前綴、環境、目標與結案規則 |
在您現有的 Redmine 環境中執行
| 環境 | 狀態 | 備註 |
|---|---|---|
| Redmine 7.x | 支援 | |
| Redmine 6.1 | 支援 | 開發目標版本,搭配 Rails 7.2 與 Ruby 3.4。本頁螢幕截圖取自 6.1.2。 |
| Redmine 6.0 | 支援 | |
| Redmine 5.x | 支援 | 5.0 是本外掛宣告的最低版本 |
| MySQL 8 | 支援 | 用於開發及本頁的展示 |
| 議題追蹤標籤 | 沿用您現有的 | 適用於任何追蹤標籤設定。可將測試面板限定於選定的追蹤標籤,或全部啟用。 |
| 額外的 gem | 一個,選用 | roo,僅用於匯入 .xlsx 與 .xls 檔案 |
三個步驟完成安裝
需要 shell 存取權限,並能執行 rake 任務。安裝外掛前請務必先備份。
cd /opt/redmine # unpack so the folder is plugins/redmine_testcases bundle install
RAILS_ENV=production bin/rails redmine:plugins:migrate NAME=redmine_testcases
# Project → Settings → Modules → Test Case Management # Administration → Roles and permissions → grant the testing permissions # Testing → Settings → environments, pass-rate target, trackers
RAILS_ENV=production bin/rails redmine:plugins:migrate NAME=redmine_testcases VERSION=0
它會新增自己的需求、使用者故事或錯誤追蹤標籤嗎?
有人編輯測試案例時,舊的結果會怎樣?
測試失敗能阻止議題結案嗎?
它支援哪些 CI 系統?
失敗時能自動建立錯誤議題嗎?
我們能從試算表匯入測試案例嗎?
本頁的數據是真實的嗎?
價格
需要客製化的 Redmine 解決方案嗎?
想要的功能在我們現有的外掛中找不到嗎?
RedmineKit 提供 Redmine 外掛客製化開發、外掛修改、工作流程自動化、第三方系統整合,以及為您的業務量身打造的解決方案。
請告訴我們您的需求。我們會評估需求,並提出合適的解決方案,附上預估費用與時程。
