
Вот об одном из таких инструментов под названием TestRail, который мы недавно внедрили у себя в TestLab², я и хочу сегодня рассказать. Инструмент оказался настолько удачным, что молчать сил не было и я решил наконец-то сделать что-то полезное для общества.
Краткая официальная сводка о продукте:
- Официальный сайт: http://www.gurock.com/testrail/
- Предназначение: ведение тестовой документации
- Лицензия: платный продукт, от €159*
- Статус: release 1.0
- Платформа: LAMP

Для всех проектов, которые мы тестируем, всегда обязательно пишется тестовая документация, от небольшого чеклиста до развесистого 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 стало вообще пулей летать.
Основные возможности
Многопользовательская многопроектная система для ведения тестовой документации и учета результатов выполнения тестов. В продукте предусмотрено место для всех: для тест-менеджеров, которых больше интересует «когда будет» и «сколько багов», для простых тестировщиков, которым удобно отчитываться о пройденных кейсах, для аналитиков, которые смогут вгрызаться в самые дебри и выяснять
Как выглядит рабочий процесс

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