Как мы в TestIt мигрировали

Моя цель - предложение широкого ассортимента товаров и услуг на постоянно высоком качестве обслуживания по самым выгодным ценам.

Привет, Хабр! Меня зовут Евгений Токарев, я руководитель группы автоматизированного тестирования в Innostage. Хочу поделиться нашим опытом выбора новой TMS и миграции достаточно большого количества тест-кейсов практически одной кнопкой.

Поехали!

Так случилось, что TMS TestLink, которой долгое время пользовались тестировщики в нашей компании, морально устарела, была довольно медленной и неудобной, в отличие от десятков более новых систем. Поэтому мы стали искать что-нибудь другое - более современное, полезное, удобное и быстрое.

Чем не устраивает TestLink:

  • У TestLink ужасное юзабилити. Имеются проблемы при администрировании. Дизайн и удобство настолько «на любителя» (дизайн и технологии 2006-го года), что некоторые проекты ведут документацию где угодно, но только не в нем (кто-то в Confluence, кто-то в Google Docs, кто-то в Excel).

  • Сложная или невозможная интеграция с Jira.

  • Проблемы с версионностью тестов. Нет инструмента сравнения версий (построчный diff).

  • Нет никакого функционала для работы с автотестами.

  • С помощью TestLink нельзя управлять нагрузкой на сотрудников, в то время как в большинстве современных TMS такая возможность есть.

Проблемы, которые должна решать новая TMS:

  • Единое место хранения тестовой документации для всех проектов.

  • Нужна связь между имеющимися автотестами и тест кейсами.

  • Нужна для понимания, что мы можем не проходить вручную и что покрыто автотестами.

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

Было проанализировано множество TMS, которые предлагает рынок:

Из них выбрано 5 для более пристального изучения:

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

И в итоге победил TestIt!

Прежде чем идти к руководству с просьбой купить нам лицензию на TestIt, было решено развернуть пробную версию, потрогать всё ручками, и, самое главное, узнать - как бы лучше, быстрее и безболезненнее мигрировать почти 21000 тест кейсов из TestLink.

Прямой интеграции между TestLink и TestIt не существует, поэтому начали искать свое или стороннее решение.

Писались скрипты на питоне, разворачивались локальные версии TestRail (туда потенциально можно было перекинуть сценарии из TestLink, а потом уже из TestRail в TestIt).

Параллельно было найдено JS-приложение для миграции из TestLink в TestIt, которое кто-то писал под себя несколько лет назад, но мы не знали работает ли оно и что конкретно делает.

Со временем удалось переписать это приложение, чтобы оно начало делать хоть что-то, и мы начали получать непонятные ошибки со стороны БД TestIt (прошу прощения за качество скриншотов, в лучшем качестве не осталось):

Был задан вопрос поддержке TestIt, и, в результате долгого и плотного общения с ними, удалось перенастроить докер-контейнеры и избавиться от части ошибок.

После этого выяснилось, что это JS-приложение шлет очень много одновременных запросов и из-за особенностей PostgreSQL мы ловим дедлоки. Пришлось снова переписать часть приложения, чтобы оно отправляло запросы последовательно, а не асинхронно.

Теперь JS-приложение начало работать как ожидалось. Оно устанавливало связь с TestLink, брало из него все папки и тест-кейсы для нужного проекта, конвертировало внутри себя в подходящий для TestIt формат, и создавало/заполняло папки и тест-кейсы уже в TestIt.

Но не очень правильно и не очень красиво! Выяснилось, что секции с Описанием тест-кейса, предусловия и постусловия не мигрируют вообще, а действия и результаты шагов мигрируют с неправильной нумерацией:

 

В итоге, немного поколдовав над приложением, удалось реализовать миграцию пред- и постусловий, и Описания, но результат все еще был далёк от совершенства...

Описание тащило за собой кучу ненужного:

А пред- и постусловия выглядели так же отвратительно, как шаги и результаты шагов (с неправильной нумерацией).

После небольшого сеанса магии, удалось избавиться от ненужных HTML-тегов в поле с Описанием, и оно стало выглядеть так:

 

А потом и вот так:

С этим закончили.

Осталось разобраться с неправильной нумерацией в пред-, постусловиях и шагах.

Было, напоминаю, вот так:

Потом стало красивее, без цифр вообще, но тоже не идеально:

 

Потом сплошным текстом без каких бы то ни было разделений:

И, в итоге, вот так:

Успешно мигрировав целый проект из 418-ти тест-кейсов мы окончательно поверили в себя и решили притормозить с исследованиями миграции.

Собрав по интернету кучу полезной информации про TestIt, просмотрев тонну обучающих видео, написав несколько презентаций и, собственно, презентовав их, мы успешно договорились с руководством о покупке лицензии на TestIt.

Через несколько месяцев согласований на всех уровнях компании, лицензионный TestIt наконец-то был развернут. И пришло время мигрировать нашу 21 тысячу тест-кейсов по-настоящему, назад пути не было…

Я сдул пыль с моего выстраданного скрипта миграции, немного поковырялся в нем, чтобы освежить в памяти, как и с какими параметрами его запускать, и, вздохнув и помолясь, начал миграцию.

Вначале я вручную создал все проекты в TestIt (можно было сделать это питоновским скриптом, написанным ранее, но автор скрипта был в отпуске, и показалось, что руками будет быстрее, чем писать ему, ждать ответа, уточнять что-то и так далее

Источник: https://habr.com/ru/companies/innostage/articles/768246/


Интересные статьи

Интересные статьи

История о том, как мы мигрировали нашу систему управления проектами BIPULSE на KPHP. Если у вас есть PHP-проект с длинной историей и вы хотите запуститься на KPHP для получения выгод, то приготовьтес...
… простите, мигрировали куда? Туда! CockroachDB — PostgreSQL-совместимая (по SQL-синтаксису DML) распределенная СУБД с открытым кодом (ну, почти). Ее название символизирует, что она, как таракан, выж...
Нет ничего сложного в администрировании Windows инфраструктуры говорили они. Все эти ваши окошки и далее-далее, проприетарщина…Ничего не предвещало каких-либо изменений. Обычный рабочий день. В один п...
Привет! Меня зовут Александр Петровский, я инженер в DINS. Я работаю в команде, которая участвует в разработке сервисов облачной телефонии и видеоконференций для RingCentral. Каждый из них состоит из ...
В этой статье я опишу наш опыт миграции Preply в Kubernetes, как и почему мы это сделали, с какими трудностями столкнулись и какие преимущества приобрели.