
Если вы хоть раз сталкивались с юнит-тестами, вы знаете, что это одновременно и благословение, и проклятие. С одной стороны, они помогают ловить баги на ранних этапах, с другой — могут превратиться в настоящий ад, если написаны неправильно. Книга «Искусство юнит-тестирования с примерами на JavaScript» от Роя Ошерова и Владимира Хорикова — это глубокий, практический и местами даже философский взгляд на то, как писать тесты, которые действительно работают, а не создают дополнительные проблемы. И в этой статье вы не только узнаете о самой книге, но и мнение о ней от научного редактора российского издания — Дмитрия Колфилда.
Один из авторов, Рой Ошеров, испытал на своём опыте неудобства неудачного проекта, где юнит-тесты стали не помощниками, а врагами. Команда писала тесты по методологии TDD, но со временем они стали настолько хрупкими, что любое изменение кода приводило к их поломке. В итоге тесты пришлось выкинуть, а проект провалился. Этот пример — не просто история, это предупреждение! Тесты должны должны быть правильно спроектированы. Иначе они превращаются в обузу, которая замедляет разработку вместо того, чтобы ускорять ее.
Почему эта книга важна для тестировщиков?
Юнит-тестирование — это настоящее искусство! И, как любое искусство, оно требует понимания основ, стратегии и умения адаптироваться к разным ситуациям. Авторы книги не просто рассказывают, как писать тесты, они учат, как делать это правильно.
- Читабельные тесты: вы узнаете, как писать тесты, которые легко читать и понимать даже спустя месяцы после их написания.
- Простота сопровождения: тесты не должны ломаться от каждого изменения в коде. Книга покажет, как избежать хрупкости и сделать тесты устойчивыми.
- Стратегии тестирования: как выбрать правильный тип теста для конкретной задачи? Как тестировать унаследованный код? Как внедрить тестирование в организации? На эти вопросы вы найдете ответы.
- Практические примеры: все концепции подкреплены примерами на JavaScript и TypeScript, что делает книгу особенно полезной для фронтенд- и бэкенд-разработчиков.
Что нового в третьем издании?
Третье издание книги было значительно переработано:
- JavaScript и TypeScript: все примеры теперь написаны на этих языках, что делает книгу актуальной для современных разработчиков.
- Новые главы: добавлены разделы о стратегиях тестирования, читабельности тестов и работе с унаследованным кодом.
- Обновленные инструменты: вместо .NET и NUnit теперь используются Jest и другие современные фреймворки.
Для кого эта книга?
Книга подойдет всем, кто пишет код:
- JavaScript-разработчики: примеры на JS и TypeScript сделают материал особенно полезным.
- Тимлиды и архитекторы: вы узнаете, как внедрить тестирование в команде и организовать процесс.
- QA-инженеры: Если вы пишете код, эта книга поможет вам глубже понять принципы тестирования.
- Подойдёт для новичков: книга начинается с основ, поэтому даже если вы никогда не писали тесты, вы сможете разобраться.
Структура книги
Книга разделена на четыре части:
- Основы: Как писать первые тесты, использовать фреймворки и понимать ключевые концепции.
- Продвинутые техники: Моки, стабы, изолирующие фреймворки и тестирование асинхронного кода.
- Лучшие практики: Как писать достоверные, читабельные и легко поддерживаемые тесты.
- Организация и стратегии: Как внедрить тестирование в компании и работать с унаследованным кодом.
Отзывы и рекомендации
Роберт С. Мартин (дядюшка Боб), автор книги «Чистый код», называет эту книгу «глубоко технической» и рекомендует ее как новичкам, так и опытным разработчикам. Он отмечает, что книга начинается с основ, но быстро переходит к сложным темам, таким как внедрение тестирования в организациях с унаследованным кодом.
От научного редактора русской версии
Если вы вдруг потерялись или начали считать, что хаос и неизвестность поглощают ваш проект, то, прочитав книгу, для вас снова засияет свет тестирования, который станет путеводной звездой для налаживания вашей внутренней сферы.
Сильными сторонами книги являются ее практичность и глубина. Авторы не просто рассказывают, как писать тесты, но и объясняют, зачем это делать, раскрывая философию тестирования. Они дают яркие примеры, разбирают антипаттерны проектирования тестов и показывают, как тестирование может стать частью вашего мышления. Но местами текст может показаться слишком техническим, особенно для новичков, которые только начинают свой путь в мире тестирования, в частности в мире unit-тестирования.
Ключевая идея книги — тесты должны выступать не только как средство проверки соответствия ожидаемому поведению, но и быть инструментом для улучшения дизайна кода.
Дмитрий Колфилд — инженер-тестировщик в компании КРОК. Принимал участие в тестировании и поддержке высоконагруженных информационных систем (десктопные и веб-приложения). Также занимался тестированием миграций в нереляционных базах данных для информационных систем, обрабатывающих большие данные.
Дмитрий пришёл в ReadIT Club с намерением сделать мир немного лучше. Он увлекается книгами и уверен, что тестирование может внести ценный вклад в жизнь. Клуб вдохновляет его, поскольку даёт возможность создавать и улучшать значимые вещи, такие как литература в области информационных технологий.
Об авторах
Рой Ошеров — один из основателей ALT.NET, ранее работал в Typemock на должности главного архитектора ПО. Он консультирует и обучает команды по всему миру тонкому искусству юнит-тестирования и разработки через тестирование, а также учит руководителей команд, как им стать более эффективными. Рой опубликовал много видеороликов о юнит-тестировании на сайте ArtOfUnitTesting.com.
Владимир Хориков — Microsoft MVP, блогер и автор Pluralsight. Профессионально занимается разработкой программного обеспечения более 10 лет, включая обучение команд всем тонкостям юнит-тестирования. Владимир написал книгу «Принципы юнит-тестирования», опубликованную издательством Питер. Кроме того, он написал ряд популярных серий постов в блогах и создал обучающий онлайн-курс по теме юнит-тестирования. Главным преимуществом его стиля обучения, который часто хвалят студенты, является приверженность Владимира сильной теоретической основе, которую он затем применяет на практических примерах.
Заключение
«Искусство юнит-тестирования» — это не просто книга, это руководство к действию. Она поможет вам не только научиться писать тесты, но и понять, как сделать их полезными, а не обременительными. Если вы хотите, чтобы ваши тесты были не просто формальностью, а реальным инструментом улучшения качества кода, эта книга для вас.
И помните: хороший тест — это не тот, который просто проходит. Это тот, который помогает вам спать спокойно, зная, что ваш код работает как надо.
Ознакомьтесь с книгой «Искусство юнит-тестирования с примерами на JavaScript. 3-е межд. изд.» на нашем сайте.
» Оглавление
» Отрывок
По факту оплаты бумажной версии книги на e-mail высылается электронная книга.
Для Хаброжителей скидка 25% по купону — Юнит-тестирование