Добавить в корзинуПозвонить
Найти в Дзене

Урок 1. Что же такое тестирование? Как начать тестировать прямо сейчас?

Что нужно для работы в тестировании? Вы можете замечательно играть на музыкальных инструментах, быть отличным математиком, программировать на десятках языков, быть полиглотом, разбираться в алгоритмах и структурах данных, кататься на сноуборде, НО для тестирования важно только ОДНО - РЕЗУЛЬТАТ. Не пролистывая ниже - попробуйте ответить на вопрос ЧТО ЖЕ ЭТО ЗА РЕЗУЛЬТАТ? (в чем он заключается?) КАКОЙ РЕЗУЛЬТАТ ОЖИДАЮТ ОТ РАБОТЫ ТЕСТИРОВЩИКА? результат работы тестировщика - это счастье/удовольствие конечного пользователя. Да, так просто. Например: некто Ольга Синицына вечером после работы открывает приложение доставки, потому что дома закончился кофе. Она находит «зерно 1 кг», добавляет в корзину, выбирает адрес, время и нажимает «Оформить заказ». Если на следующем экране написано: «Ольга, заказ №142857 принят, курьер будет с 19:00 до 20:00», и в 19:35 курьер действительно привозит ровно тот кофе, в нужном количестве, по нужному адресу, то честь и хвала вам как тестировщикам. Если же
на
Оглавление

Что нужно для работы в тестировании?

Вы можете замечательно играть на музыкальных инструментах, быть отличным математиком, программировать на десятках языков, быть полиглотом, разбираться в алгоритмах и структурах данных, кататься на сноуборде, НО для тестирования важно только ОДНО - РЕЗУЛЬТАТ.

Не пролистывая ниже - попробуйте ответить на вопрос ЧТО ЖЕ ЭТО ЗА РЕЗУЛЬТАТ? (в чем он заключается?) КАКОЙ РЕЗУЛЬТАТ ОЖИДАЮТ ОТ РАБОТЫ ТЕСТИРОВЩИКА?

результат работы тестировщика - это счастье/удовольствие конечного пользователя. Да, так просто.

Например:
некто Ольга Синицына вечером после работы открывает приложение доставки, потому что дома закончился кофе. Она находит «зерно 1 кг», добавляет в корзину, выбирает адрес, время и нажимает «Оформить заказ». Если
на следующем экране написано: «Ольга, заказ №142857 принят, курьер будет с 19:00 до 20:00», и
в 19:35 курьер действительно привозит ровно тот кофе, в нужном количестве, по нужному адресу,
то честь и хвала вам как тестировщикам.
Если же
на следующем экране появляется «Что-то пошло не так. Попробуйте позже»
то несмотря ни на какие тест-кейсы, чеклисты, отчеты о тестировании, даже возможно покрытие сценария автотестами - ваша работа как тестировщика имеет ОТРИЦАТЕЛЬНЫЙ результат.

Тестировщик - это тот кто принимает окончательное решение - допустить ли обновление/выпуск продукта в продакшн или нет. Поэтому личное качество без которого невозможно работать в этой должности - это честность.

Если вы что-то не проверили, не сказали об этом и "зарелизили" продукт - клиент может быть разочарован, компания может получить убытки, а вам придется краснеть на ежедневном дейли митинге.

Но давайте перейдем к конкретике.

Что же такое тестирование?

Любое тестирование - это поиск багов.

Что такое баг?

Баг - это отклонение фактического результата от ожидаемого результата.

Что это значит?

Например:
Вы заказали на Озон игровую приставку (Play Station), а пришло фото игровой приставки.

Это баг.

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

Фактический результат: фото игровой приставки и как следствие испорченные выходные.

Как начать тестировать?

Окей, а как тестировать на практике?

Если упростить до формулы, тестирование — это всегда 3 шага:

1) Находим ожидаемый результат (что должно быть)
2)
Смотрим фактический результат (что получилось)
3)
Сверяем и честно фиксируем вывод: совпало / не совпало / не можем проверить (и почему)

