19 марта 2021 г.

Перфоманс Лаб разработала решение для автоматизированного тестирования дейтингового приложения Tinder.

Команда Tinder, международного приложения для знакомств в интернете, постоянно сталкивалась с проблемой выпуска регулярных обновлений программного обеспечения для Android и iOS. Используемое ручное тестирование не могло эффективно покрывать релизы, выходящие раз в две недели, потому что скорость выхода изменений стабильно возрастала. Задача клиента состояла в более оперативном тестировании для поиска и устранения дефектов. Tinder обратился к Перфоманс Лаб, чтобы решить данную задачу. Специалисты Перфоманс Лаб предложили оптимальную комбинацию ручного и автоматизированного тестирования, используя большой парк устройств.

Задача Перфоманс Лаб состояла в том, чтобы минимизировать риски появления критических дефектов в продукте, добавив тесты на уровне UI и API для приложений Android / IOS, которые выполняются вместе с имеющимися юнит-тестами и другими проверками в ходе непрерывной интеграции. Удалось обойти проблему нестабильность UI-тестов из-за постоянных изменений пользовательского интерфейса в приложении и многие другие проблемы.

Решено было разработать нативное решение автоматизированного тестирования. Была использована нативная автоматизация, то есть на том же языке, на каком пишется популярное приложение знакомств Tinder, но вдобавок с использованием DevOps. Используя средства для автоматизированного UI-тестирования с помощью XCUITest библиотеки для iOS и Espresso библиотеки для Android, такое решение, должно было устранить многие проблемы, связанные с автоматизацией тестирования, что и было реализовано.

При автотестировании в циклах CI нередко возникает проблема остановки непрерывной поставки при аварийном завершении теста. Это создает проблемы для разработчиков, так как сильно тормозит их работу. Поэтому был разработан специальный Test Orchestrator — который изолирует «упавшие» тесты, перемещая их на карантин. Такой подход дает возможность тестировщикам разбираться с тестами, не нарушая работу команды разработки.

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

Среди ключевых факторов успеха стоит отметить детальное планирование на ранних стадиях проекта и применение методологии agile в работе распределенной команды.

В итоге, команда Перфоманс Лаб помогла создать более эффективный продукт и улучшить ряд показателей, в том числе существенно сократить время выпуска новых версий приложения. Около 20% всех функциональных тестов были автоматизированы, время полного регрессионного тестирования сократилось на 60%.

Источник: Пресс-служба компании Перфоманс Лаб