400+ автотестов для ЦИАН: как специалисты Nord Clan помогают обеспечивать стабильность платформы
Тестировщики Nord Clan помогли ЦИАН провести интеграционное тестирование сервисов, выявить ошибки и автоматизировать проверки. Написано 400+ тестов, которые обеспечивают стабильность и ускоряют выход новых функций.
Nord Clan — надежный партнер в разработке программного обеспечения под ключ. Мы создаем инновационные решения для финансового сектора, промышленности, медицины и корпоративных стартапов.
ЦИАН — крупнейшая онлайн-платформа объявлений о продаже и аренде недвижимости в России. Платформа объединяет множество сервисов: публикацию объявлений, продвижение, оплату, аналитические инструменты и многое другое. Сервисы постоянно дорабатываются, и любое обновление должно работать без сбоев.
Мы давно сотрудничаем с ЦИАН и помогаем с разработкой и тестированием. Наши специалисты участвуют в создании веб-приложений для разделов «Новостройки», «Вторичный рынок» и мобильного приложения. Кроме того, мы усиливаем команду QA, помогая обеспечивать качество продукта.
Проблема и задачи
Команда ЦИАН активно развивает платформу, добавляя новые функции. Чтобы убедиться, что изменения не ломают текущую логику, необходимо тщательное интеграционное тестирование. Это особенно важно для финансовых процессов — списаний, продления услуг, смены владельца объявления и других операций.
Задача наших тестировщиков в составе команды заказчика — проверить, как взаимодействуют между собой разные сервисы платформы, и выявить возможные проблемы до выхода новых функций в продакшн.
Решение
Мы разработали и внедрили интеграционные тесты, которые автоматически проверяют корректность работы ключевых сервисов.
Для тестирования наши специалисты по качеству:
1) Написали сценарии, которые моделируют реальные пользовательские операции, например:
Создание объявления, проверка его публикации и списания денег с баланса.
Применение услуг продвижения, проверка корректности статусов и повторного списания.
Смена владельца объявления и проверка корректности передачи данных.
2) Интегрировали тесты в пайплайн задач в Jira — они запускаются автоматически после завершения работы разработчика или вручную по запросу.
3) Организовали многопоточное выполнение тестов с использованием Kafka и нескольких consumer’ов для быстрой обработки прогонов.
4) Использовали фреймворк xUnit для написания и поддержания тестов.
Один из ключевых сценариев — проверка взаимодействия сервисов публикации объявлений и их продвижения.
Как работает:
- Пользователь публикует объявление.
- С его счета списывается сумма за размещение.
- Он подключает услугу продвижения (например, вывод в топ-3).
- За это также списываются деньги.
- Объявление получает новый статус продвижения.
Что мы тестируем:
- Корректность списаний на каждом этапе.
- Соответствие статусов объявления подключенным услугам.
- Отсутствие ошибок в логике взаимодействия сервисов.
Есть и более сложные сценарии, но суть остается той же: проверяем, как между собой взаимодействуют сервисы публикации объявлений, продвижения, смены владельца и другие.
Результат
Мы разработали и внедрили более 400 интеграционных тестов. Они стабильно работают в автоматическом режиме и позволяют команде ЦИАН с уверенностью выпускать обновления.
Для бизнеса это значит:
- Меньше критических ошибок в продакшне.
- Быстрее выходят новые функции.
- Улучшенное качество платформы, а значит, довольные пользователи.
Для команды ЦИАН это значит:
- Автоматизированный контроль сложных процессов.
- Снижение нагрузки на QA-специалистов.
- Повышенная стабильность сервисов.
Наши тестировщики не просто писали тесты, а помогли выстроить надежную систему автоматизированного контроля качества.
Стек
С#, Entity Framework Core, Docker, Kafka, Xunit