При разработке программного обеспечения, каждый из нас сталкивается с этими понятиями. Что же это за термины. Попытаемся разобраться.
Ошибка - действие человека, приводящее к некорректному результату.
Например:
- Некорректно сформированные требования аналитиком
- Ошибка в написании програмного кода разработчиком
- Ошибка в составлении макета новой функциональности дизайнером
Конечно же тестировщики тоже допускают ошибки и они приносят компании убытки. Например, пропущенный дефект.
Дефект - несовершенство или недостаток в работе продукта, когда он не отвечает требованиям или спецификации.
Простым языком, дефект - расхождение ожидаемого и фактического результата.
Ожидаемый результат - поведение в системе, которое мы можем взять из требований.
Перед тем, как начать тестировать, необходимо подробно изучить требования, написанные аналитиком, и составленные дизайнером макеты отображения нашего функционала. В процессе просмотра документации можно не только понять, как должен работать продукт, но и найти, например, дефект в логике, вызванный ошибкой аналитика.
Фактический результат - поведение в системе, полученное в момент тестирования.
После прохождения тестового сценария осуществляется сравнение ожидаемого и фактического результата. Если есть расхождение, то "Поздравляю!", вы нашли дефект.
Отказ (Сбой) - событие, в котором компонент или система не выполняет требуемую функцию в указанных пределах.
То есть это отклонение поведения в системе от ожидаемого результата. Во время разработки сбои как правило наблюдаются тестировщиками, а обнаруживаются и устраняются разработчиками. Отказы программной системы могут быть обусловлены как внешними причинами (ошибками элементов среды функционирования, в том числе человека-оператора), так и внутренними причинами - дефектами в программной системы.
Эти термины самые нежелательные в процессе разработки программного обеспечения. Но благодаря тестировщикам большинство проблем замечаются и устраняются до выпуска продукта пользователям.