Что такое исследовательское тестирование?
ИССЛЕДОВАТЕЛЬСКОЕ ТЕСТИРОВАНИЕ - это тип тестирования программного обеспечения, при котором тестовые наборы не создаются заранее, а тестеры проверяют систему на лету. Они могут записывать идеи о том, что тестировать перед выполнением теста. Исследовательское тестирование ориентировано больше на тестирование как на «мыслительную» деятельность.
Исследовательское тестирование широко используется в Agile-моделях и направлено на открытие, исследование и обучение. Это подчеркивает личную свободу и ответственность отдельного тестировщика.
При тестировании по сценарию вы сначала разрабатываете тестовые примеры, а затем приступаете к выполнению теста. Напротив, исследовательское тестирование - это одновременный процесс разработки и выполнения тестов, выполняемых одновременно.
Выполнение теста по сценарию - это обычно бездумная деятельность, когда тестировщики выполняют шаги теста и сравнивают фактические результаты с ожидаемыми. Такая деятельность по выполнению тестов может быть автоматизирована и не требует многих когнитивных навыков.
Хотя текущая тенденция в тестировании программного обеспечения заключается в стремлении к автоматизации , исследовательское тестирование - это новый способ мышления. У автоматизации есть свои пределы
Различия между скриптовым и исследовательским тестированием
Скриптовое тестирование | Исследовательское тестирование |
---|---|
Направлено из требований | На основе требований и изучения во время тестирования |
Заблаговременное определение тестовых случаев | Определение тестовых случаев во время тестирования |
Подтверждение тестирования с требованиями | Исследование системы или приложения |
Подчеркивает предсказание и принятие решений | Подчеркивает адаптивность и обучаемость |
Включает подтвержденное тестирование | Включает расследование |
Речь идет о контрольных тестах | Речь идет об улучшении дизайна тестов |
Как произносить речь - вы читаете с черновика | Как завязать разговор - это спонтанно |
Скрипт находится под контролем | Все под контролем тестировщика |
Исследовательское тестирование -
- Это не случайное тестирование, а специальное тестирование с целью поиска ошибок.
- Структурированный и строгий
- Когнитивно (мышление) структурировано по сравнению с процедурной структурой скриптового тестирования. Эта структура взята из Устава, тайм-бокса и т. Д.
- Легко обучаем и управляем
- Это не техника, а подход. Какие действия вы будете выполнять дальше, зависит от того, что вы делаете в данный момент.
Как проводить исследовательское тестирование
Ниже приводится пошаговый процесс проведения исследовательского тестирования, который также называется управлением тестированием на основе сеанса (цикл SBTM):
- Создание таксономии ошибок (классификация)
- Классифицируйте общие типы неисправностей, обнаруженные в прошлых проектах.
- Проанализировать анализ первопричин проблем или неисправностей
- Найдите риски и разработайте идеи для тестирования приложения.
- Устав испытаний
- Устав тестирования должен предлагать
- что тестировать
- как это можно проверить
- Что нужно посмотреть
- Идеи тестирования - отправная точка исследовательского тестирования
- Устав тестирования помогает определить, как конечный пользователь может использовать систему.
- Устав тестирования должен предлагать
- Коробка времени
- Этот метод включает в себя пару тестеров, работающих вместе не менее 90 минут.
- Эти 90 минут не должны прерываться.
- Таймбокс можно увеличить или уменьшить на 45 минут.
- Это занятие побуждает тестировщиков реагировать на ответ системы и готовиться к правильному результату.
- Результаты обзора:
- Оценка дефектов
- Учимся на тестах
- Анализ зон покрытия
- Разбор полетов:
- Компиляция выходных результатов
- Сравните результаты с уставом
- Проверьте, требуется ли дополнительное тестирование
Например, во время исследовательского выполнения необходимо сделать следующее:
- Миссия тестирования должна быть очень ясной.
- Записывайте, что нужно тестировать, почему это нужно тестировать, а также оценку качества продукции.
- Отслеживание вопросов и проблем, возникающих во время исследовательского тестирования
- Лучше объединить тестировщиков для эффективного тестирования
- Чем больше мы тестируем, тем выше вероятность выполнения правильных тестовых примеров для требуемых сценариев.
Очень важно взять документ и следить за следующими
- Покрытие тестами - сделали ли мы заметки о покрытии тестовых случаев и улучшили ли качество программного обеспечения.
- Риски - Какие риски необходимо покрыть и какие из них наиболее важны?
- Журнал выполнения теста - записи о выполнении теста
- Проблемы / запросы - делайте заметки по вопросу и проблемам в системе.
Более разумное исследовательское тестирование обнаруживает больше ошибок за меньшее время.
Плюсы и минусы исследовательского тестирования
Pro | Против |
---|---|
|
|
Проблемы исследовательского тестирования:
Исследовательское тестирование сопряжено со многими проблемами, которые описаны ниже:
- Научиться пользоваться приложением или программной системой - непростая задача.
- Воспроизведение сбоя затруднено
- Определение необходимости использования инструментов может быть сложной задачей
- Определить лучшие тестовые примеры для выполнения может быть сложно
- Представление результатов тестирования является сложной задачей, поскольку в отчете нет запланированных сценариев или случаев, которые можно было бы сравнить с фактическим результатом или исходом.
- Документирование всех событий во время выполнения трудно фиксировать
- Не знаю, когда остановить тестирование, так как исследовательское тестирование требует выполнения определенных тестовых примеров.
Когда использовать исследовательское тестирование?
Исследовательское тестирование может широко использоваться, когда
- В команде тестирования есть опытные тестировщики
- Требуется ранняя итерация
- Есть критическое приложение
- В команду вошли новые тестеры
Вывод:
В программной инженерии исследовательское тестирование выполняется для преодоления ограничений тестирования по сценариям. Это помогает улучшить набор тестов. Он сочувствует обучению и адаптируемости.