С какими инструментами для тестирования вы работали?
Что проверяют
Интервьюеру важен не список логотипов, а понимание, какой инструмент на каком уровне тестирования работает и зачем. Следом обычно просят описать, как бы вы протестировали конкретный компонент с запросом к API и что в этом тесте замокаете.
Как отвечать
Раскладывайте опыт по уровням и к каждому давайте пример из своего проекта:
- юнит и компонентные тесты:
Vitestв проектах на Vite,Jestв более старых кодовых базах. Для компонентовReact Testing Library(илиVue Test Utils) плюс@testing-library/user-event, окружениеjsdomилиhappy-dom; - моки сети:
MSWперехватывает запросы на уровне сети, поэтому один набор обработчиков работает и в тестах, и в Storybook, а компонент не знает, что его обманывают; - e2e:
PlaywrightилиCypress, настоящий браузер, сценарии вроде «вошёл, добавил в корзину, оплатил».Seleniumна фронтенде сейчас встречается в основном у отдельных QA-команд; - визуальная регрессия и доступность: скриншоты через
toHaveScreenshotв Playwright или Chromatic, проверкиaxe-core; - статика: TypeScript и ESLint тоже ловят ошибки, в разговоре о качестве их уместно упомянуть.
Сильный ответ звучит конкретно: «около 400 тестов на Vitest и RTL, 30 сценариев на Playwright в CI, прогон занимает 6 минут». Цифры берите свои, а не придуманные. Если e2e вы сами не писали, так и скажите: «запускал и чинил упавшие, а сценарии писали тестировщики», и объясните, как они устроены. Это честнее и убедительнее выдуманного опыта.
Где спотыкаются
Перечисляют инструменты без уровней и назначения. Фраза «Cypress для UI, Selenium для e2e» выдаёт путаницу: оба работают через браузер и решают одну задачу.
Тестируют детали реализации: внутренний state, имена классов, вызовы внутренних функций. Такой тест ломается при любом рефакторинге. Testing Library подталкивает искать элементы так, как их видит пользователь: getByRole, getByLabelText.
Лечат нестабильные e2e паузами вроде cy.wait(5000) или waitForTimeout. Правильнее ждать конкретное состояние: появление элемента, завершение запроса. И Playwright, и Cypress умеют это из коробки.