Test Case Management
QAПовторно используемые тест-кейсы, наборы и пакеты тестов — связанные с каждой задачей и каждым конвейером CI, с полной трассируемостью от требования до дефекта.
Несколько серверов: $399

- Redmine
- 5.0 и новее, 6.x, 7.x
- Отчёты
- 12, с CSV и Excel
- Права доступа
- 18, по ролям в проекте
- CI/CD
- REST API, аутентификация по ключу API
- Языки
- 50 файлов локализации
- Трекеры задач
- Ваши, без изменений
Повторно используемые тест-кейсы
Шаги, предусловия и ожидаемые результаты описываются один раз и проходят процесс «Черновик → Рецензирование → Утверждён → Устарел». Без дублирования.
Наборы и пакеты тестов
Объединяйте тест-кейсы в наборы и повторно используемые пакеты, которые можно привязать к любому числу задач, — для каждой создаются свои выполнения.
Неизменяемые выполнения
Каждый запуск — отдельная запись, которую можно только дополнять: пройден, не пройден, заблокирован или пропущен — со сборкой, коммитом, окружением и скриншотами.
Связь с автотестами
Сопоставьте каждый тест-кейс с фреймворком, классом, методом и идентификатором автотеста, чтобы CI-раннер запускал его напрямую.
REST API для CI/CD
Конвейеры получают тесты для задачи и загружают результаты — 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. Наборы данных дают одному тест-кейсу множество строк.


Запускайте: тестирование идёт в задаче и в прогоне
Разработчики и тестировщики работают там, где уже находятся. Каждый результат — новое выполнение, поэтому история и есть журнал аудита.




Решайте: отчёты, которые отвечают на вопрос «можно ли выпускать?»
Двенадцать отчётов, каждый с экспортом в CSV, Excel и печатью. Два из них созданы специально для обсуждения релиза.



Под ваш процесс: импорт, уведомления и настройки



Как тридцать дней тестирования выглядят в отчётах
Приведённые ниже цифры взяты непосредственно из демонстрационного проекта со скриншотов и считаны из отчётов самого плагина: 70 тест-кейсов и 1242 выполнения с 9 сентября по 8 октября 2026 года. Они показывают, что измеряет плагин, и не являются ни бенчмарками, ни результатами клиентов.
| Показатель | Значение | Подробности |
|---|---|---|
| Тест-кейсы | 70 | 61 утверждён, 5 на рецензировании |
| Выполнения | 1,242 | 856 автоматизированных, 386 ручных |
| Доля успешных | 87.8% | Цель — 90 % |
| Покрытие автотестами | 60% | 42 из 70 тест-кейсов |
| Дефекты по итогам сбоев | 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
Сопоставьте тест-кейс с фреймворком и идентификатором, понятным вашему раннеру, и пусть конвейер сам получает список тестов для запуска и загружает результаты.
Дашборд и двенадцать отчётов
Дашборд, который каждый пользователь собирает из восьми виджетов, а также отчёты о готовности, покрытии, динамике, окружениях, дефектах и мониторинге.
Четыре небольших жизненных цикла, все видны на странице
| Запись | Основной путь | Другие состояния |
|---|---|---|
| Тест-кейс | Черновик → На рецензировании → Утверждён | Требуются изменения, Устарел |
| План тестирования | Черновик → Активен → Завершён | В архиве |
| Тестовый прогон | Запланирован → В процессе → Завершён | Прерван |
| Результат выполнения | Пройден, Не пройден, Заблокирован или Пропущен | Не выполнялся. Каждый результат фиксируется как ручной или автоматизированный. |
Конвейер спрашивает, что запустить, и отчитывается о результатах
REST API находится под /testcases/api/v1 и использует аутентификацию по обычному ключу API Redmine. Им может пользоваться всё, что умеет отправлять HTTP-запросы. Встроенное в плагин руководство проводит через настройку, подставляя ваши собственные URL.
| Метод | Endpoint | Назначение |
|---|---|---|
| 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 | Агрегированные показатели |
Загрузка результатов сборки
Отправьте POST-запросом на /executions/upload ID задачи, номер сборки, SHA коммита, окружение и список результатов. Результаты сопоставляются с тест-кейсами по идентификатору автотеста, 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 |
Установка в три шага
Нужен доступ к командной строке и возможность запускать 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 · неограниченное число пользователей · 12 месяцев обновлений.
Несколько серверов
Неограниченное число серверов Redmine · неограниченное число пользователей · 12 месяцев обновлений.
Нужно решение для Redmine под ваши задачи?
Ищете функцию, которой нет в наших плагинах?
RedmineKit занимается разработкой плагинов Redmine на заказ, доработкой плагинов, автоматизацией рабочих процессов, интеграцией со сторонними системами и созданием решений под ваш бизнес.
Расскажите, что вам нужно. Мы изучим требования и предложим подходящее решение с оценкой стоимости и сроков.