Хартджес К., Пыльцын А. - Руководство сердитого программиста по тестированию PHP-приложений [2021, PDF, RUS]

Reply to topic
DL-List and Torrent activity
Size:  11 MB   |    Registered:  5 months 28 days   |    Completed:  1 time

Seeder not seen: 5 months 21 day

 
   
 
 
Author Message

Download WYSIWYG ®

Gender: Male

Longevity: 9 years

Posts: 1513

Post 27-Aug-2024 09:45

[Quote]

Руководство сердитого программиста по тестированию PHP-приложений
Год издания: 2021
Автор: Хартджес К., Пыльцын А.
Издательство: Leanpub
Язык: Русский
Формат: PDF
Качество: Издательский макет или текст (eBook)
Интерактивное оглавление: Да
Количество страниц: 130
Описание: Узнайте, как сердитый программист подходит к тестированию PHP-приложений, рассматривая как технические, так и базовые навыки, которые необходимо изучить, чтобы тестирование стало для вас обычным делом, а не проблемой.
Отсутствие координации между разработчиками и тестировщиками наряду с плохим взаимодействием в команде создало враждебную рабочую среду. Вы узнаете как это исправить из книги.

Примеры страниц (скриншоты)

Оглавление

Введение . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
Меняем представление о тестах . . . . . . . . . . . . . . . . . . 4
Это воронка, а не пирамида . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
Тесты для клиентов и тесты для разработчиков . . . . . . . . . . . . . . . . . . . . . . . . 7
Что такое тесты? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
Обязательный минимум . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
Ручные тесты . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
Полуавтоматизированные тесты с использованием реальных зависимостей . . . . . 11
Полуавтоматизированные тесты с использованием тестовых заглушек . . . . . . . . 11
Автоматизированные тесты . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
Выводы . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
Как работает PHPUnit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
Общее представление . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
Как установить PHPUnit? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
Исполнитель тестов PHPUnit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
Тестовые сценарии PHPUnit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
Тестовые заглушки . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
Что такое тестовая заглушка? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
Пустышки . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
Стабы . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
Мок-объекты и шпионы . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
Фейки . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
Итоги . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
Разработка через тестирование на личном опыте . . . . . . . . . . . . . . . . . . . . . 38
Используемый инструментарий . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
Начало работы . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
Первый тест . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
Второй тест . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
Создание ещё больше тест-кейсов . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
Рефакторинг тестов . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
Обработка неверных входных значений . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
Итоги . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
Разработка с последующим тестированием на
примере . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
В чём же разница? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
Какое должно быть поведение кода? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
Как протестировать код? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
Рефакторинг хелперов . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
Тестирование API . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
Валидация ответа . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
Валидация схемы API . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
Провайдеры данных . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
Зачем нужно использовать провайдеры данных . . . . . . . . . . . . . . . . . . . . . . . . 79
Первоначальные тесты . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
Создание провайдеров данных . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
Более сложные примеры . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82
Полезные приёмы при работе с провайдерами данных . . . . . . . . . . . . . . . . . . . 82
Итоги . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
Обёртки . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
Что такое обёртки . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
Метатестирование . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90
Развитые инструменты уже есть . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90
Движущая сила опенсорса . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
Доказательства, вселяющие надежду . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
Тестирование уменьшает затраты на исправление багов . . . . . . . . . . . . . . . . . . 92
Well-Documented Build Systems Encourage Continuous Deployment . . . . . . . . . . . . 93
Замечательные вспомогательные инструменты . . . . . . . . . . . . . . . . . . . . . . . . 94
Формирование культуры тестирования . . . . . . . . . 100
Главная цель . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100
Тесты везде . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100
Тесты на баги . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
Тесты на новую функциональность . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
Тесты для рефакторинга . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102
Выполнение код-ревью . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102
Согласованность в окружениях разработки . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
Автоматизация — ваш друг . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104
Одинаковые языки и инструменты . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104
Одинаковые практики . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
Доверие . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
Начальная загрузка . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107
Начальная загрузка тестового окружения . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108
Автоматическая начальная загрузка . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112
Нет тестов? Нет проблем! . . . . . . . . . . . . . . . . . . . . . . . . . . . 114
Так почему же у нас нет тестов? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114
Исправление багов с доказательствами . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114
Новая функциональность требует доказательств . . . . . . . . . . . . . . . . . . . . . . . 115
Наборы с тестами — это не серебряная пуля . . . . . . . . . . . . . . . . . . . . . . . . . . 116
Никто не запускает тесты! . . . . . . . . . . . . . . . . . . . . . . . . . . 117
Нехватка времени . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117
Тесты слишком медленные . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117
Монолитная начальная загрузка . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118
Общие тестовые окружения . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119
Тестирование – это часть работы . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119
Последствия упущенной выгоды . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120
Всё дело в людях . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122
Как дети в песочнице . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122
Недостаток хорошей документации . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123
Время на тесты не должно пугать . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123
Халтурщики вокруг меня . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124
[solely-soft.top].t200150.torrent
Torrent: Registered [ 2024-08-27 09:45 ] · 313871D7765FC80B2C049543A0C8DFD437C323B7

14 KB

Status: checked
Completed: 1 times
Size: 11 MB
Rate: 
(Vote: 0)
Have thanked: 1  Thanks   (List)
Хартджес К., Пыльцын А. - Руководство сердитого программиста по тестированию PHP-приложений [2021, PDF, RUS] download torrent for free and without registration
[Profile] [PM]
Display posts:    
Reply to topic

Current time is: 24-Feb 14:06

All times are UTC + 2



You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
You cannot attach files in this forum
You can download files in this forum