Разработка через тестирование

Разработка через тестирование (Test-Driven Development) – технология программирования, которая позволяет создавать чистый и устойчивый код с минимальными усилиями.

В основе этой технологии лежит разработка теста до того, как будет реализована какая-нибудь часть программа. Сначала пишется тест, и нужно убедиться, что этот тест не срабатывает. Это может произойти, с одной стороны, из-за того, что используемые в тесте методы тестируемого класса еще не определены, с другой – условия теста программа обрабатывает некорректно. Далее нужно максимально быстро и любой ценой заставить тест сработать. В некоторых случаях решение может оказаться очевидным, реализовать его легко и просто. Иногда пишутся заглушки – «суррогатный код», единственная цель которого - выполнение условий теста. После того, как тест сработал, выполняется рефакторинг созданного кода.

Дальше цикл повторяется: новый тест, заставить тест сработать, рефакторинг.

В результате такого подхода будет создан «чистый код, который работает». Такой код легко читать, легко поддерживать и легко расширять.

Есть замечательная книга, описывающая этот подход: «Экстремальное программирование. Разработка через тестирование», Кент Бек. В ней приводится пример использования этой технологии при реализации простого приложения.

Еще одна книга, которую я бы порекомендовал, называется «The Art of Unit Testing with Examples in .NET», Roy Osherove. В ней акцент поставлен на изучения различных возможностей тестирования с использованием библиотеки NUnit. Эта книга носит более прикладной характер, и отвечает на многие сложности, которые возникают при тестировании.

Метки: , , ,

2 комментария на «Разработка через тестирование»

  1. Кстати, эта практика уже активно используется, к нам вот приезжал тренер и мы всей командой учились TDD: http://lobasev.ru/search/label/TDD

  2. admin:

    Практика старая, и весьма полезная.

Добавить комментарий