Есть программный продукт, его нужно тестировать. Что же в первую очередь мы будем автоматизировать? А что будем проверять вручную?
Основные преимущества автоматизированного тестирования (АТ)
- Повторяемость: Те тесты которые повторяются от версии до версии, можно автоматизировать
- Быстрота выполнения: Автоматические тесты выполняются быстрее ручных
- Отчеты: Результат тестирования предоставляется автоматически
- Экономия: Тестировщик во время выполнения тестов может заниматься другими задачами
Недостатки АТ
- Написание авто тестов требует намного больше времени, чем написание ручного
- Поддержка: Чем чаще меняется продукт, тем чаще нужно менять и автоматические тесты
- Пропуск мелких ошибок: Тестировщик выполняя тест вручную мог бы заметить то, что не заметит машина
- Архитектура: сложность в прогнозировании результата. (Например, результат может быть неверный, автотест это поймет, а может отсутствие результата и тест может упасть, или результат упавшего теста может заблокировать или изменить правильность валидации результатов.)
Где нужно применять автоматизацию
- Проверка критически важных функций: дымовое тестирование
- Труднодоступные места: html, xml-код, информация из база данных и тд и тп
- Рутинные действия: заполнение большого количества полей формы или большого количества форм
- Длинные сценарии, желательно end-to-end
- Проверка точных математических вычислений
- Нагрузочное тестирование