1) один раз написав основу (модель данных, описание страниц, хелперы) можно ощутимо быстрее реализовывать новые тесты уже автоматизированных процессов.
2) тестировщики параллельно с запущенными тестами могут заниматься дальнейшим тестированием функционала (если скрипт бегает в рабочее время).
Да, на разработку - нужно много времени. Зато потом готовый тест - просто бесценен.
Сколько времени будет тратиться на подготовку тестовых данных?
Сколько времени будет тратиться на анализ результатов тестов?
Сколько времени будет тратиться на поддержку существующих тестов?
Как долго выполняются автотесты?
Какая инфраструктура нужна для автотестов?
1. У меня - нисколько :).
У меня есть метод prepareData в общем для всех классе, от которого наследующся все тесты. Изначально объекты создаются уже заполненные рандомными правильными данными. Условно "new Client" будет означать, что у него УЖЕ есть правильное ФИО, ДР, паспорт и прочее.
Далее, в зависимости от переданных условий - модель изменяется. Сами условия - в отдельном классе. Например, создание клиента с кривым паспортом будет выглядеть, к примеру, как
"prepareData(Conditions.withBadPassport())".
Подавляющее большинство условий - уже давно реализовано, поэтому при написании теста - просто указываю нужные мне условия. У меня есть вещи, которые без БД не подобрать, т.к. слишком много условий - это также делается автоматически, поэтому ни смена окружения, ни обновление БД - не помеха.
А дальше - регрессионный тест пишется ОДИН раз и в дальнейшем - просто запускается "как есть". Данные подберутся самостоятельно, если это требуется.
Время - в зависимости от степени сложности. Если логика (с точки зрения бизнес-процесса) легка и понятна - от 5 до 30 мин + тестовый прогон, чтобы убедиться, что все работает. Сложные, либо относящиеся к тому, что я ещё не автоматизировала - сложно сказать. По этой схеме автоматизация новых разделом уже доведена до универсальности и автоматизма и больше зависит от количества объектов и скорости печати.
2. Зависит от теста. Чем больше тест, тем больше времени на анализ. В идеале ~1-2 часа максимум. И то, большая часть - на то, чтобы сделать отчет, который нужен по результатам теста. Кстати, может быть и его как-нибудь сделаю автоматически.
3. 15 мин на проверку наличия нужных операторов, нужных прав доступа, некоторых специфических настроек. Все это - также можно сделать скриптом, поэтому и этот процесс вероятно автоматизирую чуть позже. Поддержка из-за обновления самого приложения - не требуется. Исключение - новые доработки, которые могут менять структуру БД, либо страниц. Но это - как раз то, что и надо протестировать :).
Сам скрипт, при этом, такие вещи также "обходит" сам. Можно запустить его на окружении с последней версией с новой структурой, а потом его же на более ранней версии - скрипт все равно отработает, т.к. будет знать, что версия другая.
"Как долго" - зависит от сложности набора тестов. Есть и такие, которые идут несколько часов, т.к. проверяют весьма нехилый кусок функционала и сами по себе состоят из кучи тестов. Это индивидуально для каждой системы.
"Инфраструктура" - машина, на которой находится и запускается сам тест + любое тестовое окружение, на котором необходимо эти тесты запустить.