- Redmine
- 5.0 이상, 6.x, 7.x
- 보고서
- 12종, CSV 및 Excel 지원
- 권한
- 18개, 프로젝트 역할별
- CI/CD
- REST API, API 키 인증
- 언어
- 로캘 파일 50개
- 일감 유형
- 기존 유형 그대로
재사용 가능한 테스트 케이스
단계, 사전 조건, 기대 결과를 한 번만 작성하고 초안 → 검토 → 승인 → 폐기 워크플로로 관리합니다. 중복 작성이 필요 없습니다.
스위트 및 번들
케이스를 스위트와 재사용 가능한 번들로 묶어 원하는 만큼의 일감에 연결할 수 있으며, 각 일감마다 별도의 실행 기록이 생성됩니다.
변경 불가능한 실행 기록
모든 실행은 추가만 가능한 별도의 기록으로 남습니다. 통과, 실패, 차단됨, 건너뜀 결과와 함께 빌드, 커밋, 환경, 스크린샷이 저장됩니다.
자동화 매핑
각 케이스를 프레임워크, 클래스, 메서드, 자동화 식별자에 매핑하여 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. 실행
통과, 실패, 차단됨, 건너뜀 결과와 함께 빌드, 커밋, 환경, 단계별 결과, 스크린샷을 기록합니다. 이후에는 수정되지 않습니다.
5. 결함
실패 기록에서 연결된 일반 Redmine 일감으로, 직접 생성하거나 테스트 실패 시 자동으로 생성됩니다.
연결을 유지하는 규칙
직접 정하는 접두사를 사용하는 TC-, TB-, TP-, TR-, DS- 참조 번호, 실행 당시의 케이스 버전에 고정되는 실행 기록, 그리고 테스트를 통과하기 전에는 일감을 완료할 수 없게 하는 선택적 규칙.
실행 중인 Redmine 6.1에서 캡처한 전체 워크플로
기본 Redmine 테마에서 실행 중인 플러그인의 실제 화면입니다. 프로젝트, 사람, 결과는 Harbor Storefront라는 가상의 웹 쇼핑몰을 위한 데모 데이터입니다.
작성: 재사용 가능한 테스트 케이스 라이브러리
모듈, 상태, 자동화, 태그로 검색하고 필터링합니다. 각 케이스에는 구조화된 단계, 검토 이력, 자체 버전 이력이 있습니다.

계획: 번들, 릴리스 계획, 테스트 데이터
번들은 재사용할 케이스를 모읍니다. 계획은 번들, 일감, 테스터, Redmine 버전을 하나로 묶습니다. 데이터 세트는 하나의 케이스에 여러 행의 데이터를 제공합니다.


실행: 테스트는 일감에서, 그리고 런에서 진행됩니다
개발자와 테스터는 지금 일하는 곳에서 그대로 작업합니다. 각 결과는 새로운 실행 기록이 되므로 이력이 곧 감사 추적입니다.




결정: “출시해도 되는가?”에 답하는 보고서
12가지 보고서 모두 CSV, Excel, 인쇄를 지원합니다. 그중 두 가지는 릴리스 논의를 위해 만들어졌습니다.



원하는 방식으로 운영: 가져오기, 알림, 설정



30일간의 테스트가 보고서에서 보이는 모습
아래 수치는 스크린샷의 데모 프로젝트에서 플러그인 자체 보고서를 통해 그대로 가져온 것입니다. 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 버전을 기준으로 릴리스나 스프린트의 범위를 정합니다. 런은 하나의 빌드에서 진행한 한 번의 세션을 기록합니다.
모든 일감의 테스트 패널
선택한 유형의 일감에 할당된 케이스, 최신 결과, 통과율, 연결된 결함, 원클릭 기록을 제공합니다.
감사 가능한 실행 기록
각 실행은 결과, 방식, 환경, 빌드, 커밋, 소요 시간, 단계별 결과, 로그, 스크린샷이 담긴 기록을 추가합니다. 덮어쓰는 것은 없습니다.
데이터 기반 테스트
이름 있는 열로 구성된 재사용 가능한 데이터 세트. 케이스나 번들 전체에 연결하고 각 실행이 어떤 행을 사용했는지 기록합니다.
자동화 매핑과 CI/CD
케이스를 프레임워크와 러너가 이해하는 식별자에 매핑한 다음, 파이프라인이 실행할 항목을 가져오고 결과를 업로드하게 하세요.
대시보드와 12가지 보고서
각 사용자가 8가지 위젯으로 구성하는 대시보드와 준비 상태, 커버리지, 추세, 환경, 결함, 모니터링 보고서.
페이지에서 모두 확인할 수 있는 4가지 작은 수명 주기
| 레코드 | 기본 흐름 | 기타 상태 |
|---|---|---|
| 테스트 케이스 | 초안 → 검토 중 → 승인됨 | 변경 요청됨, 폐기됨 |
| 테스트 계획 | 초안 → 활성 → 완료 | 보관됨 |
| 테스트 런 | 계획됨 → 진행 중 → 완료 | 중단됨 |
| 실행 결과 | 통과, 실패, 차단됨 또는 건너뜀 | 미실행. 각 결과는 수동 또는 자동으로 기록됩니다. |
파이프라인이 실행할 항목을 묻고 결과를 보고합니다
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, 빌드 번호, 커밋 SHA, 환경, 결과 목록을 /executions/upload로 POST합니다. 결과는 자동화 식별자, 케이스 ID 또는 참조 번호로 케이스와 매칭되며, 각각 새로운 실행 기록이 됩니다. 결과 이름은 정규화되므로 러너의 passed, failure, ignored가 모두 올바르게 처리되며, create_defect와 함께 보낸 실패 결과는 연결된 버그를 등록합니다.
하나의 프로젝트 모듈에 18가지 권한
Testing은 표준 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 | 1개, 선택 사항 | roo, .xlsx 및 .xls 파일 가져오기에만 필요 |
3단계로 설치
셸 접근 권한과 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 플러그인 개발, 플러그인 커스터마이징, 워크플로 자동화, 타사 시스템 통합 등 비즈니스에 맞춘 솔루션을 제공합니다.
필요한 내용을 알려 주세요. 요구 사항을 검토한 후 예상 비용과 일정을 포함한 적합한 솔루션을 제안해 드립니다.
