1. Погружение в IT: Роль QA, жизненный цикл ПО и твой первый рабочий день в симуляторе
Погружение в IT: Роль QA, жизненный цикл ПО и твой первый рабочий день в симуляторе
Приветствую тебя, путник! Ты стоишь у ворот огромного и шумного города под названием IT. Твоя цель — стать не просто жителем этого города, а настоящим стражем порядка, героем, который не пропускает хаос и баги в мир пользователей. Твоя профессия — QA-инженер.
Многие думают, что тестировщик — это тот, кто просто «тыкает кнопки» и ломает программы. Но это миф. Ты — детектив, дипломат и инженер в одном лице. Сегодня мы разберемся, в чем на самом деле заключается твоя миссия, как создаются программы и даже проживем твой первый виртуальный рабочий день.
Готов? Надевай доспехи (или удобное худи), мы начинаем.
Уровень 1: QA, QC и Тестирование — в чем разница?
Прежде чем мы возьмем в руки меч (клавиатуру), давай разберемся с терминами. В вакансиях ты часто видишь QA (Quality Assurance), но иногда встречается QC (Quality Control) или просто Тестировщик. Это одно и то же? Нет.
Представь, что мы строим автомобиль на заводе.
1. Тестирование (Testing)
Это процесс проверки конкретной детали. Работает ли двигатель? Крутится ли колесо? Загорается ли фара, если нажать кнопку?> Тестирование — это поиск несоответствия между тем, что ожидалось, и тем, что получилось по факту.
2. Контроль качества (QC — Quality Control)
Это проверка готового продукта или его части перед тем, как отдать его покупателю. QC-специалист проверяет, соответствует ли собранный автомобиль чертежам. Он не влияет на то, как собирали машину, он лишь отсеивает брак в конце конвейера.3. Обеспечение качества (QA — Quality Assurance)
А вот это — твой уровень, уровень Героя. QA — это выстраивание процессов так, чтобы брак не появился вовсе. QA-инженер смотрит на чертежи до начала сборки и говорит: «Ребята, если мы поставим квадратные колеса, машина не поедет. Давайте исправим это сейчас».Итог: * Тестировщик ищет баги. * QC проверяет продукт перед выпуском. * QA налаживает процесс разработки, чтобы багов было как можно меньше.
В реальности, будучи Junior QA, ты будешь заниматься и тестированием, и элементами QC, но твоя глобальная цель — мыслить как QA.
!Визуализация вложенности понятий: Тестирование является частью QC, а QC является частью QA
Уровень 2: Жизненный цикл ПО (SDLC)
Любая программа, будь то калькулятор или Instagram, проходит путь от идеи до смерти (или вечной поддержки). Этот путь называется SDLC (Software Development Life Cycle).
Понимание этого цикла — твоя карта местности. Если ты не знаешь, где находишься, ты не сможешь найти баги.
Основные этапы SDLC:
!Этапы жизненного цикла программного обеспечения
Где место QA?
Новичок скажет: «На этапе 4, Тестирование». Профессионал скажет: «На каждом этапе».
* На этапе Идеи ты проверяешь требования: «А что будет, если дрон врежется в дерево? Это описано?» * На этапе Дизайна ты смотришь макеты: «Кнопка 'Купить' перекрывает текст, это неудобно». * На этапе Разработки ты готовишь тест-кейсы (сценарии проверки).
Чем раньше ты найдешь ошибку, тем дешевле ее исправить. Исправить ошибку в требованиях стоит 1 доллар. Исправить ту же ошибку, когда код уже написан — 100 долларов. Исправить её после релиза, когда пользователи потеряли деньги — бесценно (в плохом смысле).
Уровень 3: Симулятор — Твой первый рабочий день
Добро пожаловать в компанию «PixelBank». Мы разрабатываем мобильный банк для геймеров. Ты только что устроился на позицию Junior QA Engineer. Волнуешься? Это нормально.
Давай проживем этот день.
09:00 — Утренний кофе и настройка окружения
Ты приходишь в офис (или открываешь ноутбук дома). Твоим главным оружием будет не меч, а Баг-трекер (обычно это Jira). Это система, где хранятся все задачи.10:00 — Daily Scrum (Стендап)
Вся команда собирается в кружок (или в Zoom) на 15 минут. Каждый отвечает на три вопроса:Твоя очередь: «Вчера я настраивал тестовое окружение. Сегодня планирую протестировать форму авторизации. Блокеров нет».
11:00 — Получение задачи
Ты открываешь Jira и видишь задачу (тикет):> Задача: Реализовать вход в приложение по номеру телефона. > Требования: > 1. Поле принимает только цифры. > 2. Длина номера — 11 знаков. > 3. Если номер верный — переход на экран ввода СМС.
Разработчик перевел задачу в статус "Ready for QA" (Готово к тестированию). Это значит, что код написан, и теперь твоя очередь искать уязвимости.
12:00 — Атака на форму (Тестирование)
Ты берешь в руки телефон с установленным приложением (тестовая сборка). Как ты будешь проверять?Позитивное тестирование (Путь героя): Ты вводишь правильный номер (11 цифр) и нажимаешь «Войти». Перешел на экран СМС? Отлично. Основной сценарий работает.
Негативное тестирование (Путь хаоса): А теперь ты пытаешься сломать систему. Ты задаешь себе вопросы: * А что, если я введу буквы? * А что, если я оставлю поле пустым? * А что, если я введу 100 цифр? * А что, если я выключу интернет и нажму кнопку?
И вдруг... БАМ! Ты вводишь спецсимволы %%%, нажимаешь «Войти», и приложение вылетает (крашится).
14:00 — Оформление баг-репорта
Ты нашел баг! Это твоя первая добыча. Но просто крикнуть «Оно не работает!» нельзя. Нужно оформить протокол.Ты создаешь баг-репорт в Jira:
* Заголовок: Приложение падает при вводе спецсимволов в поле телефона.
* Шаги воспроизведения:
1. Открыть приложение.
2. Ввести %%% в поле телефона.
3. Нажать «Войти».
* Ожидаемый результат: Появится сообщение «Введите корректный номер».
* Фактический результат: Приложение закрывается с ошибкой.
17:00 — Общение с разработчиками
Разработчик Вася пишет тебе: «Слушай, это не баг, это фича! Кто будет вводить проценты в номер телефона?»Твоя задача — мягко, но твердо объяснить, что пользователь может случайно нажать не туда, и приложение не должно от этого умирать. Это и есть Soft Skills (гибкие навыки), которые для QA важны не меньше, чем умение находить ошибки.
Итоги дня
Ты выжил. Ты нашел критическую ошибку. Ты спас компанию от гнева пользователей, у которых приложение вылетело бы при случайном нажатии.
Сегодня ты узнал:
В следующей статье мы разберем твой инвентарь: какие виды тестирования существуют и как правильно составлять тест-кейсы, чтобы не пропустить ни одного бага.
Отдыхай, герой. Завтра новый бой!