Виды тестирования на собеседовании системного аналитика

Готовься к собесу аналитика как в Duolingo
10 минут в день — SQL, Python, A/B, метрики. 1700+ вопросов в Telegram
Открыть Карьерник в Telegram

Карьерник — Duolingo для аналитиков: 10 минут в день тренируй SQL, Python, A/B, статистику, метрики и ещё 3 темы собеса. 1500+ вопросов в Telegram-боте. Бесплатно.

Зачем спрашивают на собесе SA

SA участвует в приёмочном тестировании, пишет тест-кейсы, согласует AC. На собесе SA: «отличие unit и integration», «когда regression», «что такое UAT». Senior — нюансы testing strategy, automation, contract testing.

Уровни тестирования

Unit. Тестирует одну функцию / класс изолированно. Все зависимости — моки.

def test_calculate_total():
    cart = Cart()
    cart.add_item(Item("apple", 100))
    cart.add_item(Item("bread", 50))
    assert cart.total() == 150

Быстрые (мс), много (тысячи), запускаются на каждом коммите.

Integration. Тестирует взаимодействие модулей: с БД, с очередью, с другим сервисом.

  • Сервис ↔ БД (с реальной тестовой БД).
  • API ↔ внешний сервис (с моком или test instance).
  • Несколько модулей вместе.

Средняя скорость (секунды), сотни тестов.

System / End-to-End. Тестирует всю систему через UI / API.

Открыть страницу → залогиниться → положить в корзину → оформить → проверить email

Медленные (минуты), мало (десятки), хрупкие.

Acceptance. Проверяет соответствие requirements / AC.

  • UAT (User Acceptance Test) — стейкхолдеры проверяют.
  • BAT (Business Acceptance Test) — бизнес проверяет.

Виды по знанию системы

Black box. Тестировщик не знает внутренностей. Тестирует через input / output.

White box. Тестировщик знает код. Может проверить пути выполнения, edge cases в реализации.

Gray box. Знание частичное (схема БД, контракт API).

В современной разработке:

  • Dev пишет unit + integration (white box).
  • QA пишет E2E (gray / black).
  • Бизнес делает UAT (black).

Виды по цели

Functional — что должна делать.

  • Smoke. «Дым из выхлопа» — критические сценарии. Прошёл — система живая.
  • Sanity. Проверяет конкретный bug-fix или фичу.
  • Regression. После изменений — не сломали ли существующее.
  • Acceptance. Бизнес-правила.

Non-functional — характеристики.

  • Performance / Load. SLA по времени отклика при нагрузке.
  • Stress. За пределами лимитов — как падает.
  • Volume. Большие данные.
  • Endurance / Soak. Долгая работа без leaks.
  • Security. Penetration testing, OWASP проверки.
  • Usability. Удобство.
  • Accessibility. WCAG.
  • Compatibility. Браузеры, OS, devices.
  • Recovery. Восстановление после падений.
  • Localization. Перевод, форматы дат / валют.
Готовься к собесу аналитика как в Duolingo
10 минут в день — SQL, Python, A/B, метрики. 1700+ вопросов в Telegram
Открыть Карьерник в Telegram

Test pyramid и trophy

Test Pyramid (Mike Cohn).

        E2E   (мало)
       ▲▲▲▲
      Integration (среднее)
     ▲▲▲▲▲▲▲▲▲▲▲
    Unit (много)
   ▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲

Логика: unit — быстрые, дешёвые, надёжные. E2E — медленные, дорогие, хрупкие. Большинство тестов внизу.

Test Trophy (Kent C. Dodds).

       E2E
       ▲▲▲
       Integration  (больше веса)
      ▲▲▲▲▲▲▲▲▲▲▲
       Unit        (меньше)
       ▲▲▲▲▲
       Static
       ▲▲▲▲▲▲▲▲▲▲▲▲

Логика: на frontend integration tests дают больше уверенности при разумной скорости. Static (TS, ESLint) ловит баги без тестов.

В РФ-командах часто свой mix — pyramid для backend, trophy для frontend.

Роль SA в тестировании

На стадии анализа:

  • Пишет AC (по сути — тест-кейсы в зачаточной форме).
  • Описывает edge cases в требованиях.
  • Согласует test plan с QA.

На стадии разработки:

  • Отвечает на вопросы QA по требованиям.
  • Уточняет ambiguous AC.

На стадии тестирования:

  • Помогает с интеграционным test data setup.
  • Проводит UAT с бизнесом или фасилитирует.
  • Принимает приёмку (Demo).

После релиза:

  • Анализирует production bugs — что упустили в требованиях.
  • Обновляет AC / документацию.

Частые ошибки

Тестировать только happy path. Edge cases (empty input, large input, концурентность) — критичны.

Игнорировать non-functional. «Медленно» / «нестабильно» — это баг. Performance/load tests обязательны.

Только E2E. Хрупкие, медленные. Test pyramid важна.

Пропускать regression. После каждого release — авто-regression suite минимум.

UAT в last minute. Бизнес видит фичу за день до прода → нет времени менять. Подключать раньше.

Mock везде. Integration tests с реальной БД важнее, чем 100 unit с моком БД.

Не покрывать failure scenarios. «Сервис недоступен», «timeout» — типичные проблемы прода.

Связанные темы

FAQ

Severity vs priority?

Severity — степень дефекта (как сильно ломает). Priority — насколько срочно фиксить. Critical severity + low priority — баг ломает систему, но в обходной ситуации; до релиза — не блокер.

Что такое test plan?

Документ: scope, approach, resources, schedule. Высокоуровневый. Test cases — внутри test plan.

Можно ли автоматизировать UAT?

Частично. Автоматизировать E2E flows. Но финальное «бизнес доволен» всегда manual.

Это официальная информация?

Нет. Статья основана на ISTQB syllabus, материалах ISO/IEC/IEEE 29119 (testing standards).


Тренируйте системный анализ — откройте тренажёр с 1500+ вопросами для собесов.