1) Где брать ожидаемый результат (источники «как должно быть»)

Ожидаемый результат почти никогда не живёт в одном месте. Нормальная работа тестировщика — уметь доставать “expected” из разных источников и понимать, какой из них главный.

Вот основные источники:

1. Требования и документация

  • user story, описание задачи, acceptance criteria
  • макеты/прототипы (Figma), спецификации API
  • Confluence/README/документы по бизнес-логике

Плюс: формально и “официально”.
Минус: часто неполно, устаревает или написано «как-нибудь».

2. Договорённости с командой

  • обсуждения с аналитиком/продактом/разработчиком
  • комментарии в задаче, уточнения на созвоне

Плюс: быстро снимает неопределённость.
Минус: если не зафиксировать, завтра все “вспомнят иначе”.

Важный момент - в работе тестировщика нельзя "стесняться" спрашивать у разработчиков, аналитиков и прочих участников команды любые вопросы по задаче которую вы тестируете. Как минимум по тому, что разработчики / аналитики и заказчики "продукта" могут это понимать по-разному. Спрашивайте много, часто, подробно. Задавайте уточняющие вопросы - это позволит вам находить "баги" еще до тестирования продукта.

3. Текущее поведение системы (если мы меняем уже существующий продукт)

  • то, как работает прод сейчас
  • поведение в предыдущей версии
  • “как было до изменения”

Важно: «как было» — это не всегда «как должно быть», но это отличный ориентир, чтобы поймать регрессии.

4. Внешние правила и ограничения

  • законы/регуляторика, договоры, политика безопасности
  • требования платёжных систем, App Store/Google Play, стандарты доступности

5. Здравый смысл и пользовательские ожидания
Да, это тоже источник. Например: “кнопка «Оплатить» не должна молча ничего не делать”.
Но тут осторожно: здравый смысл — не замена требованиям, а сигнал “тут надо уточнить”.

Итого: тестировщик сначала отвечает себе на вопрос:
«Откуда я знаю, как должно быть?»
Если ответ “ну кажется” — лучше остановиться и уточнить.

2) Как смотреть фактический результат (что получилось)

Фактический результат — это не только “на экране то/не то”.

Что обычно проверяют как «actual»:

  • UI: тексты, состояния, ошибки, валидация, доступность
  • данные: что записалось/не записалось (БД, кэш, очередь, аналитика событий)
  • интеграции: ушёл ли запрос, какой ответ вернулся, что залогировалось
  • нефункциональное: скорость, стабильность, безопасность, корректность при нагрузке

Практический навык тестировщика — уметь собирать факты:

  • скрин/видео
  • логи (клиент/сервер)
  • HAR/Network в браузере
  • запрос/ответ API (curl/Postman)
  • точные шаги и входные данные

3) Сверяем: что считается багом, а что — “неясно”

Теперь сравниваем expected и actual.

  • Если expected известен и actual отличается → это баг.
  • Если expected непонятен/неполон → это баг требований - и их необходимо уточнить.

Где и как фиксировать?

И что именно проверять?

На эти вопросы мы с вами ответим на следующем уроке.


А пока домашнее задание (да, оно необходимо для закрепления материала):
1) Прочтите первые 3 главы книги Р. Савин "Тестирование дот ком"
2) Найдите любой баг в любом из IT продуктов которыми вы пользуетесь. Источником ожидаемого результата можно взять здравый смысл (если доступ к другим источникам закрыт).

Следите за новым разделом — уроки по тестированию. Он подойдёт тем, кто учится на QA с нуля, и тем, кто уже работает, но хочет систематизировать знания: тест-дизайн, API, автотесты, SQL/данные, CI/CD и практики командной разработки.

Подписывайтесь, добавляйте в закладки в браузере, чтобы ничего не пропустить: QA Helper - справочник тестировщика

-2