Test Case Management Tool: как правильно сделать выбор и не пожалеть об этом - Бизнес-мудрость

Test Case Management Tool: как правильно сделать выбор и не пожалеть об этом

В процессе работы над любой сложной программной системой создается большое количество проектной документации. Её структурный состав в большинстве случаев практически одинаков – это требования к системе различного уровня, описание ее архитектуры, программный код, документация QA-команды, проектные планы, отчеты и т.д.

Сегодня я расскажу об артефактах QA-команды Redmadrobot, с которыми мы работаем в ходе проектов. Это тест-стратегии, тест-планы, test runs и тест-case management test, traceability matrix, bug reports, метрики продуктивности и качества, различные отчеты по результатам тестирования и т.д. Все они имеют определенную иерархию, создаются в определенной последовательности и требуют периодической актуализации.

Решить задачу создания единой системы для работы со всеми QA-артефактами можно несколькими способами. К примеру, выбрать Excel и Google Docs, вести все в баг-трекере (используя Test Case как Issue Type) или использовать один из test case management tools, интегрированный с баг-трекером компании. Мы в Redmadrobot выбрали третий вариант, исходя из специфики проектов, объемов задач, типов QA-документации и используемых нами видов тестирования, количества разрабатываемых и выполняемых manual тест-кейсов и различных проектов в работе одновременно.

Следующим этапом для нас стал выбор подходящего test case management tool. Очень важно подойти к этому выбору максимально ответственно, так как цена ошибки при выборе подобного инструмента для компании достаточно высока. QA-команда в Redmadrobot шла к финальному решению в несколько этапов и начинала с разработки критериев, которым необходимый нам инструмент должен соответствовать.

Критерии мы ввели следующие:

  • интеграция с баг-трекером компании (JIRA)
  • хранение и возможность редактирования тест-кейсов, в том числе импорт тест-кейсов, созданных нами ранее
  • простота отслеживания покрытия требований тест-кейсами
  • удобное формирование Test Runs/Test Suites и удобный пользовательский интерфейс
  • хранение всей информации по Test Development и Test Execution в одном месте и создание единого пространства для работы QA-команды
  • возможность создания Traceability Matrix
  • возможность распределения задач и назначения их на конкретных инженеров
  • простота получения отчетов, метрик, статистики
  • удобство установки, внедрения, поддержки

Из чего выбирать:

После выработки критериев мы рассмотрели несколько наиболее популярных на рынке тулов, которые соответствовали нашим ожиданием. Часть тулов была отброшена при более детальном рассмотрении, для оставшихся мы оформили evaluation-лицензии и продолжили исследование. В результате список сократился до трех тулов, на которых были проведены пилотные проекты:

1. Zephyr
2. TestRail
3. Meliora

По завершении пилотов сложилось четкое понимание возможностей и удобства работы в каждом из них, стали понятны фичи каждого тула, их применимость и удобство использования для нас. Вот высокоуровневые характеристики каждого тула:

Zephyr (1 user — $30) — отличительная черта этого тула в том, что это продукт Atlassian, а значит, он должен быть отлично совместим c JIRA, но проблема в том, что это валидно для JIRA Server, а мы пока используем OnDemand, с которым на этапе пилота было много проблем. Помимо этого недостатка Zephyr неудобен в использовании: добавлять тест-кейсы долго и не настолько просто, много лишних действий при создании планов и runs.

Meliora (1 user — $25) — также необходим переход на JIRA Server + сам по себе Meliora довольно громоздкий инструмент, искусственно усложняющий большую часть простых задач, включающий в себя еще и собственный bug-трекер.

TestRail (1 user — $20) — простой и удобный тул. Основной плюс — кастомизация возможна практически во всем, и любые действия интуитивно понятны. Есть возможность импорта/экспорта тест-кейсов.

Проанализировав результаты пилотов и фидбек по каждому тулу, решили сконцентрироваться на TestRail, который включает в себя и позволяет:

  • Создание/хранение/редактирование тестовых сценариев, управление тестовыми планами, запуск тестовых циклов, занесение результатов тестирования.
  • Четкое описание тестовых сценариев, их ревью, соотношение с требованиями, разделение на области — всё это позволяет оценить как полноту покрытия тестами функционала, так и является необходимым материалом для всей проектной команды.
  • Создание отчетов по совершенно разным критериям: Defect Summary, Comparison for Cases, тестовые результаты по проектам/компонентам/майлстоунам и т.д.
  • Возможности для полной кастомизации «рабочего dashboard», а также удобное получение статуса работы QA-команды за разные периоды времени (помогает при создании weekly/monthly QA report).
  • Легкая интеграция с JIRA.
  • Разумная цена.
  • Отличный support.
  • Легкий и удобный способ импорта тестов из Excel.

Возможность легко импортировать уже созданные ранее тест кейсы для нас была очень важным критерием. Когда мы только начинали развивать QA-практику в Redmadrobot, речи о Test Case Management Tool еще не шло, а для работы с тестами использовали Excel. Но мы сразу подошли к вопросу использования Excel с заделом на будущее и выработали четкий формат тестов, понимая, что через некоторое время будем «скармливать» их в какой-либо тул. Когда мы запустили TestRail в промышленную эксплуатацию, смогли экспортировать «as is» несколько тысяч тест-кейсов, что сильно сократило усилия на внедрение тула.

Ниже я подробно рассмотрю возможности TestRail для различных QA-активностей:

Test Development:

  • создание test plans/suits/test cases;
  • удобное хранение, обновление и организация;
  • импорт/экспорт возможность редактирования;
  • легко настраиваемый набор любых атрибутов теста;
  • Requirements Traceability.

Test Execution:

  • milestones (согласно критерию качества в компании);
  • составление test runs;
  • заведение дефектов из test runs;
  • распределение задач;
  • удобная интеграция с JIRA.

Test Management:

  • управление активностями;
  • распределение ролей;
  • назначение задач и контроль выполнения.

Reporting:

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

Что же в итоге:

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