Поделитесь опытом как вы проводите автоматизированное регрессионное тестирование для iOS и Android приложений по окончанию спринта или заливки фичи в мастер ветку.
Суть в том, что есть идея написания базовых тест-кейсов до начала спринта по определенной фичи, на протяжении спринта тоже находяться баги, и после заливки фичи в мастер ветку, хотелось бы, чтобы автоматически прошлись базовые тест-кейсы и закрытые баги.
Я использую MonkeyTalk+Ant+Jenkins для регрессии iOS/Android приложений. У меня на проекте присутствуют как Android, так и iOS-приложение. Для каждого из них я создал отдельную задачу (билд/job) в Jenkins’e.
Задача состоит в том, чтобы обновиться до последней ревизии приложения, сделать изменения в приложении, необходимые для работы MonkeyTalk; запустить эмулятор(симулятор); установить на эмулятор/симулятор (или на девайсы) инфицированное MT (MonkeyTalk) приложение; запустить приложение; “прогнать” тестовый скрипт/сьют MT; получить письмо с результатами о билде если он зафейлился.
На данный момент к билд-машине подключены два андроидных девайса, на которых гоняются тесты вместо эмуляторов. Насчет айоса - тестовый скрипт по-очереди проганяется на 3-х различных версиях - 5.1, 6.0, 6.1. Сейчас буду отключать 5.1 и добавлять 7-ку. Билды запускаются по-расписанию каждые 4 часа - если кто-то из девелоперов сделал багу или плохой коммит - результаты практически сразу у меня. Если кому-то интересно, могу расписать поподробнее.
Из более чем полтора года использования MT только один раз повлиял на функциональность приложения. Причем в чем проблема было сразу же видно из логов и было быстро пофикшено на стороне МТ. К тому же абсолютно нет никакой проблемы "легким движением руки" удалить библиотеку МТ и запустить абсолютно "чистый" апп и проверить - воспроизводится баг или нет. Из тулов которые я использовал - МТ заметно выигрывает у остальных.