«Лаборатория Касперского» выложила на GitHub свой фреймворк для автотестирования Android-приложений. Инструмент получил название Kaspresso и уже был успешно опробован на собственных Android-решениях компании, в частности Kaspersky Internet Security для Android, Kaspersky Security Cloud, Kaspersky Safe Kids, Kaspersky Who Calls и других. Теперь Kaspresso бесплатно доступен всем сторонним разработчикам. В создании и отладке фреймворка также приняли участие специалисты из Авито и HeadHunter.
В основе Kaspresso лежат две популярные библиотеки для создания автоматизированных тестов Android — Espresso и Kakao. Кроме того, фреймворк предоставляет возможность использования в тестах ADB (AndroidDebugBridge — инструмент, позволяющий выполнять на девайсе различные отладочные команды). В обычных Espresso-тестах поддержки ADB у разработчика нет.
Среди других преимуществ Kaspresso: решение проблемы с так называемыми flaky-тестами (имеются в виду случаи, в которых результат выполнения теста непредсказуем, и причины неуспеха каждый раз могут быть разные, притом что на устройстве у разработчика такая функция работает без сбоев), логирование всех действий в процессе теста, упрощение локализации приложения за счёт создания скриншотов на разных языках.
Фреймворк от «Лаборатории Касперского» отличает гибкость настроек и простота использования. Каждый разработчик может настроить систему автотестов на базе Kaspresso, исходя из своих индивидуальных задач и особенностей приложения. А если у разработчика уже были автотесты, то для интеграции их в Kaspresso не нужно ничего переписывать — фреймворк предусматривает крайне простое подключение уже существующих тестов.
«Мы на собственном опыте знаем, насколько автотестирование приложений в Android упрощает жизнь разработчиков: это не только быстрее и удобнее, но и гораздо эффективнее „ручных“ тестов. Вместе с тем создание фреймворка для автотестов требует немало сил и ресурсов, а стоимость разработки и поддержки собственной платформы нередко оказывается значительно выше, нежели проведение тестов вручную. Именно поэтому мы и решили выложить в открытый доступ созданный нами фреймворк Kaspresso. Мы постарались объединить в одном инструменте лучшие ресурсы и практики и вложили в него наши собственные наработки и опыт. Надеемся, что с помощью Kaspresso независимые разработчики будут создавать более качественные и надёжные приложения для Android — от этого выиграют и пользователи, и вся индустрия», — отметил Виктор Яблоков, руководитель управления разработки мобильных решений «Лаборатории Касперского».