Голосов: 0
#1
Авторы: Chris Hartjes and Alexey Pyltsyn
Язык: русский
Формат: издательский pdf
Описание:
Узнайте, как сердитый программист подходит к тестированию PHP-приложений, рассматривая как технические, так и базовые навыки, которые необходимо изучить, чтобы тестирование стало для вас обычным делом, а не проблемой.
О книге:
В течение долгих лет я пытаюсь людям помочь тестировать PHP-код, я начал заниматься этим так давно, что некоторые из вас не начали свою карьеру. PHPUnit ещё не был создан, наиболее часто используемой версией PHP была 5.0, а социальные сети были в новинку. GMail только начали использовать. Моей первой поисковой системой была Altavista. Вот в такое далёкое время я учился тестированию.
Мне кажется, что смысл тестирования трудно объяснить начинающим программистам: "мы собираемся написать код, который должен убедиться, что другой код работает так, как мы ожидаем". В основе всего этого лежит предположение, что вы уже понимаете, как писать приложения на выбранном вами языке! Поэтому тестированию крайне трудно обучить начинающих или неопытных программистов. Если к этому прибавить, что PHP не навязывает вам структуру и организацию кода, получается, что те, кто по-настоящему мотивирован, узнают о тестировании.
Руководство сердитого программиста по тестированию PHP-приложений — это мой способ помочь разработчикам, которые хотят стать более ориентированными на тестирование и воспользоваться преимуществами автоматизированного тестирования и связанных с ним инструментов. Я считаю, что, изучив навыки (как технические, так и основные), связанные с тестированием, вы сможете писать тесты на любом фреймворке тестирования для практически любого PHP-приложения.
В книге собран весь материал из моих предыдущих книг, добавлено кое-что новое и убраны устаревшие темы. Обширная тема тестирования разбита на более мелкие части, приводится множество примеров и объяснений подходов к тестированию приложений. Вот некоторые из тем, которые я затрагиваю:
Эта книга, к которой вы будете обращаться снова и снова, чтобы не только научиться тестировать собственные PHP-приложения, но и напомнить себе о приёмах и инструментов для успешной работы. Я всегда стремился к тому, чтобы больше людей тестировали свой код, чтобы мы могли сосредоточиться на решении проблем, а не на постоянном исправлении багов, которые можно было обнаружить раньше.
- Разработка через тестирование (TDD)
- Стратегии для тестирования уже после разработки
- Стратегии рефакторинга тестов
- Устройство работы PHPUnit
- Дополнительные инструменты и подходы, например, статический анализ и мутационное тестирование
- Изучение базовых навыков, необходимых для того, чтобы побудить других людей тестировать свой код
Содержание:
Продажник:
- Введение
- Меняем представление о тестах
- Это воронка, а не пирамида
- Тесты для клиентов и тесты для разработчиков
- Что такое тесты?
- Обязательный минимум
- Ручные тесты
- Полуавтоматизированные тесты с использованием реальных зависимостей
- Полуавтоматизированные тесты с использованием тестовых заглушек
- Автоматизированные тесты
- Выводы
- Как работает PHPUnit
- Общее представление
- Как установить PHPUnit?
- Исполнитель тестов PHPUnit
- Тестовые сценарии PHPUnit
- Тестовые заглушки
- Что такое тестовая заглушка?
- Пустышки
- Стабы
- Мок-объекты и шпионы
- Фейки
- Итоги
- Разработка через тестирование на личном опыте
- Используемый инструментарий
- Начало работы
- Первый тест
- Второй тест
- Создание ещё больше тест-кейсов
- Рефакторинг тестов
- Обработка неверных входных значений
- Итоги
- Разработка с последующим тестированием на примере
- В чём же разница?
- Какое должно быть поведение кода?
- Как протестировать код?
- Рефакторинг хелперов
- Тестирование API
- Валидация ответа
- Валидация схемы API
- Провайдеры данных
- Зачем нужно использовать провайдеры данных
- Первоначальные тесты
- Создание провайдеров данных
- Более сложные примеры
- Полезные приёмы при работе с провайдерами данных
- Итоги
- Обёртки
- Что такое обёртки
- Метатестирование
- Развитые инструменты уже есть
- Движущая сила опенсорса
- Доказательства, вселяющие надежду
- Тестирование уменьшает затраты на исправление багов
- Well-Documented Build Systems Encourage Continuous Deployment
- Замечательные вспомогательные инструменты
- Формирование культуры тестирования
- Главная цель
- Тесты везде
- Тесты на баги
- Тесты на новую функциональность
- Тесты для рефакторинга
- Выполнение код-ревью
- Согласованность в окружениях разработки
- Автоматизация — ваш друг
- Одинаковые языки и инструменты
- Одинаковые практики
- Доверие
- Начальная загрузка
- Начальная загрузка тестового окружения
- Автоматическая начальная загрузка
- Нет тестов? Нет проблем!
- Так почему же у нас нет тестов?
- Исправление багов с доказательствами
- Новая функциональность требует доказательств
- Наборы с тестами — это не серебряная пуля
- Никто не запускает тесты!
- Нехватка времени
- Тесты слишком медленные
- Монолитная начальная загрузка
- Общие тестовые окружения
- Тестирование – это часть работы
- Последствия упущенной выгоды
- Всё дело в людях
- Как дети в песочнице
- Недостаток хорошей документации
- Время на тесты не должно пугать
- Халтурщики вокруг меня
Для просмотра содержимого вам необходимо зарегистрироваться!Для просмотра содержимого вам необходимо зарегистрироваться!
Последнее редактирование модератором:
- Статус
- В этой теме нельзя размещать новые ответы.