55
Разработчик не может быть уверен в правильности написанного
им кода до тех пор, пока не сработают абсолютно все тесты модулей
разрабатываемой им системы. Тесты модулей (юнит-тесты)
позволяют разработчикам убедиться в том,
что каждый из них по
отдельности работает корректно. Они также помогают другим
разработчикам понять, зачем нужен тот или иной фрагмент кода, и
как он функционирует — в ходе изучения кода тестов логика работы
тестируемого кода становится понятной, так как видно, как он должен
использоваться. Тесты модулей также
позволяют разработчику без
каких-либо опасений выполнять рефакторинг.
Функциональные тесты предназначены для тестирования
функционирования логики, образуемой взаимодействием нескольких
(часто — довольно внушительного размера) частей.
Они менее
детальны, чем юнит-тесты, но покрывают гораздо больше — то есть,
у тестов, которые при своём выполнении затрагивают больший объём
кода, шанс обнаружить какое-либо некорректное поведение,
очевидно,
больше.
По
этой
причине
в
промышленном
программировании написание функциональных тестов нередко имеет
больший приоритет, чем написание юнит-тестов.
Для XP более приоритетным является подход, называемый TDD
(разработка через тестирование). В
соответствии с этим подходом
сначала
пишется тест, который изначально не проходит (так как
логики, которую он должен проверять, ещё просто не существует),
затем реализуется логика, необходимая для того, чтобы тест прошёл.
TDD, в некотором смысле,
позволяет писать код, более удобный в
использовании — потому что при написании теста, когда логики ещё
нет, проще всего позаботиться об удобстве будущей системы
.
Достарыңызбен бөлісу: