🔥

Тред (Саша Аскеров)


UI тесты. У нас они появились около года назад. Начинали их мы по большей части силами разработчиков. Сейчас больше ими занимаются уже QA.

Используем Espresso и пишем тесты на Kotlin. Тесты разбиты на 2 слоя. Внутренний — работа с вьюшками и именно он у нас завязан на эспрессо. Внешний: собственно код самого теста. Тут никаких зависимостей на сторонние фреймворк.

Так как в Kotlin есть такая штука как lambda with receiver код теста можно сделать максимально простым и легким для восприятия. kotlinlang.org/docs/lambdas.h…

Вот примерно так, как описано в статье. medium.com/android-bits/e…

У разделения на слои очевидный плюс: не нужно переписывать конечный тест, при не значительных изменениях дизайна. Или при переписывании вьюшки с xml на compose :)

Kotlin с dsl подходом добавляет еще один плюс: можно втянуть в автоматизацию QA, у которых до этого был либо минимальный опыт в автоматизацию, либо не было его вовсе.

Начать с того, что разработчики реализуют внутренний тестовый слой для некоторой фичи и пишут пару тестов в качестве примера. Затем QA дописывают остальные кейсы.

Постепенно QA начнут втягиваться, и со временем смогут писать тесты полностью. Во всяких сложных случаях может понадобится помощь разработчиков. Но с опытом таких ситуаций будет меньше.

Потом им может надоесть писать тесты и они захотят в разработчики, но до этого успеют принести пользу :)

Сделать тесты Espresso стабильными бывает не просто. Вот набор неплохих советов на тему medium.com/stepstone-tech…

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

Есть у вас UI тесты? Espresso (если речь про андроид)? Пишут сами разработчики или QA? На чём гоняются? Расскажите тоже что-нибудь из опыта :)
🤔 52.2% Есть!
🤔 47.8% Нет :(