Testing Tools Team
50 subscribers
2 photos
1 link
Команда разработки внутренней системы управления тест-кейсами в Авито
Наш твиттер: https://twitter.com/test_tools_team
Download Telegram
На нашем медиуме подъехала статья про тестохранилку
Forwarded from AvitoTech
У нас в Авито есть собственная система для управления тест-кейсами.

В чём её отличия от других тестохранилок:
🎋 ветки — это такой легкий Git на MySQL;
🅰 API для управления тест-кейсами и проверки статуса автотестов;
🌴 бесконечное дерево фич.
К тому же, система оптимизирована для кросс-функциональных команд.

В англоязычной статье на Медиуме Вадим Шашин рассказывает о том, как она устроена → http://bit.ly/2XRn3mv
Так-с. Кажется, я обещался написать про щупальца.

Раньше происходило что-то такое: сначала пишется тест-кейс, затем он автоматизируется. Ну и вся поддержка и актуализация тоже двухэтапная.
Я бы не сказал, что мы были рады этому. Особенно, когда тестировщик сам автоматизировал свои тест-кейсы. Не удивительно, что у нас очень много тестировщиков ударились в написание автотестов.

Так вот. Зачем делать работу два раза, если можно ее сделать однажды? Подумали мы и начали размышлять, как что-то выкинуть из этого процесса.
Первое, что пришло в голову, — генерация автотестов. Очень уж это красиво и, кажется, что тестировщикам придётся писать меньше кода.

Короче говоря, идея провалилась. Слишком оверинжиниринг оказалась.

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

В общем, мы отказались от этой идеи, так и не реализовав ее. Немного погрустили и придумали другой подход.
Мы заметили, что некоторые команды отказываются от использования ТМС, чтобы сэкономить своё время, пусть и жертвуя наглядностью своей тестовой модели.

Было решено: исследовать историю с «тест-кейсами в коде».
Если быть честным, сначала я был крайне скептически настроен к этой идее. Было непонятно, как держать синхронизированными деревья тестовой модели и сами тест-кейсы в разных репозиториях.
Думали над тем, чтобы сделать просмотрщик тест-кейсов, который бы брал автотесты из репозитория и наглядно отображал их.
В итоге мы сделали что-то похожее: если у нас есть уже работающая тестохранилка, которая дает свои бонусы, то почему бы не использовать ее? Тем более, что кто-то наверняка захочет продолжать вручную создавать тест-кейсы.

Так и родилась история с щупальцами. Это такие штуки, которые парсят автотесты (слегка особым образом размеченные) и загружают их в тестохранилку.
Логично, что автотесты из щупалец предоставляются только для чтения. Редактировать их через интерфейс тестохранилки — нельзя.

В итоге те команды, которые отказались от использования тестохранилки, потратили примерно час на разметку автотестов (чтобы проставить идентификаторы фичей), и их кейсы появились в ТМС.
Сейчас мы все еще продолжаем наращивать «щупальцевую массу». Наша текущая цель — «любая проверка в Авито должна быть в тестохранилке и сматчена на тестовую модель».
Тем временем мы плавно переключаемся на тест-планы, которые на данный момент очень слабо удовлетворяют потребности регресса. Чуть позже постараюсь сделать большой тред про то, что они представляют из себя сейчас и что будет потом.
А еще мы задолбались жить с недельными спринтами, не такая уж и волатильная обстановка вокруг нас. И первый наш двухнедельный спринт посвятим этим самым тест-планам.