Урок 1 из 8 · 15 мин · обновлено

Кто такой тестировщик и зачем он нужен

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

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

Любое приложение делают люди, а люди ошибаются. Аналитик не учёл редкий случай, разработчик неправильно понял задачу, дизайнер не подумал о маленьком экране. Задача тестировщика — найти такие ошибки раньше, чем их увидят пользователи.

На практике это выглядит так:

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

Ошибку в программе называют багом (от английского bug — «жук»). Подробно о том, что считается багом, — в уроке 3.

Почему бизнесу это выгодно

Представьте интернет-магазин, где скидка по промокоду считается неправильно: вместо 10% магазин отдаёт 50%. Посмотрим, во что обходится эта ошибка в зависимости от того, когда её нашли.

Когда нашли Что придётся сделать
В требованиях, до разработки Поправить одну строчку в описании задачи — 10 минут
Во время тестирования Разработчик исправит код, тестировщик проверит — пара часов
После выпуска Магазин продаёт в убыток, поддержка разбирает обращения, команда срочно выпускает исправление, а деньги уже потеряны

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

Тестирование и QA — не одно и то же

В вакансиях тестировщика часто называют QA-инженером. QA (quality assurance) — это «обеспечение качества»: всё, что команда делает, чтобы ошибок было меньше. Сюда входят договорённости о том, как писать требования, как проверять код, когда и что тестировать.

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

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

  • Ручной тестировщик проверяет продукт сам: открывает приложение, проходит сценарии, думает как пользователь и как скептик. Это самый частый вход в профессию.
  • Автоматизатор (в вакансиях — AQA, automation QA) пишет программы, которые выполняют проверки автоматически. Такие тесты можно запускать хоть каждый час, и они не устают.

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

Три мифа о профессии

«Тестировщик просто тыкает кнопки». Нет: прежде чем проверять, тестировщик решает, что проверять и в каком порядке, чтобы за ограниченное время найти самые опасные ошибки.

«Хороший тестировщик найдёт все ошибки». Проверить всё невозможно: даже у простой формы с тремя полями тысячи комбинаций. Задача — найти самые важные ошибки и снизить риск, а не гарантировать, что их нет совсем.

«Это просто ступенька, чтобы стать программистом». Кто-то потом уходит в разработку, но тестирование — самостоятельная профессия: можно расти до ведущего специалиста, руководителя отдела качества или эксперта в автоматизации. Куда расти — в уроке 8.

Какие качества пригодятся

  • Внимательность — замечать мелочи, которые другие пропускают.
  • Любопытство — хотеть понять, как всё устроено и что будет, «если вот так».
  • Логика — продумывать, где ошибки вероятнее всего.
  • Умение ясно писать — баг, который нельзя понять, не исправят.
  • Дипломатичность — сообщать об ошибках так, чтобы разработчик не обиделся, а исправил.

Попробуйте сами. Представьте приложение доставки пиццы. Запишите 10 вещей, которые могут пойти не так, когда человек делает заказ. Не думайте о коде — думайте как пользователь, у которого что-то пошло не по плану.

Пример ответа
  1. Можно заказать 0 пицц.
  2. Сумма в корзине не совпадает с суммой к оплате.
  3. Промокод применяется дважды.
  4. Можно выбрать доставку на прошедшее время.
  5. Адрес не помещается в поле и обрезается.
  6. Если дважды нажать «Оплатить», создаются два заказа.
  7. После неудачной оплаты корзина очищается.
  8. На маленьком экране кнопка «Оплатить» уезжает за край.
  9. Нельзя оформить заказ, если в телефоне указан пробел.
  10. Уведомление «Заказ доставлен» приходит, пока курьер ещё в пути.

Сравните со своим списком: какие случаи вы не учли?

Мини-тест: проверьте себя

Закрепите урок: несколько вопросов, разбор ответов — в конце.

  1. Что главное в работе тестировщика?

  2. Когда исправить ошибку обычно дешевле всего?

  3. Чем автоматизатор тестирования отличается от ручного тестировщика?

  4. Что из этого — миф о профессии?