Нужно ли автоматическое тестирование UI мобильных приложений? Как и кто его должен разрабатывать и поддерживать?

Илья, 19.11.2013
Полина Тревогина

Нужно ли автоматическое тестирование?

Все зависит от специфики проекта и компании. Если в компании нет опыта автоматизации, а проект планируется на месяц — то времени и средств в автоматизацию вы вложите больше, чем получите преимуществ.

Перед принятием решения, обозначьте цели. Цель «потому что это модно, круто и все так делают» не пойдет. Скорее «Выигрыш по времени и экономия ресурсов за счет автоматизации рутинных тестов», «Заказчик настаивает на pixel perfect, вручную его делать на 5 устройствах с 30 экранами нецелесообразно».

Затем посчитайте:

  • Капитальные затраты: стоимость лицензий на системы автоматизации, стоимость сервера автоматизации и тестовых устройств; зарплаты автоматизаторов; время, потраченное на изучение, написание тестов, их поддержку, настройку тестового стенда.
  • Текущие затраты на каждый билд: время на запуск и прогон тестов (иногда автоматизированные тесты идут дольше, чем ручные), время на анализ результатов.
  • Польза от внедрения на каждый билд - уменьшение времени на приемку билда, если это смоук тест, уменьшение времени на прогон функциональных тестов, уменьшение времени на анализ картинок, и прочее, то, что планируется получить.
  • Планируемое количество сборок проекта за время разработки.

Целесообразность автоматизации = (польза - текущие затраты) * количество билдов - капитальные затраты

Автоматизация выгодна для длительных проектов, когда часто собираются билды. Если вы уже наладили автоматизацию одного проекта, автоматизация следующих будет выгоднее, капитальные затраты уже вложены.

Мы, например, решили, что автоматизация нам нужна для ускорения приемки билдов, но внедрять ее в свободное от основного тестирования время. Автоматизировать будем только смоук-тесты и снятие скриншотов на всех экранах.

Нужна ли автоматизация именно UI мобильных приложений?

Если на предыдущий вопрос вы ответили - да, то автоматизируйте и UI-тестирование. Инструменты для него на iOS и Android существуют и работают.

Кто должен писать и поддерживать автотесты?

В разных компаниях делается по разному. Где-то и код и тесты к нему пишут программисты, а тестировщки занимаются ручным тестированием, запуском автотестов и анализом результатов. Где-то программисты пишут основу под тесты, а тестировщики наполняют тесты данными и поддерживают работоспособность. Где-то программисты пишут Unit-тесты, а автотесты переданы в ведение тестировщиков. Где-то все тесты отданы на откуп тестировщиков, а ручного тестирования нет.

Зависит от квалификации тестировщиков, от сложности выбранной системы, от загруженности программистов, от желания и тех и других, в конце концов.

Задать вопрос
comments powered by Disqus