Тестирование и качество
Тестовая стратегия и Go-инструменты для уверенных изменений без регрессий.
Результат модуля
После модуля вы можете объяснить ключевые понятия, выбрать подход под условия задачи и показать это на коде, запросе или архитектурной схеме.
Темы
- Unit/integration/contract/E2E; что проверять на каждом уровне.
- Table-driven tests, subtests, cleanup, parallel execution и deterministic fixtures.
- Mocks, stubs, fakes, spies; риск проверки implementation details.
- httptest, database/queue integration, testcontainers, migration and cleanup.
- Fuzzing, property tests, benchmarks, coverage и race detector.
- Code review: errors, concurrency, resources, security, compatibility, maintainability.
Минимум для E4
- Знать определения без заученных «магических» формулировок.
- Объяснять ограничения каждого подхода и называть минимум одну альтернативу.
- Приводить практический пример: код, схема, запрос или production-сценарий.
- Учитывать ошибки, наблюдаемость и безопасный rollout там, где это применимо.
Углубление для E5/Senior
- Оценивать масштаб, стоимость, эксплуатационные риски и совместимость изменений.
- Проектировать постепенную эволюцию решения, а не только целевую схему.
- Защищать решение через требования и измеримые trade-offs.
Типовые вопросы
- Когда mock ухудшает тест?
- Подготовьте ответ с примером из production или практики.
- Почему coverage 100% не означает качества?
- Подготовьте ответ с примером из production или практики.
- Как сделать integration test изолированным и быстрым?
- Подготовьте ответ с примером из production или практики.
Практика
- Покройте HTTP-handler unit tests, PostgreSQL repository integration tests и запустите весь набор с
-race. - Сформулируйте три частые ошибки по модулю и признаки их проявления.
- Добавьте в личные карточки определения и решения, которые не удалось воспроизвести без подсказки.
Связанные темы
Главная · Go · PostgreSQL · System Design · Интервью-практика
Источники
- Официальная документация используемого языка, БД или платформы.
- Production-документация команды и проверенные технические разборы.
- Конкретные ссылки добавляйте при наполнении темы, вместе с датой проверки актуальности.