Всем привет, меня зовут Антон Огольцов, я отвечаю за процессы тестирования в компании Integro Technologies. Мы являемся системным интегратором, представляющим услуги по разработке, внедрению и поддержке IT-решений для авиакомпаний, аэропортов и наземных служб.
Сегодня предлагаю рассмотреть опыт использования инструмента TMS (Test Management System) – Test It. Мы проведем анализ функциональности, удобства использования и эффективности данного ПО. На Хабре много статей, описывающих использование Test IT для управления автоматизированным тестированием, наша цель – поделиться с читателями опытом использования TMS в части мануального тестирования.
Данную статью я разделил на две части. В первой мы сравним функциональность Test IT с ранее используемым Confluence и Jira для работы с тест-кейсами/тест-сьютами и фиксацией результатов тестирования. Во второй части рассмотрим использование общих шагов, пред- и постусловий секций и кейсов, а также ознакомимся с процессом создания тест-планов и ходом выполнения тестирования с последующим составлением отчета и аналитики по прохождению тест-планов.
Функциональность Test IT для ручного тестирования.
Test IT — это система управления тестированием, которая, как и любая TMS, помогает организовать и контролировать процесс работы тестировщиков. Она автоматизирует рутинные задачи, упрощает взаимодействие между участниками команды и позволяет отслеживать результаты тестирования.
На данный момент мы не пользуемся всем широким инструментарием Test IT, поэтому я расскажу более подробно о функциональности, которая прижилась у нас в производстве:
Планирование и управление тестовыми сценариями: система помогает планировать тестирование, распределять ресурсы и контролировать выполнение тест-кейсов.
Отслеживание выполнения тестов и результатов тестирования: в системе фиксируются все обнаруженные дефекты, что позволяет отслеживать их статус и историю.
Анализ и отчетность о качестве программного продукта: система предоставляет инструменты для создания отчётов о ходе тестирования, качестве продукта и других важных показателях.
Управление дефектами (багами), которые были обнаружены в процессе тестирования.
Система обладает множеством функций и возможностей, постоянно развивается, добавляя новые фичи. Например, мы практически не использовали возможности интеграции TMS в связи с инфраструктурной спецификой.
Test IT vs Confluence
Ниже представлена схема сравнения возможностей Test IT и Confluence в части управления процессом тестирования:
Перейдем к детализации:
Редактор тестовых сценариев. В Test IT редактор максимально удобен для создания сценариев, ведь это одна из фундаментальных функций TMS. В Confluence мы имеем дело с универсальным редактором текста, и это не так удобно, как инструмент, заточенный под конкретную задачу. Отмечу, что редактирование уже готовых сценариев во время совместной работы над одним и тем же сценарием удобнее в Confluence за счет развитых возможностей для общения с командой внутри редактируемой страницы – например, в режиме брейнсторминга.
Библиотека тестов. В обоих инструментах возможно ведение и хранения тестовых сценариев. Однако Test IT, на наш взгляд, значительно удобнее за счет создания общих шагов, удобства перемещения/копирования сценариев или группы сценариев, автонумерации шагов.
Тест-планы. В Test IT встроена функциональность с учетом потребностей тестировщиков, в Confluence можно вручную создать план тестирования, но процесс создания будет в разы дольше и сложнее.
Интеграция авто-тестирования. В текущих задачах мы только планируем начать использовать данную функциональность, но возможность интеграции присутствует только в Test IT.
Отчеты и метрики. Используя встроенную функциональность, в Test IT вы можете легко выгружать отчеты тестирования и метрики прохождения тест-планов, в то время как в Confluence собрать отчет можно только по косвенным признакам и статусам задач из трекеров. Конечно, есть вариант автоматизировать всё через плагины и скрипты, но для этого нужны дополнительные усилия и ресурсы.
Использование Test IT на практике. Пример 1
Давайте посмотрим на конкретные примеры использования Test IT в паре наших проектов. Начнем с процесса создания тест-кейсов в Test IT и того, как возможность создания общих шагов внутри проекта помогла нашей команде, состоящей из трех человек, написать несколько сотен сценариев тестирования за пару месяцев.
Некоторое время назад перед нами встала задача в сжатые сроки подготовить большой объем сценариев тестирования и выполнить тесты в рамках проекта миграции на отечественную систему обслуживания пассажиров одной из авиакомпаний. До старта данного проекта работа по подготовке тест-кейсов выполнялась в Confluence, но с резко возросшим объемом задач, его функционала перестало хватать, возникли проблемы с организацией хранения данных, ведением версионности, совместной работой над документами. Мы увидели потенциал для улучшения процессов и решили провести пилотное внедрение TMS. На тот момент мы уже заинтересовались Test IT, так как инструмент использовался в крупных коммерческих проектах разработки ПО. В дополнение к этому ребята из Test IT удачно зашли с демонстрацией продукта. Поэтому, проведя несколько недель в экспериментах, мы закупили стартовый пакет лицензий и запустили пилотный проект.
Работа в Test IT начинается с создания проекта и назначения его команды, члены которой могут быть распределены по проектным ролям.
Проект включает в себя:
Чек-листы. Составляются перед тест-планом и необходимы для того, чтобы убедиться, что все важные аспекты учтены и рассмотрены перед началом процесса тестирования. Они помогают убедиться, что тестирование будет проведено эффективно и результативно.
Секции – иерархическая структура проекта с возможностью задать пред- и постусловия для всех тест-кейсов, входящих в секцию.
Общие шаги – это последовательности часто повторяющихся действий.
Рассмотрим вышеописанные функции системы на примере проверки вымышленного сообщения от системы регистрации, которое содержит данные по зарегистрированному пассажиру, выполняющему полет с младенцем и лабрадором. Тест-менеджер составляет чек-лист:
Далее участник команды тестирования анализирует чек-лист и, используя библиотеку общих шагов, которые создаются в момент старта проекта или по ходу наполняемости его тест-кейсами, как в конструкторе набирает нужные ему кейсы из готовых «кубиков».
Если попробовать изобразить схематически тест-кейс с выделением общих и уникальных шагов, то получим следующую картину:
Как видно из примера выше, большую часть шагов проверки получилось собрать, используя общие шаги. Это весьма удобная функция, ведь в дальнейшем общие шаги можно использовать для существенного ускорения процесса составления тест-кейсов, просто добавляя уже готовые блоки действий в сценарий.
Добавление общих шагов из библиотеки выполнятся очень просто: пользователь переходит в библиотеку, выделяет тесты, которые ему нужны, и добавляет их в сценарий.
За пару кликов общий шаг уже в тест-кейсе. Перемещение шагов теста в сценарии осуществляется с использованием drag-and-drop (метода перетаскивания).
Безусловно, общие шаги можно было бы заменить на отдельные тест-кейсы в любом текстовом редакторе и использовать копипаст, но при больших объемах проекта это существенно увеличивает время написания тест-кейсов. Помимо этого, очень важным аспектом общих шагов является простота и скорость их корректировки. Если в ходе выполнения проекта были внесены изменения, которые мы описывали в общих шагах, то нам не нужно корректировать каждый сценарий тестирования и править его вручную – достаточно один раз изменить общий шаг в библиотеке, и во всех кейсах, которые его используют, автоматически применятся изменения.
Кроме того, стоит упомянуть о возможности ведения версионности созданных тест-кейсов, позволяющей восстанавливать нужную версию сценария или отслеживать изменения и возможность совместного редактирования, добавления комментариев, изображений, кода.
Результат работы можно выгрузить в PDF или XLS, например, для передачи на согласование ответственным.
Использование Test IT на практике. Пример 2
Теперь рассмотрим работу с тест-планами на примере нашей разработки по управлению ресурсами предприятий. Поскольку объем целевого продукта для заказчика был четко определен с самого начала, мы смогли заранее подготовить тест-кейсы для всей планируемой функциональности.
По мере реализации функциональности для выхода на тестирование или сдачи заказчику очередного этапа работ тест-менеджер из общего перечня заготовленных тест-кейсов составляет тест-план, в который включает только нужные ему сценарии. Тест-план служит основой для координации работы команды тестировщиков и обеспечивает прозрачность процесса тестирования.
При подготовке тест-плана тест-менеджер выполняет следующие шаги:
выбирает тест-кейсы, которые соответствуют целям тестирования.
оценивает сложность каждого тест-кейса и определяет, сколько времени потребуется для его выполнения.
распределяет тест-кейсы по приоритетам.
определяет порядок выполнения тест-кейсов.
назначает ответственных за выполнение тест-кейсов и устанавливает сроки их выполнения.
создает итоговый документ – тест-план, включающий в себя набор тестов с учетом всех вышеперечисленных пунктов.
Работу над одним тест-планом, которая, по сути, заключается в прохождении набора тестов, могут параллельно выполнять несколько тестировщиков. Тест-менеджер отслеживает скорость выполнения задач и по ходу прохождения тест-кейсов имеет возможность перераспределять нагрузку между членами команды, что положительно влияет на скорость прохождения тестирования.
По результатам прохождения тест-плана тест-менеджер получает отчет о ходе выполнения тестирования, в котором отображается прогресс и статус проверки. Ему также доступны различные виджеты, показывающие план и фактическое выполнение проверки по тестировщикам и тест-поинтам. Тест-менеджер может выгрузить отчет с необходимыми метриками, включая все шаги теста, а тестировщик при составлении баг-репорта может быстро восстановить последовательность действий, которые привели к ошибке.
Результаты внедрения Test IT
Завершая мой рассказ, обозначу эффекты, которые мы получили благодаря внедрению Test IT:
Заметное увеличение скорости в подготовке тестовых сценариев, особенно в продуктовой разработке (сценарии эволюционируют вместе с продуктом).
Увеличение скорости прохождения тестирования за счет использования тест-планов – и чем больше итераций (повторных тестирований), тем ощутимее эффект.
Повышение эффективности управления процессом за счет информативности системы, что в итоге положительно сказывается и на скорости принятия проектных решений.
TMS позволяет быстро интегрировать новых сотрудников в наши процессы без предварительного обучения, за счет низкого порога вхождения.
Несмотря на обилие функциональных возможностей, система проста в использовании и основана на общепринятых принципах, что делает ее дружественной к пользователю.
Таков наш опыт внедрения Test IT. А вам доводилось использовать эту или аналогичную систему для управления тестированием? Будем рады увидеть отзывы от аудитории о вашем опыте.