Исследовательское тестирование — это тип подхода к тестированию программного обеспечения, при котором тестировщики динамически и интерактивно исследуют систему или приложение для обнаружения потенциальных дефектов, не полагаясь на заранее определенные тестовые примеры. Он предполагает одновременное обучение, разработку и выполнение тестов и часто используется в качестве дополнения к методам тестирования по сценариям.
При исследовательском тестировании тестировщик в значительной степени полагается на свои знания, опыт и интуицию, чтобы определить области системы, требующие тестирования. Этот процесс включает в себя активное изучение программного обеспечения, оперативное выполнение тестовых примеров и адаптацию подхода к тестированию на основе отзывов и наблюдений, сделанных во время тестирования.
Вот несколько методов, обычно используемых при исследовательском тестировании, а также примеры кода:
-
Тестирование на основе сценариев:
- Определите и смоделируйте реальные сценарии для тестирования системы.
- Например, если вы тестируете веб-сайт электронной коммерции, смоделируйте сценарий, когда пользователь добавляет товары в корзину, переходит к оформлению заказа и завершает покупку.
-
Тестирование на основе рисков:
- Определите и расставьте приоритеты в областях системы с высоким уровнем риска, чтобы сосредоточить усилия на тестировании.
- Например, если вы тестируете банковское приложение, отдайте приоритет тестированию функций, связанных с финансовыми транзакциями и безопасностью данных.
-
Угадывание ошибок:
- Используйте свой опыт и интуицию, чтобы угадать потенциальные ошибки или проблемы в системе.
- Например, если вы тестируете функцию проверки формы, намеренно вводите недопустимые данные и наблюдайте, как система их обрабатывает.
-
Специальное тестирование:
- Выполняйте незапланированное и неструктурированное тестирование, основываясь на своей интуиции.
- Например, при тестировании мобильного приложения случайным образом взаимодействуйте с различными элементами пользовательского интерфейса, чтобы выявить проблемы с удобством использования.
-
Сеансовое тестирование:
- Выделите определенный период времени для тестирования и определите цели сеанса.
- Например, посвятите сеанс тестированию функции входа в систему и запишите все проблемы, возникшие во время этого сеанса.
Помните, что исследовательское тестирование — это скорее подход, а не конкретный набор методов или техник. Тестировщики могут использовать комбинацию методов в зависимости от контекста и требований проекта.