Pull to refresh

TestRail: как сначала подумать, а потом протестировать

Reading time 5 min
Views 138K
картинка для привлечения внимания Надеюсь, многие из вас знают, что в тестировании тоже есть документация. И вести ее можно по-олдскульному, в xls-файлах да в папочках или же, как настоящие джедаи, использовать специализированный инструмент.
Вот об одном из таких инструментов под названием TestRail, который мы недавно внедрили у себя в TestLab², я и хочу сегодня рассказать. Инструмент оказался настолько удачным, что молчать сил не было и я решил наконец-то сделать что-то полезное для общества.



Краткая официальная сводка о продукте:
  • Официальный сайт: http://www.gurock.com/testrail/
  • Предназначение: ведение тестовой документации
  • Лицензия: платный продукт, от €159*
  • Статус: release 1.0
  • Платформа: LAMP

Скриншот TestRail

Для всех проектов, которые мы тестируем, всегда обязательно пишется тестовая документация, от небольшого чеклиста до развесистого test suite с кросс-ссылками и сотнями кейсов. От идеи хранить документацию в локальных файлах отказались сразу и напрочь, это неудобно и просто непрофессионально. Пробовали «универсальное» решение, wiki (DokuWiki), но она не прижилась. Тут сложно сказать почему, пожалуй, дело привычки, и можно было бы «насадить добро палками», но тут подвернулся TestRail и понеслась.

Краткий disclaimer по терминологии:
  • Test case — атомарный элемент тест-плана, состоящий из следующих компонент:
    • Описание environment-а (окружения), в котором выполняется case (может быть вынесен уровнем выше, в тест-план)
    • Шаги выполнения
    • Ожидаемый результат выполнения
  • Test suite — список case-ов, объединенных каким-то общим фактором (весь продукт, конкретная фича и т.д.)
  • Test plan — список test suite-ов, выбранных для теста
  • Test run — проход («прогон») test plan-а


Установка и системные требования


Два варианта: типичный LAMP или «IIS+SQLServer+FastCGI/PHP». Также потребуется ionCube и cURL, но это не редкость. Работает достаточно быстро, а после включения gzip через mod_deflate стало вообще пулей летать.

Основные возможности


Многопользовательская многопроектная система для ведения тестовой документации и учета результатов выполнения тестов. В продукте предусмотрено место для всех: для тест-менеджеров, которых больше интересует «когда будет» и «сколько багов», для простых тестировщиков, которым удобно отчитываться о пройденных кейсах, для аналитиков, которые смогут вгрызаться в самые дебри и выяснять чего ж оно всё так хреновов чем соль.

Как выглядит рабочий процесс


Скриншот TestRail
  1. Создается проект, для него указываются «Defect View Url» и «Defect Add Url». Интеграция с баг-трекером проста и, в то же время, гениальна: ваш-баг-трекер.com/страница-просмотра/%id%, и этот %id% бага TestRail подставляет сам. Подходит для большинства онлайновых баг-трекеров.
  2. Создается Milestone: фактически, версия тестируемого продукта, состоит из названия и дедлайна.
  3. Создается Test Suite: набор test case-ов, например «Тестирование UI».
  4. Внутри Test Suite создаются кейсы и, по желанию, секции кейсов: например в «Тестирование UI» есть две секции «UI клиента» и «UI админки». Секции поддерживают неограниченную вложенность.
  5. Каждый конкретный test case состоит из Preconditions, Steps и Expected Result. Тут, по-моему, все очевидно. К ним можно аттачить картинки и делать между ними кросс-ссылки.
  6. После того, как вы описали тестируемую систему с помощью test cases, пора начинать сами тесты. Для этого вы создаете Test Run, в который включаете нужные Test Suite или конкретные test cases. Ему назначается исполнитель (из активных пользователей системы) и на этом этапе работа тест-дизайнера заканчивается.
  7. Тестировщик, получив уведомление о том, что на него поставлен test run, начинает его выполнение. Каждому тест-кейсу по результатам теста выставляется статус Passed, Failed или Retest. Там же указываются комментарии и ID найденных багов.
    После прохождения всех тестов test run закрывается, результаты уходят постановщику задачи, а в системе остаются все данные о том, как прошло тестирование.
  8. По желанию заказчика/пользователя все результаты можно экспортировать в удобоваримые форматы, подготовить к печати или даже сдампить в xml для какого-то особо извращенного использования. Система строит небольшое количество графиков, позволяющих бегло оценить динамику результатов прогонов тестов и понять куда все катится.


Сравнение с конкурентами


Из альтернатив я раньше сталкивался с двумя системами: Rational Quality Manager и TestLink. Да простят меня поборники open-source, TestLink больше никогда не хочу видеть. Он конечно бесплатный, да, это весомый аргумент, но на этом его достоинства заканчиваются. Интерфейс старый и неудобный, непродуманная система ссылок на конкретные кейсы или сьюты, сама структура сьютов… в общем, по моему (и общекомандному) мнению — «непригоден к службе в военное время».
Весь Rational Suite хорош, но он слишком массивен для небольших проектов и очень сильно насаждает свою методологию. Не говоря о том, что он стоит как оптовая партия ковров-самолётов.
Из тех, о которых только читал, упомяну модуль к Bugzilla под названием Testopia, но вживую я его к сожалению не видел и не слышал о том, чтобы его кто-то использовал в production. Если в вашем проекте используется BugZilla — я думаю, что стоит взглянуть именно на Testopia, обещан достаточно высокий уровень интеграции.
Также, есть еще некоторое количество подобных решений, встроенных в интегрированные системы разработки (тот же Mercury) или desktop standalone продукты (TestLog, QaTraq). Нам они не подходят из-за отсутствия нормального web-доступа. Если кто-то сможет подсказать в комментах еще приличных web-based систем подобного направления — буду рад.
UPD1 Дополнительно найдены (спасибо astenix и Khizhnyak):


Личные впечатления


Для нас система оказалась практически идеальной и в плане минимально необходимого набора фич, и в плане удобства ежедневного использования. Мы занимаемся аутсорс-тестированием и ведем достаточно много небольших проектов, что отлично ложится в лицензионную политику вендора: лимит ограничивает только количество активных пользователей системы, поэтому мы деактивируем клиентские эккаунты по окончании проектов.
Из недостатков стоит отметить два: в текущей версии TestRail не поддерживает Unicode что означает, что вести документацию на русском/украинском языке в текущей версии без хаков невозможно. Но соответсвующий feature request уже заявлен, должны скоро добавить. Для нашей команды это непринципиально потому, что пока все проекты, достойные попадания в TestRail, ведутся на английском языке.
Вторая проблема — это отсутсвтие какого-то wysiwyg-редактора во всех text edit-полях. Это радует инженеров, но регулярно смущает заказчиков.



Резюме


Если вы ведете тестовую документацию по большому проекту, или уже теряетесь в тоннах doc- и xls-файлов с кейсами — вам стоит обратить внимание на TestRail. Это продукт, который не нужен всем и каждому, но если вы занимаетесь тестированием профессионально, то запомните это название, возможно, TestRail пригодится вам в следующем проекте.

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

*Умеющие гуглить могут найти в интернетах купоны на скидки.
Tags:
Hubs:
+17
Comments 22
Comments Comments 22

Articles