Bookcod · Рабочая редакция
Тесты, которым можно верить
От свойств программы к проверке системы
Учебник из 18 глав о проверке небольшого магазина: оракулы, границы, изоляция, свойства, двойники, реальные транзакции SQLite, доступ, форматы, повторы и управляемая конкуренция. Полный двухфайловый проект исполняется стандартным Python без сети и реальных платежей. Читатель получает рабочую модель заказа и тесты её отказов, учится проверять силу ожиданий и точно описывать оставшиеся риски. Браузер, аутентификация и внешние платёжные системы рассматриваются как отдельные границы, не реализованные в стенде.
- Выводить независимые ожидания из договоров и граничных примеров.
- Создавать изолированный набор unittest с понятными причинами отказа.
- Выбирать свойства, двойники и настоящие интеграции по проверяемому риску.
- Проверять rollback, повторы, права и определённый конфликт SQLite.
- Исследовать чувствительность тестов и составлять честную приёмку.
Первая глава бесплатна. Полное издание готовится к выпуску; продажи пока не открыты.
Редакционное предложение
Три уровня одной темы
Выберите по подготовке и задаче. Все уровни входят в одну книгу.
Что нужно на входе
- Переменные, функции, условия и исключения Python.
Что сможете проверить на практике
- Выбрать оракул и границы.
- Запустить изолированные именованные проверки.
Главы этого уровня
- Превращаем обещание в проверяемый договор
- Тест начинается с ожидаемого результата
- Границы сокращают число случайных проверок
- Из отдельных assert получается читаемый набор
- Изоляция данных делает проверки независимыми
- Неуспех превращается в объяснимый регрессионный случай
Учебный кейс
Граница количества как независимый оракул
Учебная миссия
Убейте правдоподобную мутацию
Решите кейс и миссию. Сравните результат с критериями и объясните ход решения.
Программа и задания ещё проходят предметную проверку. Pro обозначает сложность задач.
Оглавление
- Превращаем обещание в проверяемый договор
- Тест начинается с ожидаемого результата
- Границы сокращают число случайных проверок
- Из отдельных assert получается читаемый набор
- Изоляция данных делает проверки независимыми
- Неуспех превращается в объяснимый регрессионный случай
- Свойство проверяет целое семейство случаев
- Двойник управляет зависимостью, но не подтверждает её
- Граница компонентов требует настоящего договора
- Атомарность проверяется намеренным разрывом
- Отрицательный доступ проверяют вместе с отсутствием утечки
- Контракт данных проверяет форму и смысл
- Ожидание состояния вместо случайной паузы
- Порядок событий испытывают управляемым чередованием
- Чувствительность теста проверяют правдоподобной ошибкой
- Пределы ресурсов проверяют отдельно от правильного ответа
- Стратегия следует цене ошибки
- Результат проверки должен поддерживать решение о выпуске