Кейс: да кому вообще нужны тесты?
Сегодня Данил Бирюков-Романов, ментор Solvery поделится кейсом, который докажет важность тестов. Или нет. Узнаете в конце текста
2К открытий2К показов
Данил Бирюков-Романов
Ментор Solvery и Software developer in test в Cindicator
Всем привет! Меня зовут Данил Бирюков-Романов, я ментор Solvery и Software developer in test в Cindicator. Сегодня я хочу поделиться одним кейсом, который докажет важность тестов. Или нет. Узнаете в конце текста ?
Дано:
- молодой финтех стартап;
- SaaS, k8s, облака;
- команда высококлассных финтех-разработчиков;
- тестирование в минусах (потому что есть несколько тестов, которые больше напоминают мониторинг).
Так как команда реально высококлассная, всё работает. Хорошая архитектура + микросервисы + опыт делают своё дело и проблем нет вообще. Где нужно, есть автотесты, где не нужно, забили. И в целом всё хорошо.
Но как всегда есть одно но
CI/CD просто ужасен. Выкатывать в продакшен больно, трудно и страшно.
Вот тут стоит остановиться и сказать, что есть различие в QA и тестировании. QA — оно про качество продукта в целом, тестирование — это только часть QA, и оно именно тестирование. И как специалист в QA я понимаю, что надо делать нормальный CI, а не тесты. Обсуждаем с командой, получаем зеленый свет и вперёд!
Делаем приятный CI, позволяющий легко выкатить любую версию контейнера, описываем всё в документации. Также распиливаем большую монорепу на много маленьких, что ускоряет деплой в разы.
Опять же пока распиливаем моно репу удаляем старое легаси, которое висело мертвым грузом. Заменяем часть сервисов на новые, более стабильные и быстрые. Часть неочевидных мест рефракторим, чтобы было понятнее впоследствии. Понатыкиваем метрик куда можем, пишем библиотеку для алерта в Slack. И вуаля.
Баги, конечно, ещё есть, куда без них. Но фичи в прод едут быстрее, прод стал понятнее, прогнозируемее и быстрее сообщает о проблемах.
Сколько тестов было написано больше, чем за год? Штук 5. Наверное.
О чём этот кейс?
Иногда можно обойтись и без тестов. Ну или начать не с них. Проблема может быть в другом месте и это задача QA понять, где это место и исправить его. Но для этого нужен опыт. И если опыта у вас нет, то всегда есть Solvery.
2К открытий2К показов