Исследовательское
Исследовательское тестирование (Exploratory Testing) — это подход к тестированию программного обеспечения, при котором тестировщик одновременно изучает продукт и создаёт тесты, опираясь на его поведение. При этом не используются заранее прописанные тест-кейсы, тестировщик действует интуитивно.
Методы и принципы Некоторые методы исследовательского тестирования: Изучение документации. Перед началом тестирования тестировщики анализируют технические спецификации и функциональные требования, чтобы понять ожидания от продукта и его архитектуру. Групповое тестирование. Команда тестировщиков совместно исследует приложение, что помогает обнаружить разные дефекты и идеи для улучшения продукта. Пошаговое исследование (Step-by-Step Testing). Тестировщики последовательно проходят через разные части приложения, что позволяет систематически проверять каждую функциональность. Тестирование на грани возможностей (Boundary Testing). Исследуются граничные условия входных данных, чтобы выявить дефекты, связанные с переполнением буфера, ошибками округления и другими аномалиями. Эксплорация данных (Data Exploration). Тестировщики исследуют взаимодействие приложения с разными типами данных, вводят неправильные данные, специальные символы, чтобы проверить, как приложение их обрабатывает.
Применение Исследовательское тестирование применяется в различных ситуациях, например: В начале разработки. Тестировщики понимают, какими функциями обладает новый продукт и с какими первичными дефектами может столкнуться пользователь. Во время изменений. Исследование позволяет быстро оценить новые функции или другие обновления, а также проверить исправленные ошибки. При недостаточной документации. Помогает изучить функционал, найти сильные и слабые стороны, определить, как улучшить программу. В условиях ограниченного времени. Используется, если сроки проверки ограничены, но необходимо охватить множество функциональностей и выявить критические ошибки. Во время подготовки к релизу. Помогает убедиться в полной готовности продукта к эксплуатации конечными пользователями.
Плюсы и минусы Плюсы: Обнаружение нестандартных дефектов, которые не были бы выявлены при тестировании по сценарию. Быстрая реакция на изменения, не требуется обновление тест-кейсов. Возможность сосредоточиться на наиболее важных и вероятных местах возникновения дефектов.
Минусы: Тестировщик идёт по неизвестному пути к потенциальным дефектам, не придерживаясь плана, что может затруднить документирование обнаруженных ошибок.
Тесты, созданные «на лету», нельзя проверить заранее, что повышает риск ошибок в коде и тестовых примерах.