QaraTMS — open source система для управления тестированием
Всем привет!
В этой статье я бы хотел рассказать о проекте, над которым сейчас работаю.
QaraTMS — это open source система для управления тестированием, менеджмента тест кейсов и тестовой документации.
Немного предыстории:
Изначально тест кейсы хранились в TestRail, но проект не очень большой, поэтому через время большая часть функционала была покрыта авто тестами.
В тестовой документации остались в основном чек листы, немного тест кейсов, плюс документация по функционалу админки, тестовым скриптам, и прочим модулям и инструментам. TestRail стал использоваться просто как хранилище документации. Платить за это было как-то нецелесообразно, поэтому от TestRail решили отказаться.
Возникла необходимость где-то хранить тестовую документацию.
Платные сервисы сразу отпадают, хранить тест кейсы в google sheets или excel всегда казалось неудобным, особенно если кейсов много.
Бесплатные системы устарели и выглядят так, что лучше уж google sheets.
Поэтому появилась идея написать свою open source TMS, собрать все лучшее из платных систем и избавиться от их минусов.
По моему мнению основные минусы систем управления тестированием это:
Цены
Перегруженность интерфейса и функционала — например в одной из таких систем в форме создания тест кейса целых 20 полей. Или всплывающая форма в тест ране, в которой нужно указать результат прохождения теста, каждый раз, даже если тест прошел. А если тестов сотни? Сколько времени будет уходить на то, чтобы каждый раз закрывать эту форму?
Нет модуля для хранения документации. Для тестов тоже бывает нужна документация, например описание тестовых скриптов, настроек в админке. А редактор который есть в форме тест кейсов не подходит для создания и редактирования полноценных документов.
И просто мое желание иметь возможность хранить информацию локально и не зависеть от сторонних сервисов. Вдруг он закроется через год, изменит условия использования или решит, что больше не собирается работать в какой-то стране.
QaraTMS
Репозиторий на GitHub. Проект написан на Laravel, предназначен для небольших команд и сейчас это бета версия.
Основные идеи это:
Интуитивно понятный интерфейс.
Удобное хранилище тест кейсов, тест сьютов, чеклистов, удобный редактор.
Обязательно отдельный модуль документации. Одно место для хранения тестовой документации и документации по проекту.
Автоматизация — сейчас можно выбрать только тип тест кейса — ручной или автоматизированный. В репозитории указывается сколько кейсов были автоматизированы. Планируются удобные графики для понимания какой % функционала покрыт авто тестами и API для запуска авто тестов.
Минимализм и ничего лишнего.
Как работать с QaraTMS
Сначала создается проект. На странице дашборда немного статистики по проекту.
project dashboard
Затем создается репозиторий / хранилище для тестовой документации — тест сьютов и тест кейсов.
Их может быть несколько, например для разных модулей проекта — основного web приложения, админ панели, API, мобильного приложения и т.д.
Test repositories
В тестовом репозитории создаются тест сьюты и тест кейсы. Нормального редактора пока нет, но есть поддержка markdown разметки.
Test case editor
Когда есть тест кейсы можно создать тест план. Например Full Regression, тест план для самого важного функционала, и т.п.
В теста плане выбирается репозиторий и тест кейсы которые будут проверяться.
test plan page
После создания тест плана можно запустить тест ран для выбранного плана и проверить выбранные тест кейсы. После выбора статуса для кейса, сразу загружается следующий, не протестированный тест кейс.
Test Run
Также есть модуль документации.
Текущие проблемы:
Точно есть баги.
Нет опыта во фронтенд разработке и понимания как сделать правильно и с современным подходом. Нужен фронтенд разработчик чтобы переделать страницу репозитория, добавить удобное дерево тест сьютов, drag and drop сортировку.
Нет сортировки тест кейсов.
Пока нельзя загружать файлы в редакторе тест кейсов.
Планы
Получить фидбек, идеи, особенно от тех кто занимается ручным тестированием — насколько все удобно, чего не хватает.
Добавить регистрацию, роли, права пользователей.
Рефакторинг дерева тест сьютов, drag and drop сортировка
Доработка редактора тест кейсов.
API для автотестов. Возможность запускать тест ран через API и указывать статус для автотестов (passed / failed)
Интеграция с Jira
Репозиторий на GitHub