Рабочий процесс тестировщика

Теория: Дефект

Дефект – это ситуация, в которой фактическое поведение программы не соответствует ожидаемому результату.

Программа содержит дефект, если:

  • Она не выполняет функцию, которую должна выполнять по требованиям
  • Она выполняет функцию, которую не должна выполнять по требованиям

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

Возьмем для примера календарь и посмотрим, какие бывают дефекты:

  • Функциональные дефекты — в календаре не выбирается дата
  • Визуальные дефекты — элемент календаря уехал за экран
  • Логические дефекты — в феврале 31 день
  • Ошибка контента — название месяца записано как «декабьр»
  • Ошибка удобства использования — даты выводятся не по неделям
  • Прочие нефункциональные дефекты — есть проблемы с безопасностью или отказоустойчивостью

Уровень дефектов

Рассмотрим уровни дефектов от больших к меньшим:

  • Блокирующий (Blocker) – дефект полностью блокирует выполнение функционала, нет никакого способа его обойти. Пример: Не работает авторизация на сайте (что в свою очередь блокирует большую часть функционала).

  • Критический (Critical) – дефект блокирует часть функциональности, но есть альтернативный путь для его обхода. Пример: В банковском приложении при попытке перевода денег на счет через основной интерфейс возникает ошибка. Однако, пользователь может завершить операцию, зайдя в другой раздел приложения или используя веб-версию сервиса.

  • Значительный (Major) – дефект, указывающий на некорректную работу части функциональности. Другими словами, функция работает, но неправильно. При этом существует более одной точки входа для инициации нужной функциональности. Пример: В текстовом редакторе функция автоформатирования кода добавляет неправильные отступы и форматирование, из-за чего код не проходит проверку на стиль. Но редактор все еще позволяет пользователю писать код и сохранять его.

  • Незначительный (Minor) – дефект, не относящийся к функциональности системы. Обычно уровень Minor проставляется для тех дефектов, которые относятся к удобству использования или интерфейсу. Пример: В мобильном приложении кнопка "Назад" на некоторых экранах не отображается в привычном месте, из-за чего пользователю нужно использовать жесты или другие элементы интерфейса. Это не влияет на функциональность, но ухудшает удобство использования.

  • Тривиальный (Trivial) – дефект, не затрагивающий функциональность системы и почти не влияющий на общее качество системы. Часто неотличим от уровня Minor. Пример: В мобильном приложении у кнопки "Отправить" на экране чата слегка отличается оттенок от стандартного, иконка кнопки немного смещена. Это не влияет на работу приложения, и ошибка практически не заметна для большинства пользователей.

Рекомендуемые программы