Для профессионалов - Хориков Владимир - Принципы юнит-тестирования [2021, PDF/DjVu, RUS]

Страницы:  1
Ответить
 

Osco do Casco

VIP (Заслуженный)

Стаж: 15 лет 11 месяцев

Сообщений: 13510

Osco do Casco · 06-Фев-21 18:39 (4 года 4 месяца назад, ред. 06-Фев-21 18:56)

Принципы юнит-тестирования
Год издания: 2021
Автор: Хориков Владимир
Издательство: Питер
ISBN: 978-5-4461-1683-6
Серия: Для профессионалов
Язык: Русский
Формат: PDF/DjVu
Качество: Издательский макет или текст (eBook)
Интерактивное оглавление: Да
Количество страниц: 320
Описание: Юнит-тестирование — это процесс проверки отдельных модулей программы на корректность работы. Правильный подход к тестированию позволит максимизировать качество и скорость разработки проекта. Некачественные тесты, наоборот, могут нанести вред: нарушить работоспособность кода, увеличить количество ошибок, растянуть сроки и затраты. Грамотное внедрение юнит-тестирования — хорошее решение для развития проекта.
Научитесь разрабатывать тесты профессионального уровня, без ошибок автоматизировать процессы тестирования, а также интегрировать тестирование в жизненный цикл приложения. Со временем вы овладеете особым чутьем, присущим специалистам по тестированию. Как ни удивительно, практика написания хороших тестов способствует созданию более качественного кода. В этой книге: универсальные рекомендации по оценке тестов; тестирование для выявления и исключения антипаттернов; рефакторинг тестов вместе с рабочим кодом; использование интеграционных тестов для проверки всей системы.
Примеры страниц
Оглавление
Предисловие к русскому изданию 14
Предисловие к оригинальному изданию 15
Благодарности 16
О книге 17
Часть I. Общая картина 21
Глава 1. Цель юнит-тестирования 22
Глава 2. Что такое юнит-тест? 40
Глава 3. Анатомия юнит-теста 64
Часть II. Обеспечение эффективной работы ваших тестов 89
Глава 4. Четыре аспекта хороших юнит-тестов 90
Глава 5. Моки и хрупкость тестов 117
Глава 6. Стили юнит-тестирования 147
Глава 7. Рефакторинг для получения эффективных юнит-тестов 182
Часть III. Интеграционное тестирование 217
Глава 8. Для чего нужно интеграционное тестирование? 218
Глава 9. Рекомендации при работе с моками 254
Глава 10. Тестирование базы данных 268
Часть IV. Антипаттерны юнит-тестирования 299
Глава 11. Антипаттерны юнит‑тестирования 300
Download
Rutracker.org не распространяет и не хранит электронные версии произведений, а лишь предоставляет доступ к создаваемому пользователями каталогу ссылок на торрент-файлы, которые содержат только списки хеш-сумм
Как скачивать? (для скачивания .torrent файлов необходима регистрация)
[Профиль]  [ЛС] 

lightning5

Стаж: 16 лет 9 месяцев

Сообщений: 2


lightning5 · 11-Фев-21 13:38 (спустя 4 дня)

Спасибо! Если зайдет, куплю бумажную версию
[Профиль]  [ЛС] 

stepagrus

Стаж: 15 лет 8 месяцев

Сообщений: 83

stepagrus · 12-Мар-21 08:21 (спустя 1 месяц)

Обязательно куплю электронную версию. У автора талант учителя
[Профиль]  [ЛС] 

realboost

Стаж: 15 лет 7 месяцев

Сообщений: 24


realboost · 01-Апр-21 17:15 (спустя 20 дней)

Спасибо за раздачу. Нет ли у кого-нибудь этой книги в формате epub?
[Профиль]  [ЛС] 

npx

Стаж: 17 лет 7 месяцев

Сообщений: 45


npx · 03-Авг-21 12:41 (спустя 4 месяца 1 день)

имхо. одна из лучших книг по теме юнит-тестирования и проектирования.
[Профиль]  [ЛС] 

Андрей3773

Стаж: 14 лет 8 месяцев

Сообщений: 2


Андрей3773 · 14-Сен-21 23:42 (спустя 1 месяц 11 дней)

Must read, если хоть как-то пишешь на ООП. Лучшая книга для тех кто написал хотя бы 20 тестов, и почувствовал, что-то тут не так.
[Профиль]  [ЛС] 

Igowan

Стаж: 13 лет

Сообщений: 2


Igowan · 25-Сен-21 07:21 (спустя 10 дней)

Редкая хрень, если ты хоть раз писал тесты вживую - читать это не стоит, ибо написано исключительно ради бабла, тк бесконечные повторения, куча воды, какие-то отвлеченные размышления и откровенная дичь типа "шпионы отличаются от моков ИСКЛЮЧИТЕЛЬНО тем, что их нужно писать вручную". Вредная книга, особенно для начинающих.
[Профиль]  [ЛС] 

GoDotan

Стаж: 10 лет 7 месяцев

Сообщений: 2


GoDotan · 21-Окт-21 20:51 (спустя 26 дней)

