Каталог
Обложка «Тесты, которым можно верить»

Bookcod · Рабочая редакция

Тесты, которым можно верить

От свойств программы к проверке системы

Учебник из 18 глав о проверке небольшого магазина: оракулы, границы, изоляция, свойства, двойники, реальные транзакции SQLite, доступ, форматы, повторы и управляемая конкуренция. Полный двухфайловый проект исполняется стандартным Python без сети и реальных платежей. Читатель получает рабочую модель заказа и тесты её отказов, учится проверять силу ожиданий и точно описывать оставшиеся риски. Браузер, аутентификация и внешние платёжные системы рассматриваются как отдельные границы, не реализованные в стенде.

  • Выводить независимые ожидания из договоров и граничных примеров.
  • Создавать изолированный набор unittest с понятными причинами отказа.
  • Выбирать свойства, двойники и настоящие интеграции по проверяемому риску.
  • Проверять rollback, повторы, права и определённый конфликт SQLite.
  • Исследовать чувствительность тестов и составлять честную приёмку.

Первая глава бесплатна. Полное издание готовится к выпуску; продажи пока не открыты.

Редакционное предложение

Три уровня одной темы

Выберите по подготовке и задаче. Все уровни входят в одну книгу.

Что нужно на входе

  • Переменные, функции, условия и исключения Python.

Что сможете проверить на практике

  • Выбрать оракул и границы.
  • Запустить изолированные именованные проверки.

Главы этого уровня

  1. Превращаем обещание в проверяемый договор
  2. Тест начинается с ожидаемого результата
  3. Границы сокращают число случайных проверок
  4. Из отдельных assert получается читаемый набор
  5. Изоляция данных делает проверки независимыми
  6. Неуспех превращается в объяснимый регрессионный случай

Учебный кейс

Граница количества как независимый оракул

Учебная миссия

Убейте правдоподобную мутацию

Решите кейс и миссию. Сравните результат с критериями и объясните ход решения.

Программа и задания ещё проходят предметную проверку. Pro обозначает сложность задач.

Оглавление

  1. Превращаем обещание в проверяемый договор
  2. Тест начинается с ожидаемого результата
  3. Границы сокращают число случайных проверок
  4. Из отдельных assert получается читаемый набор
  5. Изоляция данных делает проверки независимыми
  6. Неуспех превращается в объяснимый регрессионный случай
  7. Свойство проверяет целое семейство случаев
  8. Двойник управляет зависимостью, но не подтверждает её
  9. Граница компонентов требует настоящего договора
  10. Атомарность проверяется намеренным разрывом
  11. Отрицательный доступ проверяют вместе с отсутствием утечки
  12. Контракт данных проверяет форму и смысл
  13. Ожидание состояния вместо случайной паузы
  14. Порядок событий испытывают управляемым чередованием
  15. Чувствительность теста проверяют правдоподобной ошибкой
  16. Пределы ресурсов проверяют отдельно от правильного ответа
  17. Стратегия следует цене ошибки
  18. Результат проверки должен поддерживать решение о выпуске