Автоматизация mobile UI Xamarin SpecFlow BDD (Android + iOS). Быть или не быть?
Добрый день,
Описание вопроса будет довольно долгим, но я постараюсь, чтобы это было не нудно.
Изначально, проблема в том, что у нас регресс занимает очень много времени. Поэтому было решено автоматизировать регрессионное тестирование на сколько это возможно, чтоб сократить время регресса.
В mobile части было принято решение использовать следующие технологии для автоматизация UI тестировния: C#, Xamarin, BDD, SpecFlow, App Center.
Сейчас уже реализовано порядка 200 тестов (это на самом деле капля в море, если учитывать весь скоуп).
Разработкой автотестов занимались разработчики. В данный момент инициирован перевод этой активности под ответственность QA команды.
У меня как у члена QA команды очень много вопросов и очень мало ответов.
Поэтому пишу этот вопрос на хабре, в надежде что опытный в этой области человек откликнется и поделиться своим опытом.
Сейчас тесты реализованы следующим образом:
Есть несколько проектов
У каждого проекта есть несколько фич
И у каждой фичи есть свой набор тестов (сьют тестов)
Перед запуском каждого сьюта производится "pull requested data" (загрузка нужных данных в локальную бд устройства для прогона тестов из тест сьюта).
Тест в сьюте выполняются по очереди (друг за другом, в определённом порядке). Порядок нарушать нельзя, иначе тесты не пройдут.
Примерно так устроены наши автотесты сейчас.
У нас (у QA команды) возникает несколько вопросов:
1. Можно ли распараллелить запуск автотестов в App Center (если мы автоматизируем весь регресс тест план и будем запускать тесты друг за другом, нам придется очень и очень долго ждать);
2. Можно ли использовать подход атомарных тестов;
3. Можно ли загружать данные в локальную бд несколько устройств сразу перед test run и затем прогонять все тесты параллельно;
4. В App Center довольно дорого стоит использование устройства для прогона тестов. Какие альтернативы существуют;
Буду очень благодарен за ответы.
Если вдруг где-то плохо описал ситуацию, прошу понять и простить :)