### Введение
# Причины применения методики автоматизированных тестов и трудности использования методики
* Обратная связь
Тестирование обеспечивает обратную связь при разработке ПО. Такая связь является неотъемлемым элементом "гибкого" процесса разработки. Тесты позволяют спокойно добавлять новую
функциональность, показывая состояние старой.
* Тестирование
Тестировние после разработки - метод контроля, а не метод обеспечения качества продукта. Если тестирование выполняется не разработчиками, то: а) качество обратной связи
ухудшается; б) увеличивается цикл разработки.
* Тестирование разработчиками
Разработчики тоже тестируют :)
* Автоматизированное тестирование
AutoIt и Sikuli позволяют создавать автоматические тесты, основанные на пользовательском интерфейсе. Основная проблема таких тестов - хрупкость.
* Проблема хрупкого теста
# Использование автоматизированных тестов
* Тест как спецификация
Разработка на основе тестов (TDD)-одна из ключевых практик гибких методов разработки. В TDD автоматизированные тесты используются как спецификая еще не написанного ПО.
* TDD
В данной книге основное внимание уделяется рефакторингу уже написанных тестов.