Обеспечение качества логистической платформы Ctrl2Go
Автоматизация тестирования IT-продукта помогает ускорить проведение тестов, а значит, быстрее выпускать свежие релизы. В кейсе рассказываем, как за три месяца мы усилили команду заказчика и обеспечили качество крупной логистической IT-платформы.
Клиент
В 2021 году к нам обратилась компания Ctrl2Go – одна из ТОП-100 крупнейших IT-компаний страны и лидеров среди поставщиков решений для анализа данных в России. Клиент разрабатывает и внедряет цифровые продукты в промышленности. Команда SimbirSoft подключилась к обеспечению качества одного из проектов – логистической платформы для управления грузоперевозками.
Цель
На переход от более старой версии к новой были заложены достаточно сжатые сроки. Перед нами стояла задача с нуля создать набор автоматизированных тестов, чтобы ускорить процесс регрессионного тестирования.
Задача
Обеспечение качества, разработка тестов и покрытие функционала ручными и автоматизированными тест-кейсами, ускорение процессов тестирования на проекте.
Технические задачи по обеспечению качества и тестирования (QA)
-
создание и развитие системы автоматического тестирования «с нуля», покрытие функционала автотестами;
-
обработка результатов тестирования, описание ошибок в баг-трекинг системе, формирование требований по улучшению продуктов;
-
разработка и автоматизация тестовых сценариев;
-
написание E2E-тестов* и пользовательских сценариев;
-
создание поддерживаемой архитектуры автоматизации тестирования;
-
UI/UX** тестированием продукта, формирование рекомендаций по улучшению качества.
Что сделали
В зону нашей ответственности вошли:
- написание тест-кейсов;
- ручное тестирование;
- разработка и поддержка автоматизированных тестов.
Создание фреймворка для тестирования шло параллельно с развитием проекта, поэтому мы приняли решение в первую очередь автоматизировать проверку базового функционала. Так, мы начали со smoke-тестов и настроили CI – запуск автотестов и формирование отчетности при обновлении исходного кода прямо в удаленном репозитории. Оставшиеся кейсы тестировали вручную.
В дальнейшем мы добавили зависимость тестов друг от друга и автоматизировали регрессионное тестирование. Также углубились в различные разделы проекта и расширили покрытие автоматизации, в том числе на новые функции. Например, перед релизом новой версии у заказчика появилась гипотеза о неправильном подсчете цены при формировании пользовательской заявки. Нами были написаны UI- и API-автотесты, в результате гипотезу удалось быстро проверить, но она не получила подтверждения. Это позволило не переносить сроки релиза.
До нашего подключения для ведения тестовой документации на проекте использовался Excel. Мы предложили перенести тест-кейсы в специализированную систему TestLink, что упростило работу над их написанием и корректировкой.
QA-команда реализовала следующие шаги
-
полностью описали кейсы базового функционала smoke и regress;
-
пошагово описали функциональные сценарии тестами Е2Е*;
-
создали и настроили окружение для автоматизации тестов проекта;
-
описали и внедрили процесс написания и запуска автотестов;
-
внедрили автоматическое формирование отчетности по тестам;
-
перенесли тест-кейсы из эксель в тест-линк, ускорили и упростили работу над тестами;
-
благодаря введению процесса актуализации документации, создали единую базу знаний проекта и уменьшили срок онбординга новых специалистов в проект.
Результаты
Благодаря автоматизации удалось сократить время регрессионного тестирования перед выходом новых версий продукта. Ручная проверка занимала от 4 до 5 дней, а после внедрения автоматизации этот срок сократился до 2 дней. Благодаря нашей работе клиент смог в планируемый срок выпустить новую версию, сделав ее надежнее и удобнее.
Команда QA обеспечила следующие результаты
1) Сократили сроки тестирования smoke и regress благодаря автоматизации
2) Запуская тесты после каждой сборки, находили дефекты на раннем этапе: благодаря этому уменьшилась цена ошибки
3) Тестирование ускорило реализацию новых фич: благодаря автоматической отчетности, аналитика по функционалу стала актуальной и доступной в любое время
4) Описали и оптимизировали процессы разработки, ручного и автоматизированного тестирования
5) Благодаря выстроенным бизнес-процессам, обеспечили непрерывность разработки при масштабировании проекта, снизили сроки формирования и онбординга новых участников команды
Трудности
Сложный проект с распределенной командой. Внедряли автоматическое тестирование с нуля, опираясь при проектировании тестов на уже готовый функционал, не всегда приспособленный к автоматизации. Проект был в активной фазе развития, поэтому приняли решение начать автоматизацию с базового малоизменяемого функционала. Новый и меняющийся функционал тестировали вручную.
Технологии
Java, Selenide, TestNG, Allure, GitLab, Postman, Maven.
*E2E-тесты (end-to-end, «от начала до конца») — это автоматизированная проверка всего приложения целиком, от первого клика пользователя до финального результата в базе данных
**UI/UX тестирование — это проверка приложения или сайта на удобство (UX) и визуальную привлекательность (UI) реальными пользователями.