QA-тестирование: с чего начать в 2026

Полный гайд по старту в QA: теория тестирования, ручное тестирование, автоматизация, API тестирование. Пошаговый план обучения и практические примеры.

Автор — Дмитрий Тыльный, Senior DevOps · 27 января 2026 · 25 мин
QA-тестирование: с чего начать в 2026

Введение: что такое QA

QA (Quality Assurance) — обеспечение качества программного обеспечения. QA-тестировщик проверяет, что продукт работает правильно и соответствует требованиям.

Что делает QA-тестировщик:

  • Проверяет функциональность продукта
  • Ищет баги и описывает их
  • Пишет тест-кейсы
  • Тестирует в разных браузерах и устройствах
  • Автоматизирует повторяющиеся проверки

Плюсы QA:

  • ✅ Хороший баланс сложности входа и зарплаты
  • ✅ Много вакансий для новичков
  • ✅ Не нужно сразу программировать (для ручного тестирования)
  • ✅ Можно работать удаленно
  • ✅ Хороший карьерный рост

Минусы:

  • ❌ Много рутины в ручном тестировании
  • ❌ Нужна внимательность к деталям
  • ❌ Для роста нужно изучать автоматизацию

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

Теория тестирования — это основы, которые нужно знать каждому QA.

Виды тестирования

По уровню:

  • Модульное — тестирование отдельных компонентов
  • Интеграционное — тестирование взаимодействия компонентов
  • Системное — тестирование всей системы
  • Приемочное — тестирование с точки зрения пользователя

По типу:

  • Функциональное — проверка функций продукта
  • Нефункциональное — производительность, безопасность, удобство

По способу выполнения:

  • Ручное — тестирование вручную
  • Автоматизированное — тестирование через скрипты

Техники тестирования

Эквивалентное разбиение: разделение входных данных на группы эквивалентных значений.

Граничные значения: тестирование на границах диапазонов (минимум, максимум, значения за границами).

Таблица решений: тестирование комбинаций условий.

Жизненный цикл бага

  1. Новый — баг найден, создан отчет
  2. Назначен — баг назначен разработчику
  3. В работе — разработчик исправляет
  4. Исправлен — баг исправлен, нужна проверка
  5. Проверен — QA проверил исправление
  6. Закрыт — баг закрыт
  7. Отклонен — баг не воспроизводится или не является багом

Ручное тестирование

Ручное тестирование — это проверка продукта вручную, без автоматизации.

Тест-кейсы

Тест-кейс — это документ с описанием шагов для проверки функции.

Структура тест-кейса:

  • ID тест-кейса
  • Название
  • Предусловия
  • Шаги выполнения
  • Ожидаемый результат
  • Приоритет

Пример тест-кейса:

ID: TC-001
Название: Авторизация с валидными данными

Предусловия:
- Пользователь зарегистрирован
- Открыта страница авторизации

Шаги:
1. Ввести email: user@example.com
2. Ввести пароль: password123
3. Нажать кнопку "Войти"

Ожидаемый результат:
- Пользователь авторизован
- Открыта главная страница
- Отображается имя пользователя

Приоритет: Высокий

Баг-репорты

Баг-репорт — это описание найденной проблемы.

Структура баг-репорта:

  • Название бага
  • Описание проблемы
  • Шаги воспроизведения
  • Ожидаемый результат
  • Фактический результат
  • Приоритет (Критический, Высокий, Средний, Низкий)
  • Окружение (браузер, ОС, версия)
  • Скриншоты/видео

Пример баг-репорта:

Название: Кнопка "Отправить" не работает на странице контактов

Описание:
При заполнении формы обратной связи и нажатии кнопки "Отправить" ничего не происходит.

Шаги воспроизведения:
1. Открыть страницу /contacts
2. Заполнить все поля формы
3. Нажать кнопку "Отправить"

Ожидаемый результат:
Форма отправляется, показывается сообщение об успехе

Фактический результат:
Ничего не происходит, форма не отправляется

Приоритет: Высокий
Окружение: Chrome 120, Windows 11
Скриншот: [прикреплен]

Инструменты для ручного тестирования

  • Jira — управление тест-кейсами и багами
  • TestRail — управление тест-кейсами
  • Bugzilla — трекинг багов
  • Browser DevTools — инструменты разработчика в браузере

Автоматизация тестирования

Автоматизация — написание скриптов для автоматической проверки продукта.

Selenium

