1. Жизненный цикл тестирования и стратегия подготовки к техническому интервью
Жизненный цикл тестирования и стратегия подготовки к техническому интервью
Представьте, что вы приходите на собеседование в крупный финтех-проект. Рекрутер задает невинный вопрос: «С чего вы начнете тестирование новой фичи?». Если ваш ответ начинается с фразы «Я открою приложение и нажму кнопку», интервьюер мысленно ставит пометку «недостаточно системности». В мире коммерческой разработки тестирование — это не хаотичный поиск багов, а строго регламентированный процесс, вписанный в жизненный цикл разработки ПО (SDLC).
Место тестирования в современном SDLC
Современные IT-компании давно отошли от линейной модели Waterfall в пользу гибких методологий вроде Scrum. В Agile-среде тестирование перестало быть финальным этапом перед релизом. Оно интегрировано в каждый «спринт». Это означает, что Junior QA должен понимать не только как завести баг-репорт, но и как анализировать требования еще до того, как написана первая строчка кода.
Жизненный цикл тестирования (STLC) состоит из нескольких фаз: анализ требований, планирование, проектирование тестов, настройка окружения, выполнение и завершение. На техническом интервью часто проверяют понимание фазы анализа. Если вы обнаружите логическую дыру в документации (например, в ТЗ не указано, что делать, если пользователь ввел отрицательную сумму перевода), вы сэкономите компании тысячи долларов. Исправление ошибки на этапе дизайна в десятки раз дешевле, чем на этапе эксплуатации.
> «Чем раньше обнаружена ошибка, тем меньше стоимость её исправления. Ошибка, найденная в продакшене, может стоить в 100 раз дороже, чем та, что была выявлена на этапе анализа требований». > > Software Testing Life Cycle — Wikipedia
Стратегия подготовки к техническому интервью
Техническое интервью для Junior QA — это проверка трех составляющих: теоретической базы, владения инструментами (Postman, SQL) и «тестировочного мышления». Ваша задача — показать, что вы умеете декомпозировать сложную задачу на простые проверки.
Подготовка должна быть сфокусирована на практических сценариях. На интервью вас не попросят процитировать определение «регрессионного тестирования» по учебнику. Скорее, вас спросят: «У нас обновился модуль авторизации. Какие тесты вы прогоните в первую очередь и почему?». Здесь важно продемонстрировать понимание приоритетов. Сначала — Smoke-тестирование (проверка основной функции), затем — Critical Path (основные сценарии использования), и только потом — негативные тесты и проверка граничных значений.
Разбор сценария: Тестирование формы регистрации
Рассмотрим пошаговый процесс подготовки к тестированию стандартной формы регистрации пользователя (Email, Пароль, Подтверждение пароля).
Шаг 1: Анализ требований. Прежде чем писать тесты, уточните детали. Какой длины может быть пароль? Какие символы разрешены? Должен ли Email быть уникальным? На интервью этот шаг показывает вашу дотошность.
Шаг 2: Применение техник тест-дизайна. Не нужно проверять пароли длиной 8, 9, 10, 11 символов. Используйте эквивалентное разделение и анализ граничных значений. Если лимит 8–16 символов, проверьте 7 (негатив), 8 (граница), 12 (позитив), 16 (граница) и 17 (негатив).
Шаг 3: Проверка логики и безопасности. Попробуйте зарегистрировать уже существующий Email. Проверьте, маскируется ли пароль при вводе (звездочки вместо символов). Посмотрите, как форма реагирует на SQL-инъекции в поле ввода (это мостик к вашим знаниям SQL).
Шаг 4: Кроссбраузерность и адаптивность. Как форма ведет себя на iPhone Safari и на десктопном Chrome? Не «едет» ли верстка при разрешении ?
Шаг 5: Ожидаемый результат. Для каждого теста четко сформулируйте, что должно произойти. Например: «Система выдает ошибку "Пароль слишком короткий", кнопка "Зарегистрироваться" заблокирована».
Ловушки и типичные ошибки новичков
Частая ошибка на интервью — зацикливание на UI-тестировании. Кандидат долго рассказывает, как он будет проверять цвет кнопки или шрифт. В реальности современный QA тратит 70% времени на проверку того, что «под капотом»: API и базы данных. Если кнопка красивая, но после нажатия данные не улетают на сервер или сохраняются в базе с ошибкой — тест провален.
Еще одно заблуждение — стремление найти «все баги». Важно понимать концепцию исчерпывающего тестирования: оно невозможно. Ваша цель — обеспечить достаточное качество продукта в рамках имеющегося времени и ресурсов. На вопрос «Когда вы остановите тестирование?» правильный ответ базируется на критериях выхода (Exit Criteria), прописанных в тест-плане, а не на ощущении, что «багов больше нет».
Если вы претендуете на позицию Junior, будьте готовы к «задачкам на карандаш». Вам дадут физический объект (лифт, банкомат, зажигалку) и попросят протестировать его. Не теряйтесь. Сразу делите проверки на функциональные, нефункциональные (нагрузка, удобство, безопасность) и локализацию. Это покажет вашу структурность.