Moment.School

QA-инженер с нуля: чем занимается тестировщик и как войти в профессию

Что делает QA-инженер в течение дня, как выглядят тест-кейс и баг-репорт, что учить по этапам и почему «лёгкий вход в IT» через тестирование стал труднее.

Редакция Moment School9 мин чтения

Про тестирование обычно слышат одно и то же: это самый простой вход в IT, программировать не надо, справится любой внимательный человек. Отчасти это правда, отчасти устарело. Мы написали эту статью для тех, кто думает стать QA-инженером с нуля и хочет понять, чем тестировщик занят на самом деле, какие навыки спрашивают на первой работе и сколько времени уходит на подготовку, если учиться по вечерам.

Чем занят тестировщик в течение дня

Распространённое представление: тестировщик сидит и нажимает кнопки, пока что-нибудь не сломается. В действительности нажатий в работе меньше всего.

Обычный день в продуктовой команде выглядит примерно так. Утром короткий созвон: кто что делает, что сегодня уходит в тестирование. Затем QA-инженер читает описание новой функции, например оплаты подарочным сертификатом, и ищет в нём дыры ещё до того, как написана первая строка кода. Что будет, если сертификат покрывает заказ не полностью? А если он истёк, пока товар лежал в корзине? Можно ли применить два сертификата сразу? Вопросы уходят аналитику и разработчику, и часть ошибок так и не появляется на свет.

Дальше идёт проектирование проверок: список того, что нужно проверить, и на каких данных. Потом сами проверки в браузере, в мобильном приложении, через запросы к серверу. Найденные ошибки оформляются в баг-репорты. Когда разработчик исправил ошибку, её перепроверяют, а перед выпуском проходят регресс, то есть убеждаются, что новая функция не сломала старые.

Отсюда и разница в названиях. Тестировщик в узком смысле ищет ошибки в готовом. QA, quality assurance, отвечает за то, чтобы ошибок появлялось меньше: участвует в обсуждении требований, следит за процессом выпуска. На практике в вакансиях эти слова используют как синонимы, и для новичка различие не принципиально.

Один из базовых принципов профессии сформулирован в программе международной сертификации ISTQB Foundation Level: исчерпывающее тестирование невозможно. Проверить всё нельзя, поэтому главное умение тестировщика состоит в выборе: что проверять в первую очередь и почему.

Как выглядят рабочие документы

Два документа новичок должен уметь писать с первого дня. Оба стоит потренировать до любых курсов.

Тест-кейс описывает одну проверку так, чтобы её мог повторить другой человек:

ID: PAY-014
Название: Оплата заказа сертификатом, номинал меньше суммы заказа
Предусловия: пользователь авторизован; в корзине товар на 3 000;
             есть активный сертификат на 1 000
Шаги:
  1. Перейти в корзину, нажать «Оформить заказ»
  2. В поле «Подарочный сертификат» ввести код сертификата
  3. Нажать «Применить»
Ожидаемый результат:
  - сумма к оплате уменьшилась до 2 000
  - под полем показан остаток сертификата: 0
  - кнопка «Оплатить» активна, доплата возможна картой

Баг-репорт описывает найденную ошибку так, чтобы разработчик воспроизвёл её без единого вопроса:

Заголовок: Сертификат списывается повторно после возврата
           на шаг корзины кнопкой «Назад» в браузере
Окружение: тестовый стенд, Chrome (указать точную версию), Windows 11
Серьёзность: высокая (покупатель теряет деньги)
Шаги:
  1. Добавить в корзину товар на 3 000
  2. Применить сертификат на 1 000, перейти к оплате
  3. Нажать «Назад» в браузере
  4. Снова нажать «Оформить заказ»
Фактический результат: сумма к оплате 1 000, с сертификата
  списано 2 000 при номинале 1 000 (баланс −1 000)
Ожидаемый результат: сумма к оплате 2 000, с сертификата
  списано 1 000
Приложено: видео, ответ сервера из вкладки Network

В хорошем баг-репорте нет слов «не работает» и «иногда». Есть шаги, после которых ошибка появляется каждый раз, и два результата рядом: что произошло и что должно было произойти. Заголовок отвечает на три вопроса: что сломалось, где и при каких условиях.

Потренироваться можно на открытых учебных площадках, созданных специально для тестировщиков. Интернет-магазин Swag Labs содержит намеренно оставленные ошибки в интерфейсе. Сервис Restful-Booker устроен так же, но для проверки API: в нём тоже спрятаны баги, а данные сбрасываются каждые десять минут.

Ручное тестирование и автоматизация

Ручной тестировщик проверяет продукт сам. Автоматизатор пишет программы, которые выполняют проверки за него: открывают страницу, вводят данные, сравнивают результат с ожидаемым. Автотесты запускаются при каждом изменении кода и ловят то, что человек устал бы перепроверять.

Начинают почти всегда с ручного тестирования, и это правильный порядок. Автотест проверяет ровно то, что в него заложили, поэтому сначала нужно научиться придумывать проверки.

Но есть неудобная правда. Вакансий, где от новичка ждут только ручных проверок, немного, а откликов на каждую много: тестирование давно рекламируют как лёгкий вход, и этой дорогой идут очень многие. Кандидат, который умеет работать с API и написал хотя бы десяток автотестов, выделяется на этом фоне. Поэтому мы считаем основы автоматизации частью стартового набора, а не темой «на потом».

Что нужно уметь к первому отклику

