Что такое тестирование ПО простыми словами
Первый урок без воды: чем занят тестировщик каждый день, за что ему платят и почему «покликать» — это не профессия.
Есть расхожая шутка: «тестировщик — это тот, кто ломает программы». Она красивая, но неправильная. Программу ломает не тестировщик, а ошибка, которая уже там лежит. Работа тестировщика — найти её раньше пользователя и рассказать о ней так, чтобы её починили.
Что вы будете делать на работе
Если убрать красивые слова, рабочий день тестировщика состоит из четырёх вещей.
- Разбираться, как должно работать. Читать требования, макеты, переписку с аналитиком. Половина найденных дефектов появляется здесь, ещё до того, как вы что-то нажали.
- Придумывать проверки. Не «потыкать», а осознанно выбирать, что именно проверить и почему именно это. Этому посвящён весь второй модуль курса.
- Проверять. Руками, в браузере, в мобильном приложении, через запросы к API, запросами к базе данных, глазами по макету.
- Сообщать о найденном. Баг-репорт, который разработчик может воспроизвести без вопросов, — это половина профессии. Плохо описанный дефект равен ненайденному.
За тестирование платят не за нажатия на кнопки, а за снижение риска. Вы отвечаете на вопрос бизнеса: «можно ли это выпускать и что случится, если да?»
Сколько стоит дефект
Один и тот же дефект стоит по-разному в зависимости от того, когда его нашли. Условная шкала, которую подтверждают все известные исследования отрасли:
| Когда нашли | Что нужно, чтобы исправить | Условная стоимость |
|---|---|---|
| На этапе требований | Поправить строчку в документе | ×1 |
| При разработке | Переписать код, который ещё не связан с другими | ×5 |
| При тестировании | Код переписать, пересобрать, перепроверить | ×10 |
| После релиза | Хотфикс, разбор инцидента, поддержка, компенсации клиентам | ×100 |
Отсюда практический вывод: чем раньше вы включаетесь, тем вы полезнее. Тестировщик, который на встрече по требованиям спрашивает «а что будет, если промокод и скидка постоянного клиента сработают одновременно?», экономит компании больше, чем тот, кто через месяц заведёт об этом баг.
Тестирование, QA и QC
Три термина, которые на собеседовании часто путают:
- Тестирование — процесс проверки продукта на соответствие требованиям и поиска дефектов.
- QC (Quality Control) — контроль качества результата: то же тестирование плюс проверка артефактов (документации, сборки, соответствия стандартам).
- QA (Quality Assurance) — обеспечение качества процесса: как устроена работа команды, есть ли ревью, как принимаются требования, что мы измеряем. Цель QA — чтобы дефекты не появлялись, а не чтобы их вовремя ловили.
В российских вакансиях слово «QA» обычно используется как синоним «тестировщик» — не пугайтесь. Но разницу знать надо: её спрашивают почти на каждом собеседовании.
Ручное и автоматизированное
Автоматизация не «заменяет ручное тестирование» — она снимает с человека повторяющуюся часть. Автотест отлично прогоняет один и тот же сценарий 500 раз подряд и никогда не заскучает. Он никогда не заметит, что кнопка съехала на 40 пикселей и текст стал нечитаемым, если его об этом не попросили.
Типовое распределение в продуктовой команде: автотесты закрывают регресс (то, что уже работало и не должно сломаться), а человек проверяет новое, сложное и «на глаз» — интерфейсы, тексты, логику, крайние случаи. Поэтому вторая часть этого курса — про автоматизацию: она делает вас дороже, но начинается всё равно с умения тестировать головой.
Что должно быть в голове к концу курса
Не «я знаю термины», а конкретные умения:
- прочитать требование и найти в нём дыру;
- из бесконечного числа проверок выбрать 20 нужных;
- оформить дефект так, чтобы его починили сегодня, а не через неделю переписки;
- открыть DevTools и понять, на чьей стороне проблема — фронтенда, бекенда или данных;
- сходить в базу данных запросом и проверить, что там на самом деле лежит;
- отличить «продукт работает не так» от «я не понял требование».
Заводить баг на всё, что не понравилось лично. «Мне кажется, кнопка должна быть синей» — это не дефект, если синий цвет нигде не зафиксирован. Дефект — расхождение с требованием, макетом, стандартом или здравым смыслом, которое вы можете обосновать. Обосновать — ключевое слово.
Это урок из курса «Ручной тестировщик»
В курсе 47 уроков и 36 тренажёров: тест-дизайн, вёрстка и UX, DevTools, API, SQL, Git и работа со стендом. Несколько уроков открыты бесплатно после регистрации.