Урок по треку Основы тестирования и тест-дизайн 5 мин

Основы тестирования за 6 минут

Зачем тестируют, QA, QC и тестирование, ошибка, дефект и сбой, семь принципов.

Тестирование это проверка продукта, чтобы понять, насколько он соответствует требованиям и ожиданиям пользователей, и найти дефекты раньше клиентов. Но на собеседовании ждут, что ты видишь цель шире «искать баги»: тестирование даёт команде информацию о качестве, по которой бизнес решает, выпускать ли релиз.

QA, QC и тестирование

Три термина часто путают, а на собесе их любят спрашивать первыми.

  • QA (quality assurance, обеспечение качества) смотрит на процесс: договорённости, ревью требований, стандарты, обучение. Цель: чтобы дефекты вообще не появлялись.
  • QC (quality control, контроль качества) смотрит на продукт: проверяет, соответствует ли он требованиям.
  • Тестирование основная часть QC: запуск продукта или проверка артефактов, чтобы найти дефекты.

Вложенность такая: тестирование входит в QC, QC входит в QA. В вакансиях «QA-инженером» называют любого тестировщика, но разницу знать надо.

Ошибка, дефект, сбой

Цепочка из трёх слов:

  1. Ошибка (error, mistake): действие человека. Разработчик перепутал > и >=.
  2. Дефект (defect, bug, fault): результат ошибки в артефакте. Неверное условие в коде, противоречие в требованиях.
  3. Сбой (failure): наблюдаемое отклонение при работе. Клиент с суммой ровно 5000 ₽ не получил скидку.

Дефект может годами не приводить к сбою, если до него не доходят данные. А сбой не обязательно падение: неверная сумма тоже сбой.

Верификация и валидация

  • Верификация: «делаем продукт правильно?» Соответствует ли он требованиям и спецификации.
  • Валидация: «делаем правильный продукт?» Решает ли он задачу пользователя.

Можно идеально выполнить требования и сделать продукт, который никому не нужен. Верификация пройдена, валидация нет.

Статическое и динамическое тестирование

Статическое проверяет без запуска кода: ревью требований и макетов, ревью кода, линтеры. Динамическое запускает программу. Статическое дешевле и находит дефекты раньше: ошибку в требовании исправляют правкой текста, а не кода.

Семь принципов тестирования

Классика из программы ISTQB, их почти всегда просят перечислить.

  1. Тестирование показывает наличие дефектов, а не их отсутствие. Ноль найденных багов не доказывает, что их нет.
  2. Исчерпывающее тестирование невозможно. Комбинаций ввода, состояний и окружений слишком много, поэтому тесты выбирают по рискам и техникам тест-дизайна.
  3. Раннее тестирование экономит время и деньги. Чем позже найден дефект, тем дороже его исправить.
  4. Дефекты скапливаются. Небольшое число модулей содержит большую часть дефектов. Туда и стоит направлять усилия.
  5. Тесты изнашиваются (парадокс пестицида). Одни и те же тесты со временем перестают находить новые дефекты, их нужно обновлять.
  6. Тестирование зависит от контекста. Банковское приложение и мобильную игру тестируют по-разному.
  7. Заблуждение об отсутствии ошибок. Продукт без дефектов может не решать задачу пользователей.

Пример, который удобно рассказать: «В прошлом релизе 70% дефектов нашли в модуле тарифов. По принципу скопления дефектов в этом релизе я начну регрессию с тарифов и проверю его глубже».

Зачем компании тестирование

  • Информация для решения о релизе.
  • Снижение рисков: денег, репутации, юридических.
  • Предотвращение дефектов: ревью требований до разработки.
  • Подтверждение соответствия договору или требованиям регулятора.

Частые ошибки на собеседовании

  • Говорить, что цель тестирования «найти все баги». Все найти невозможно (принцип 2), а цель шире.
  • Путать QA и тестирование или называть QC «процессом».
  • Перечислять принципы без примеров. Один живой пример из опыта ценится выше точной формулировки.
  • Считать, что тестирование начинается, когда разработчик отдал сборку. Начинается с требований.

Что спросят на собесе

  • Что такое тестирование и зачем оно нужно?
  • Чем отличаются QA, QC и тестирование?
  • Ошибка, дефект и сбой: в чём разница?
  • Перечисли принципы тестирования и приведи пример любого из них.
  • Чем верификация отличается от валидации?

Закрепите за 5 минут

После урока в тренажёре 3-5 проверочных вопросов, дальше модуль уходит в повторения.