Что такое исследовательское тестирование? Техники с примерами

Содержание:

Anonim

Что такое исследовательское тестирование?

ИССЛЕДОВАТЕЛЬСКОЕ ТЕСТИРОВАНИЕ - это тип тестирования программного обеспечения, при котором тестовые наборы не создаются заранее, а тестеры проверяют систему на лету. Они могут записывать идеи о том, что тестировать перед выполнением теста. Исследовательское тестирование ориентировано больше на тестирование как на «мыслительную» деятельность.

Исследовательское тестирование широко используется в Agile-моделях и направлено на открытие, исследование и обучение. Это подчеркивает личную свободу и ответственность отдельного тестировщика.

При тестировании по сценарию вы сначала разрабатываете тестовые примеры, а затем приступаете к выполнению теста. Напротив, исследовательское тестирование - это одновременный процесс разработки и выполнения тестов, выполняемых одновременно.

Выполнение теста по сценарию - это обычно бездумная деятельность, когда тестировщики выполняют шаги теста и сравнивают фактические результаты с ожидаемыми. Такая деятельность по выполнению тестов может быть автоматизирована и не требует многих когнитивных навыков.

Хотя текущая тенденция в тестировании программного обеспечения заключается в стремлении к автоматизации , исследовательское тестирование - это новый способ мышления. У автоматизации есть свои пределы

Различия между скриптовым и исследовательским тестированием

Скриптовое тестирование Исследовательское тестирование
Направлено из требований На основе требований и изучения во время тестирования
Заблаговременное определение тестовых случаев Определение тестовых случаев во время тестирования
Подтверждение тестирования с требованиями Исследование системы или приложения
Подчеркивает предсказание и принятие решений Подчеркивает адаптивность и обучаемость
Включает подтвержденное тестирование Включает расследование
Речь идет о контрольных тестах Речь идет об улучшении дизайна тестов
Как произносить речь - вы читаете с черновика Как завязать разговор - это спонтанно
Скрипт находится под контролем Все под контролем тестировщика

Исследовательское тестирование -

  • Это не случайное тестирование, а специальное тестирование с целью поиска ошибок.
  • Структурированный и строгий
  • Когнитивно (мышление) структурировано по сравнению с процедурной структурой скриптового тестирования. Эта структура взята из Устава, тайм-бокса и т. Д.
  • Легко обучаем и управляем
  • Это не техника, а подход. Какие действия вы будете выполнять дальше, зависит от того, что вы делаете в данный момент.

Как проводить исследовательское тестирование

Ниже приводится пошаговый процесс проведения исследовательского тестирования, который также называется управлением тестированием на основе сеанса (цикл SBTM):

  1. Создание таксономии ошибок (классификация)
    • Классифицируйте общие типы неисправностей, обнаруженные в прошлых проектах.
    • Проанализировать анализ первопричин проблем или неисправностей
    • Найдите риски и разработайте идеи для тестирования приложения.
  2. Устав испытаний
    • Устав тестирования должен предлагать
      1. что тестировать
      2. как это можно проверить
      3. Что нужно посмотреть
    • Идеи тестирования - отправная точка исследовательского тестирования
    • Устав тестирования помогает определить, как конечный пользователь может использовать систему.
  3. Коробка времени
    • Этот метод включает в себя пару тестеров, работающих вместе не менее 90 минут.
    • Эти 90 минут не должны прерываться.
    • Таймбокс можно увеличить или уменьшить на 45 минут.
    • Это занятие побуждает тестировщиков реагировать на ответ системы и готовиться к правильному результату.
  4. Результаты обзора:
    • Оценка дефектов
    • Учимся на тестах
    • Анализ зон покрытия
  5. Разбор полетов:
    • Компиляция выходных результатов
    • Сравните результаты с уставом
    • Проверьте, требуется ли дополнительное тестирование

Например, во время исследовательского выполнения необходимо сделать следующее:

  • Миссия тестирования должна быть очень ясной.
  • Записывайте, что нужно тестировать, почему это нужно тестировать, а также оценку качества продукции.
  • Отслеживание вопросов и проблем, возникающих во время исследовательского тестирования
  • Лучше объединить тестировщиков для эффективного тестирования
  • Чем больше мы тестируем, тем выше вероятность выполнения правильных тестовых примеров для требуемых сценариев.

Очень важно взять документ и следить за следующими

  • Покрытие тестами - сделали ли мы заметки о покрытии тестовых случаев и улучшили ли качество программного обеспечения.
  • Риски - Какие риски необходимо покрыть и какие из них наиболее важны?
  • Журнал выполнения теста - записи о выполнении теста
  • Проблемы / запросы - делайте заметки по вопросу и проблемам в системе.

Более разумное исследовательское тестирование обнаруживает больше ошибок за меньшее время.

Плюсы и минусы исследовательского тестирования

Pro Против
  • Это тестирование полезно, когда документы с требованиями недоступны или частично доступны.
  • Он включает в себя процесс расследования, который помогает найти больше ошибок, чем при обычном тестировании.
  • Выявление ошибок, которые обычно игнорируются другими методами тестирования.
  • Помогает расширить кругозор тестировщиков, выполняя все больше и больше тестовых примеров, что, в конечном итоге, также повышает производительность.
  • Это тестирование детализирует самую маленькую часть приложения и охватывает все требования.
  • Это тестирование охватывает все типы тестирования и охватывает различные сценарии и случаи.
  • Поощряет творчество и интуицию
  • Генерация новых идей во время выполнения теста
  • Это тестирование полностью зависит от навыков тестировщика.
  • Ограничено знанием предметной области тестировщика
  • Не подходит для длительного времени исполнения

Проблемы исследовательского тестирования:

Исследовательское тестирование сопряжено со многими проблемами, которые описаны ниже:

  • Научиться пользоваться приложением или программной системой - непростая задача.
  • Воспроизведение сбоя затруднено
  • Определение необходимости использования инструментов может быть сложной задачей
  • Определить лучшие тестовые примеры для выполнения может быть сложно
  • Представление результатов тестирования является сложной задачей, поскольку в отчете нет запланированных сценариев или случаев, которые можно было бы сравнить с фактическим результатом или исходом.
  • Документирование всех событий во время выполнения трудно фиксировать
  • Не знаю, когда остановить тестирование, так как исследовательское тестирование требует выполнения определенных тестовых примеров.

Когда использовать исследовательское тестирование?

Исследовательское тестирование может широко использоваться, когда

  • В команде тестирования есть опытные тестировщики
  • Требуется ранняя итерация
  • Есть критическое приложение
  • В команду вошли новые тестеры

Вывод:

В программной инженерии исследовательское тестирование выполняется для преодоления ограничений тестирования по сценариям. Это помогает улучшить набор тестов. Он сочувствует обучению и адаптируемости.