Selenium — инструмент для автоматизации браузера.

Установка:

pip install selenium

Пример теста на Python:

from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC

driver = webdriver.Chrome()
driver.get("https://example.com")

# Найти элемент и кликнуть
button = driver.find_element(By.ID, "submit")
button.click()

# Ожидание элемента
wait = WebDriverWait(driver, 10)
element = wait.until(EC.presence_of_element_located((By.ID, "result")))

# Проверка
assert "Успех" in element.text

driver.quit()

Playwright

Playwright — современная альтернатива Selenium, быстрее и надежнее.

Установка:

pip install playwright
playwright install

Пример теста:

from playwright.sync_api import sync_playwright

def test_login():
    with sync_playwright() as p:
        browser = p.chromium.launch()
        page = browser.new_page()
        page.goto("https://example.com")
        
        page.fill("#email", "user@example.com")
        page.fill("#password", "password123")
        page.click("#submit")
        
        assert "Добро пожаловать" in page.text_content("#welcome")
        
        browser.close()

Pytest

Pytest — фреймворк для написания тестов на Python.

Установка:

pip install pytest

Пример теста:

def test_addition():
    assert 2 + 2 == 4

def test_string():
    assert "hello".upper() == "HELLO"

API тестирование

API тестирование — проверка работы API (Application Programming Interface).

Postman

Postman — инструмент для тестирования API.

Базовые операции:

  • Отправка GET-запросов
  • Отправка POST-запросов с данными
  • Проверка ответов
  • Создание коллекций тестов

Пример теста в Postman:

// В разделе Tests
pm.test("Status code is 200", function () {
    pm.response.to.have.status(200);
});

pm.test("Response has user data", function () {
    var jsonData = pm.response.json();
    pm.expect(jsonData).to.have.property('id');
    pm.expect(jsonData).to.have.property('name');
});

Тестирование API на Python

import requests

def test_get_user():
    response = requests.get("https://api.example.com/users/1")
    assert response.status_code == 200
    data = response.json()
    assert data["id"] == 1
    assert "name" in data

def test_create_user():
    data = {"name": "Иван", "email": "ivan@example.com"}
    response = requests.post("https://api.example.com/users", json=data)
    assert response.status_code == 201
    assert response.json()["name"] == "Иван"

Карьерный путь в QA

Junior QA (ручное тестирование):

  • Ручное тестирование
  • Написание тест-кейсов
  • Баг-репорты
  • Работа с Jira

Middle QA (ручное + автоматизация):

  • Все из Junior
  • Автоматизация тестов
  • Написание автотестов на Selenium/Playwright
  • API тестирование

Senior QA / QA Lead:

  • Все из Middle
  • Планирование тестирования
  • Управление командой QA
  • Внедрение процессов тестирования

Практические проекты

Проект 1: Тестирование реального сайта

  • Выберите сайт (например, интернет-магазин)
  • Напишите 20+ тест-кейсов
  • Протестируйте и найдите баги
  • Опишите баги в баг-репортах
  • Опубликуйте на GitHub

Проект 2: Автотесты на Selenium/Playwright

  • Напишите автотесты для проверки авторизации
  • Напишите автотесты для проверки формы
  • Используйте Page Object Model
  • Опубликуйте на GitHub

Проект 3: API тестирование

  • Создайте коллекцию тестов в Postman
  • Напишите тесты на Python для API
  • Проверьте все эндпоинты
  • Опубликуйте на GitHub

Заключение

QA — хороший вход в IT. Начните с ручного тестирования, затем изучайте автоматизацию. Делайте проекты, публикуйте на GitHub.

План обучения (3-6 месяцев для ручного, 6-12 для автоматизации):

  1. Теория тестирования (1 месяц)
  2. Ручное тестирование (2-3 месяца)
  3. Автоматизация (3-6 месяцев, параллельно с ручным)
  4. Проекты (2-3 месяца)

Следующие шаги:

  1. Изучите стек технологий для QA
  2. Начните делать проекты
  3. Составьте резюме

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

С чего начать в QA?
С ручного тестирования: теория, тест-дизайн, Jira, Postman и базовый SQL.

Нужно ли программировать?
Для ручного — почти нет; для автоматизации понадобятся основы кода и один инструмент.

Сколько до первой работы?
Часто 3–6 месяцев подготовки при регулярных занятиях.

Полезно? Подпишитесь на Telegram

Вступить в канал