awesome-everything EN
↑ Обратно к восхождению

Инженерная практика

TDD: свободное припоминание

Суть Промпты на свободное припоминание по юниту TDD. Сначала ответь своими словами, затем раскрой модельный ответ и сравни.
Высота — путь к senior
НольJuniorMiddleSenior
Ты на senior-высоте — в орбите
◷ 14 min

Припоминание сильнее перечитывания. На каждый промпт проговори или запиши полный ответ по памяти, прежде чем открыть модельный — именно усилие припоминания закрепляет материал.

Цель

Восстанови ключевые аргументы юнита — тест-сначала как давление на дизайн, правило границ для дублёров, четыре формы property, компромисс по стабильности спеки и почему mutation score честная метрика — не подглядывая в уроки.

Вспомните перед уходом
  1. 01
    Коллега говорит: «TDD это просто про поднятие покрытия — напишу тесты после, тот же результат». Каков ответ senior?
  2. 02
    Сформулируй правило границ для тестовых дублёров и решающий вопрос за ним.
  3. 03
    Назови четыре формы property и ситуацию, к которой подходит каждая.
  4. 04
    Почему property-тесты находят баги, которые example-набор с 94% покрытия не может, и что делает генерируемые тесты надёжными в CI?
  5. 05
    Какие две переменные определяют, окупается ли TDD, и как это отличает давление на дизайн от test-induced design damage?
  6. 06
    Как у модуля может быть 100% покрытия строк и 67% mutation score, и как senior внедряет mutation testing с учётом его издержек?
Итог

Если ты смог восстановить каждый ответ по памяти, ты держишь спину юнита: тест-сначала — это давление на дизайн, потому что ты первым потребляешь свой API; правило границ (мокай то, что не можешь прогнать, реальные объекты для своего кода, проверяй состояние) укрощает дублёров и ловушку over-mocking; четыре формы property — round-trip, invariant, oracle, metamorphic — находят входы, что пропустили твои примеры, а shrinking и seed делают падения отлаживаемыми; налог TDD в 15–22% окупается пропорционально стабильности спеки и времени жизни кода, поэтому делай spike по неизвестному и отличай давление от damage; а mutation score честная метрика, потому что, в отличие от покрытия, его нельзя удовлетворить исполнением без assertion.

Продолжить восхождение ↑TDD: чтение кода и тестов
хоткеи развернуть
поиск
K
пред. пьеса
k
след. пьеса
j
тиры
t
это меню
?
sources3
expand
  1. 01
  2. 02
  3. 03

Trademarks belong to their respective owners. Editorial reference only.