Хотел бы сказать пару слов о книге Professional Test Driven Development with C#. Выбрать книгу по популярным технологиям и техникам программирования не так сложно. На каждом форуме написано, что если хочешь познать .NET – не обойтись без Рихтера. Сложнее с менее популярными темами. Итак, TDD…
Коротко
Это первая моя книга издания Wrox. Издание прошло проверку. На мой взгляд, весьма достойная книга. Первое что радует – она короткая. 300 страниц. Книга очень компактно написана. Нет воды и нет пережёванных примеров. Всё разложено по полочкам. В таком объёме легко ориентироваться и можно в любой момент найти ту информацию, которую ищешь.
Пройдусь прямо по оглавлению. Лучше книги о книге никто не расскажет.
Part 1.
Глава 1 рассказывает, как разрабатывалось ПО, как эволюционировал стиль разработки и как разработчики пришли к TDD.
Глава 2 – вводная глава в тестирование. Здесь рассказано, что такое тест. Из чего он состоит. Чем отличаются dummy/fake/stub/mock.
Глава 3 повествует про рефакторинг. Принципы ООП. SOLID. Приёмы и примеры рефакторинга.
Глава 4 рассказывает про сам TDD. Что если тест пишется до кода, то это TDD. Если наоборот, то автор не несёт ответственность за сроки сдачи вашего проекта.
Глава 5 содержит информацию про Dependency Injection и Mock’и. Зачем и как используются. Примеры реализации.
Part 2.
Глава 6. От начала до конца разобран процесс создания приложения. Создания структуры проекта в VisualStudio. Правила и советы по написания User Stories. Введение в Agile.
Глава 7. Начинаем реализовывать приложение. Строчка за строчкой, тест за тестом.
Глава 8. Integration Testing. Описываются интеграционные (вроде по-русски) тесты. Пример создания опять же присутствует.
Part 3
Глава 9 описывает техники тестирования веб приложений. В двух словах описано как тестировать ASP.Net Web Forms проекты. Далее довольно подробный разбор тестирования ASP.Net MVC проектов. И под конец ещё пара слов про JavaScript Testing Frameworks.
Глава 10 описывает приёмы тестирования WCF сервисов.
Глава 11 рассказывает про тестирование WPF и SilverLight приложений. Объясняется, как MVVM паттерн облегчит нам эту задачу.
Part 4
Глава 12 содержит общие слова про стратегии работы с новыми требованиями и дефектами в рамках TDD.
Глава 13 подчёркивает непредвзятость автора к разным фреймворкам. Здесь кратко описаны преимущества и недостатки многих Unit Testing Frameworks, Test Runners, Mocking Frameworks, DI Frameworks и нескольких полезных тулзов.
Глава 14 подытоживает всё прочитанное. Тут автор даёт последние наставления, и даже советы, о том, как следует внедрять TDD в своих компаниях более безболезненно.
Заключение.
Хорошая книга. Очень приятно и толково написана. Примеры кода можно скачать на сайте. Стоит отметить, что в переводе её нет, и придётся читать на английском. Сложность написания, с точки зрения языка, чуть выше того же Рихтера, но не на много. Книга собрала в себя колоссальное количество информации, начиная от рефакторинга, заканчивая Agile разработкой и BDD нотацией. Каждый такой пункт описан в 20-30 страницах, чего достаточно, чтобы понять главную идею и докупить уже специализированные книги по вкусу.
Ещё мне понравилась обложка. На ней нарисован хоккеист. Вот.
Надеюсь этой информации достаточно чтобы сформировать мнение о книге. На сайте издтеля можно скачать первую главу в PDF.
Информация о книге:
Professional Test Driven Development with C#
Developing Real-World Apllications with TDD
Авторы: James Bender, Jeff McWherter
Издательство Wrox
ISBN 978-0-470-64320-4