StudyCode
К практике
НачальныйтестыunitTDD
🧪JuniorтестыunitTDDJestQA

Тестирование программного обеспечения

Пирамида тестов, unit/integration/e2e и TDD — как писать надёжный код.

Пирамида тестирования — нажми на уровень
← мало, дорого, медленномного, дёшево, быстро →
Язык примеров:
Шаг 1 из 3
1

Зачем нужны тесты

Жизнь без тестов

javascript
Изменил функцию → "работает у меня" → задеплоил → упало в проде → 3 часа ночи

Что дают тесты

Уверенность при рефакторинге — если тесты зелёные, ты не сломал то что работало.

Документация — тесты показывают как функция должна работать:

javascript
test('calculateTax: 0% для суммы до 10 000', () => {
  expect(calculateTax(5000)).toBe(0);
});
test('calculateTax: 13% для суммы от 10 000 до 100 000', () => {
  expect(calculateTax(50000)).toBe(6500);
});

Защита от регрессий — новая фича не должна ломать старую. CI/CD автоматически запускает тесты → нельзя задеплоить сломанный код.

Что тестировать в первую очередь

Не нужно 100% покрытия кода. Приоритет:

  1. Бизнес-логика (расчёты, правила, алгоритмы)
  2. Граничные случаи (пустой ввод, максимальное значение)
  3. Интеграции (авторизация, платежи)