Igowan писал(а):
82029515Редкая хрень, если ты хоть раз писал тесты вживую - читать это не стоит, ибо написано исключительно ради бабла, тк бесконечные повторения, куча воды, какие-то отвлеченные размышления и откровенная дичь типа "шпионы отличаются от моков ИСКЛЮЧИТЕЛЬНО тем, что их нужно писать вручную". Вредная книга, особенно для начинающих.
А что тогда читать, если это чушь полная?
[Профиль]  [ЛС] 

pavel_vivt

Стаж: 16 лет 3 месяца

Сообщений: 248


pavel_vivt · 23-Окт-21 17:46 (спустя 1 день 20 часов)

Отличная книга. Местами есть вода, но в целом книга норм.
Читал в бумаге.
Так же о книге положительно высказывались тестировщики, которые перешили сейчас в разработку.
[Профиль]  [ЛС] 

TimBack

Стаж: 11 лет 5 месяцев

Сообщений: 1


TimBack · 05-Дек-21 23:04 (спустя 1 месяц 13 дней)

GoDotan писал(а):
82162723
Igowan писал(а):
82029515Редкая хрень, если ты хоть раз писал тесты вживую - читать это не стоит, ибо написано исключительно ради бабла, тк бесконечные повторения, куча воды, какие-то отвлеченные размышления и откровенная дичь типа "шпионы отличаются от моков ИСКЛЮЧИТЕЛЬНО тем, что их нужно писать вручную". Вредная книга, особенно для начинающих.
А что тогда читать, если это чушь полная?
Не слушайте человека он либо не в себе либо спутал с чем то другим эту отличную книгу =)
[Профиль]  [ЛС] 

valuemanner

Стаж: 17 лет 1 месяц

Сообщений: 39


valuemanner · 25-Дек-23 10:41 (спустя 2 года, ред. 03-Мар-24 16:53)

Книга, безусловно, стоящая, но про пару недочётов сказать необходимо.
Нужно сперва разобраться в ужасном (местами) переводе и поверхностном освещении автором некоторых важных тем.
В книге идут многочисленные явные и неявные отсылки к классической монографии Gerard Meszaros / Джерард Месарош - xUnit Test Patterns Refactoring Test Code / Шаблоны тестирования xUnit. Рефакторинг кода тестов. Причём многие шаблоны Хориков переделал так, что новичики могут воспринять их ошибочно.
Например, призыв "Избегайте команд if в тестах" (раздел 3.1.3, стр. 67) с утверждением о необходимости разбить один тест, содержащий If, на несколько, делается в общих словах и без каких-либо примеров кода. Джуниоры едва ли поймут что именно им делать.
Между тем, это классический паттерн "Guard assertion" (xUnit), где решение подробно описано (см. стр. 510 из раздачи с Месарошем). Вместо хождения вокруг да около следовало прямо на него сослаться.
При этом Месарош не предлагал разбивать один тест на несколько, а рекомендовал считать if в качестве предусловия теста и заменить его на дополнительный assert.
В разделе 1.3.3 автор витиевато рассуждает о том, что вы не можете положиться на метрику branch coverage (тестирование if'ов и switch'ей) для определения качества тестов.
Новичок может воспринять сей совет как рекомендацию снизить количество тестов ветвления. В ответ на это приведу цитату изобретателя методологии Test-Driven Development Кента Бека (стр. 196 из другой раздачи): "Тестировать следует: условные операторы; циклы; операции; полиморфизм. Однако только те из них, которые вы написали сами. Не тестируйте чужой код, если только у вас нет причин не доверять ему." Т. е. к библитекам Microsoft можно делать вызовы без тестов этих самых библитек. А к библиотеке Васи Пупкина нужны отдельные тесты.
Что такое операция - смотрите на стр. 125 книги Хорикова.
А вот цитата Мартина Фаулера из главы 4 "Создание тестов" из книги "Рефакторинг: улучшение существующего кода" (стр. 118): "Наша задача - найти ошибки, которые могут возникнуть сейчас или в будущем. Поэтому я, например, не проверяю методы доступа, осуществляющие лишь чтение или запись поля: они настолько просты, что вряд ли в них обнаружится ошибка."
Test spy, или, как его называет автор, "Шпион", описан в книге в виде нестандартной реализации со встроенными утверждениями (asserts). В оригинале у Месароша Test Spy внутри себя assert'ов не имеет, утверждения вызываются непосредственно в теле теста (см. стр. 552 из раздачи с Месарошем). На работу теста это не повлияет, но путаницы добавит, особенно при общении с другими разработчиками, которые будут смотреть ваш код.
Книга Хорикова не рассчитана на новичков, автор постоянно (хотя и неосмысленно) даёт понять, что у читателя должен быть опыт работы с xUnit.
До прочтения этой книги желательно изучить литературу по xUnit (например, Месароша), а также разобраться, как тестировать коллекции, циклы и полиморфизм. По последним трём пунктам есть отличная книга Hunt A., Thomas D. - Pragmatic Unit Testing in C# with NUnit, 2nd Edition [2007, PDF, ENG]
UPD:
На обратной стороне обложки бумажной версии заметил такую фразу: "Книга предназначена для читателей, владеющих основами юнит-тестирования." В раздаче страницы с этой фразой нет. Короче не для новичков эта книга.
[Профиль]  [ЛС] 
 
Ответить
Loading...
Error