Область Что именно Инструменты
Теория Виды тестирования, техники проектирования проверок: классы эквивалентности, граничные значения Конспект и собственные примеры
Документация Чек-листы, тест-кейсы, баг-репорты Jira или любая система задач, таблицы
Веб Как браузер общается с сервером, коды ответов, cookies, где смотреть ошибки Chrome DevTools
API Методы HTTP, структура запроса и ответа, JSON, проверка без интерфейса Postman
Данные Простые запросы, чтобы проверить, что записалось в базу SQL: SELECT, WHERE, JOIN
Автоматизация Переменные, функции, условия; первые тесты API и интерфейса Python, pytest, Playwright или Selenium
Командная работа Ветки, коммиты, как устроен выпуск версии Git, GitHub

Английский нужен на уровне чтения документации: интерфейсы инструментов и сообщения об ошибках на нём.

План входа по этапам

При шести–восьми часах в неделю подготовка занимает около трёх месяцев до первых откликов. Поиск работы идёт отдельно и обычно длится не меньше, чем сама учёба.

Недели 1–2. Основы. Виды тестирования, классы эквивалентности и граничные значения. Чек-лист для знакомого вам сайта, первые десять тест-кейсов.

Недели 3–4. Веб и баг-репорты. DevTools, вкладки Console и Network. Протестируйте учебный магазин и оформите пять-семь найденных ошибок.

Недели 5–6. API и SQL. Коллекция запросов в Postman к учебному API с проверками ответа. Базовые запросы SELECT.

Недели 7–9. Python и pytest. Основы языка в объёме, нужном для тестов; что можно пока пропустить, мы описали в плане по Python на 8 недель. Десять–пятнадцать автотестов того же API.

Недели 10–12. Портфолио и собеседования. Репозиторий на GitHub: тестовая документация, коллекция Postman, автотесты и README с объяснением, что и зачем проверялось. Как показать такие работы, читайте в статье про портфолио без опыта.

По той же логике, от ручных проверок к первым автотестам, построена программа курса «QA-инженер» в Moment School.

Где обычно ломается

Теория без практики. Человек месяц читает про виды тестирования и ни разу не оформил баг. На собеседовании просят протестировать форму входа или обычный карандаш, и выясняется, что применить знания он не может.

Портфолио из чужих шаблонов. Одинаковые тест-кейсы на форму регистрации есть у сотен кандидатов. Запоминается работа, где видно ваше мышление: почему выбраны эти проверки, что вы сочли рискованным, какой баг нашли там, где его не ждали.

Страх перед кодом. Многие приходят в тестирование как раз потому, что не хотят программировать, и откладывают автоматизацию на неопределённое время. Для тестов нужна небольшая часть языка, её осваивают за несколько недель.

Отклики только на вакансии «без опыта». Таких мало. Часто первый рабочий опыт дают стажировки, краудтестинговые платформы и тестирование в небольших студиях, где названия должности junior QA может не быть вовсе.

Кому профессия не подойдёт

Тем, кто плохо переносит однообразие. Регресс перед выпуском может означать сотню одних и тех же проверок каждые две недели, пока их не автоматизировали.

Тем, кому тяжело сообщать неприятное. Тестировщик регулярно говорит разработчику, что в его работе ошибка, а менеджеру, что выпускать сегодня нельзя. Делать это нужно спокойно, с фактами и без обид с обеих сторон.

Тем, кто хочет сам создавать продукт. Тестировщик улучшает чужую работу. Если вам важно увидеть на экране сделанное своими руками, смотрите в сторону разработки или дизайна.

И тем, кто рассчитывает на быстрый результат. Вход по объёму знаний действительно короче, чем в разработку. Но из-за конкуренции среди новичков поиск первой работы требует терпения и десятков откликов.

Что сделать на этой неделе

Откройте учебный магазин Swag Labs и потратьте на него два вечера. В первый составьте чек-лист из двадцати проверок для корзины и оформления заказа. Во второй пройдите по нему и оформите три найденные ошибки по образцу из этой статьи. Затем покажите баг-репорты знакомому, далёкому от IT, и попросите воспроизвести ошибку по вашим шагам.

Если он справился без вопросов, у вас получается главное в профессии. А по собственным ощущениям вы поймёте, нравится ли вам такая работа, раньше, чем заплатите за обучение.

Частые вопросы

Нужен ли сертификат ISTQB, чтобы устроиться?

Для первой работы обычно нет: смотрят на портфолио и на то, как вы рассуждаете на собеседовании. Но программа Foundation Level лежит в открытом доступе, и её стоит прочитать как хороший конспект теории и общий словарь профессии.

Можно ли работать тестировщиком совсем без программирования?

Начать можно, ручные проверки останутся частью работы. Но рост и по задачам, и по доходу связан с автоматизацией, поэтому основы Python лучше освоить до поиска работы, чем после.

Не заменят ли тестировщиков нейросети?

Нейросети уже помогают: предлагают варианты проверок, пишут заготовки автотестов, разбирают логи. Решать, что важно проверить в конкретном продукте, и отвечать за результат по-прежнему приходится человеку. При этом кода, написанного с помощью ИИ, становится больше, и проверять его тоже кому-то нужно. Новичку стоит уметь пользоваться этими инструментами и перепроверять всё, что они выдают.

Сколько времени занимает поиск первой работы?

Зависит от портфолио, уровня английского и количества откликов; честной общей цифры нет. Разумно закладывать несколько месяцев и не уходить с текущей работы заранее. Как готовиться к разговору с работодателем, мы описали в статье о собеседовании на первую удалённую работу.

Курс по теме
QA-инженер

Тестирование сайтов и приложений: от ручных проверок и баг-репортов до первых автотестов на Python.

Нашли ошибку или неточность? Напишите на hello@momentschool.com — проверим и исправим.