Всем привет!

В этой статье я бы хотел рассказать о проекте, над которым сейчас работаю.

QaraTMS - это open source система для управления тестированием, менеджмента тест кейсов и тестовой документации.

Немного предыстории:

Изначально тест кейсы хранились в TestRail, но проект не очень большой, поэтому через время большая часть функционала была покрыта авто тестами.

В тестовой документации остались в основном чек листы, немного тест кейсов, плюс документация по функционалу админки, тестовым скриптам, и прочим модулям и инструментам. TestRail стал использоваться просто как хранилище документации. Платить за это было как-то нецелесообразно, поэтому от TestRail решили отказаться. 

Возникла необходимость где-то хранить тестовую документацию.

Платные сервисы сразу отпадают, хранить тест кейсы в google sheets или excel всегда казалось неудобным, особенно если кейсов много.

Бесплатные системы устарели и выглядят так, что лучше уж google sheets.

Поэтому появилась идея написать свою open source TMS, собрать все лучшее из платных систем и избавиться от их минусов.

По моему мнению основные минусы систем управления тестированием это:

  • Цены

  • Перегруженность интерфейса и функционала -  например в одной из таких систем в форме создания тест кейса целых 20 полей. Или всплывающая форма в тест ране, в которой нужно указать результат прохождения теста, каждый раз, даже если тест прошел. А если тестов сотни? Сколько времени будет уходить на то, чтобы каждый раз закрывать эту форму?

  • Нет модуля для хранения документации. Для тестов тоже бывает нужна документация, например описание тестовых скриптов, настроек в админке. А редактор который есть в форме тест кейсов не подходит для создания и редактирования полноценных документов.

  • И просто мое желание иметь возможность хранить информацию локально и не зависеть от сторонних сервисов. Вдруг он закроется через год, изменит условия использования или решит, что больше не собирается работать в какой-то стране.

QaraTMS

Репозиторий на GitHub. Проект написан на Laravel, предназначен для небольших команд и сейчас это бета версия.

Основные идеи это:

  • Интуитивно понятный интерфейс.

  • Удобное хранилище тест кейсов, тест сьютов, чеклистов, удобный редактор.

  • Обязательно отдельный модуль документации. Одно место для хранения тестовой документации и документации по проекту.

  • Автоматизация - сейчас можно выбрать только тип тест кейса - ручной или автоматизированный. В репозитории указывается сколько кейсов были автоматизированы. Планируются удобные графики для понимания какой % функционала покрыт авто тестами и API для запуска авто тестов.

  • Минимализм и ничего лишнего. 

Как работать с QaraTMS

Сначала создается проект. На странице дашборда немного статистики по проекту.

project dashboard
project dashboard

Затем создается репозиторий / хранилище для тестовой документации – тест сьютов и тест кейсов.

Их может быть несколько, например для разных модулей проекта – основного web приложения, админ панели, API, мобильного приложения и т.д.

Test repositories
Test repositories

В тестовом репозитории создаются тест сьюты и тест кейсы. Нормального редактора пока нет, но есть поддержка markdown разметки.

Test case editor
Test case editor

Когда есть тест кейсы можно создать тест план. Например Full Regression, тест план для самого важного функционала, и т.п.

В теста плане выбирается репозиторий и тест кейсы которые будут проверяться.

test plan page
test plan page

После создания тест плана можно запустить тест ран для выбранного плана и проверить выбранные тест кейсы. После выбора статуса для кейса, сразу загружается следующий, не протестированный тест кейс.

Test Run
Test Run

Также есть модуль документации.

 Текущие проблемы:

  • Точно есть баги.

  • Нет опыта во фронтенд разработке и понимания как сделать правильно и с современным подходом. Нужен фронтенд разработчик чтобы переделать страницу репозитория, добавить удобное дерево тест сьютов, drag and drop сортировку.

  • Нет сортировки тест кейсов. 

  • Пока нельзя загружать файлы в редакторе тест кейсов.

  Планы

  • Получить фидбек, идеи, особенно от тех кто занимается ручным тестированием - насколько все удобно, чего не хватает.

  • Добавить регистрацию, роли, права пользователей.

  • Рефакторинг дерева тест сьютов, drag and drop сортировка

  • Доработка редактора тест кейсов.

  • API для автотестов. Возможность запускать тест ран через API и указывать статус для автотестов (passed / failed)

  • Интеграция с Jira

Репозиторий на GitHub

Комментарии (8)


  1. jreznot
    05.06.2022 16:45
    +1

    Их всех постигнет суровая кара, да?


    1. predewill Автор
      06.06.2022 08:46

      только тех кто пишет код с багами)


  1. worldmind
    06.06.2022 11:53

    А чем существующие не угодили? Их вроде полно, я не сильно в теме но слышал про достаточно крупные проекты юзающие опенсорсные инструменты для таких целей.


    1. predewill Автор
      06.06.2022 13:16

      Например какие? TestLink устарел, еще есть kiwiTCMS, но там какой-то странный, непонятный интерфейс, как мне показалось.


      1. worldmind
        07.06.2022 21:11

        А как он устарел?


    1. vit1252
      07.06.2022 13:42

      Большая часть устарела или ориентирована на сотни тестов, а современные системы имеют покрытие под миллион кейсов, так что многие системы просто проседают по производительности, а так же имеют явно плачевный статус поддержки. Одним словом на рынке TMS систем проблема имеет место, но данный продукт пока непонятное место занимает. Нужно больше информации и выступлений, но я с трудом понимаю какие сегодня есть места для публикаций (выступлений) и опять же вопрос аудитории. С уходом всяких EPAM-ов и прочих компаний сомнительным остаеться поддержка их Report Portal-ов.


  1. Gumbatik333
    07.06.2022 13:41

    Эту систему можно установить на Линукс? У меня возникли сложности и не понимания по установке.


    1. predewill Автор
      07.06.2022 13:42

      конечно можно.

      только в системе должен быть установлен php, mysql, composer