Что такое тестирование?
Как бы это смешно не звучало, но многие тестировщики не знают правильного определения, что такое тестирование. Они могут много лет работать, тестировать разнообразные продукты, но вопрос «Что такое тестирование?» может поставить их в ступор. Разберём же что значит это понятие на самом деле.
Большинство источников, отвечая на вопрос «Что такое тестирование?» трактуют его следующим образом:
Тестирование — это процесс поиска ошибок в программном продукте.
Тестирование — это проверка приложения на соответствие требованиям.
и т.д.
Все эти определения неверны. Они отражают только одну цель тестирования.
Для того, чтобы понять, что такое тестирование нужно понять цели этого процесса.
В тестировании есть 3 цели:
- Верификация (Verification)
- Валидация (Validation)
- Поиск ошибок (Error detection)
Напомним в двух словах:
Верификация — Доказанное объективными результатами исследования подтверждение того, что определенные требования были выполнены.
Валидация — Доказанное объективными результатами исследования подтверждение того, что требования для ожидаемого конкретного использования приложения были выполнены
Поиск ошибок — Действия, направленные на создание ситуаций, когда в программном продукте могут возникнуть ошибки, обработка которых не предусмотрена разработчиком.
Исходя из целей, мы можем понять, что в тестировании мало просто находить дефекты или же просто сверять ожидаемое с действительным.
Тестирование должно выполнять 3 вышеуказанные цели.
Поэтому правильное определение тестирования в соответствии с ISTQB будет звучать следующим образом:
Тестирование (Testing) — Это процесс, содержащий в себе все активности жизненного цикла, как динамические, так и статические, касающиеся планирования, подготовки и оценки программного продукта и связанных с этим результатов работ (документация, макеты и т.д.) с целью определить, что они соответствуют описанным требованиям, показать, что они подходят для заявленных целей и для определения дефектов.
Это, конечно, правильно, но что-то уж очень «много букв».
Я предпочитаю говорить намного короче:
Тестирование — это верификация, валидация и поиск ошибок.
И всё 🙂