Оля написала провокационную статью, которую я не могу не прокомментировать
Автоматизация тестирования — это всегда попытка сэкономить ресурсы, или расширить покрытие за счёт запуска тестов с кучей параметров, или за счёт запусков на разных окружениях. Наше времея всегда ограничено, автоматизировать всё и вся мы не можем, а результаты тестов всегда приходится анализировать вручную, сколь бы хорошими и наглядными ни были ваши логи.
Итак, давайте рассмотрим пример:
У меня есть 2 теста, которые можно было бы автоматизировать. Оба требуют 2 часа для написания и отладки, а вручную оба проходятся за 20 минут. Оба важны и требуют прогонов каждый регрессионный цикл. В одном из них часто бывают баги, в другом — редко.
1. Автоматизирую «бажный» тест | Автоматизирую «безбажный» тест |
Трачу 120 минут на автоматизацию После этого, за 10 последующих прогонах, в нём 8 раза возникают ошибки, мне каждый раз надо их перетестировать ручками, чтобы локализовать и завести + подправить тесты. |
Трачу 120 минут на автоматизацию. После этого, при последующих прогонах, я не трогаю этот тест, т.к. его результат «passed», и мне не нужно дублировать работу «ручками». |
Итого суммарно затрачено: * 120 на автоматизацию 1го теста, * 160 на перезапуски 1го теста вручную и локализацию ошибок, * 200 на ручные запуски 2го теста. 480 минут, 8 часов |
Итого суммарно затрачено: * 120 на автоматизацию 2го теста, * 200 на ручные запуски 1го теста с локализацией и заведением ошибок. 320 минут, 5 часов и 20 минут. |
Если бы я гоняла тесты вручную и не автоматизировала, то у меня бы ушло 200 + 200 = 400 минут на 10-ти запусках. В таком случае, 1-й сценарий автоматизации НЕВЫГОДНЫЙ, а 2-й ВЫГОДНЫЙ.
Итого, мы приходим к следующему: при регрессионном тестировании, в автоматизацию выгодно отбирать наименее «бажные» тесты, чтобы по результатам их запусков не было необходимости в ручных дополнительных телодвижениях.