Свободное (ad-hoc) тестирование

Свободное (ad-hoc) тестирование

В данной статье мы поговорим о Ad-hoc тестировании (также – интуитивное или свободное тестирование). Как подсказывает название, это неформальный и неструктурированный способ тестирования приложения. Основная цель Ad-hoc тестирования — выявить дефекты, которые не удалось обнаружить при использовании стандартного процесса тестирования.

Содержание

Друзья, поддержите нас вступлением в наш телеграм канал QaRocks. Там много туториалов, задач по автоматизации и книг по QA.

Что такое Ad-hoc тестирование?

Ad-hoc тестирование — это вид тестирования, который проводится без предварительного планирования и документации. Оно не имеет структуры, не требует подготовки и выполняется в неформальной манере.

Такое тестирование проводится после завершения формальных процессов тестирования. Его цель — «сломать» систему и найти дефекты, которые могут не быть обнаружены при стандартном подходе.

Особенности Ad-hoc тестирования

  1. Непланируемое и неструктурированное. Тестирование проводится без заранее подготовленного плана, сценариев или формальных тест-кейсов. Тестировщик свободен в выборе методов и подходов, что позволяет исследовать систему нестандартным способом.
  2. Без документации. Тестирование не требует предварительной подготовки документации и написания формальных тест-кейсов. Вместо этого тестировщик использует своё понимание системы, опыт и интуицию.
  3. Проводится после выполнения формальных тест-кейсов. Ad-hoc тестирование обычно дополняет стандартные методы тестирования, такие как функциональное или регрессионное тестирование.

Пример Ad-hoc тестирования

Теперь, когда мы поняли, что Ad-hoc тестирование — это неструктурированный и неметодичный подход, давайте рассмотрим простой пример.

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

Если вы решите провести Ad-hoc тестирование, то будете пытаться сломать систему или найти аномалии, используя нестандартные методы. Например, вместо того чтобы следовать стандартным шагам «добавить в корзину -> оформить заказ -> оплатить», вы копируете URL старой страницы оформления заказа и пробуете перейти с его помощью. Или выполняете другие нестандартные действия. Таким образом, вы можете обнаружить потенциальные проблемы, например, связанные с безопасностью.

Виды Ad-hoc тестирования

  1. Monkey testing (обезьянье тестирование)
    Тестирование, выполняемое с намерением сломать систему. Тестировщик вводит случайные данные и выполняет случайные действия.
  2. Buddy testing (тестирование с напарником)
    В этом виде тестирования разработчик и тестировщик работают вместе. Знания разработчика об архитектуре системы и аналитическое мышление тестировщика повышают качество тестирования.
  3. Pair testing (парное тестирование)
    Два тестировщика работают совместно для достижения более широкого и глубокого покрытия тестирования. Один тестировщик проводит тестирование, а другой анализирует процесс.

Примечание редакции: вас также может заинтересовать статья “Полное руководство по ad-hoc тестированию”

Преимущества Ad-hoc тестирования

  1. Позволяет находить скрытые дефекты, которые могли быть пропущены при традиционном подходе. Интуитивный подход и нестандартные сценарии, например, ввод неожиданных данных или использование устаревших URL, могут выявить дефекты, о которых даже не подозревали.
  2. Использование техник, таких как buddy и pair testing, расширяет покрытие тестов за счёт разных точек зрения.
  3. Не требует времени на планирование и создание документации, что ускоряет выполнение тестирования. Хотя отсутствие документации ускоряет процесс, найденные баги всё же стоит фиксировать. Это поможет в дальнейшем анализе дефектов и воспроизведении найденных ошибок.

Недостатки Ad-hoc тестирования

  1. Трудности с воспроизведением ошибок. Отсутствие фиксированной структуры или документации приводит к тому, что шаги, приведшие к обнаружению бага, остаются неизвестными или забываются.
  2. Отсутствие отслеживания требований. Нет документации, матрицы прослеживаемости или данных о покрытии тестов. Это создаёт трудности в оценке качества покрытия требований.
  3. Зависимость от навыков тестировщика. Эффективность тестирования зависит от опыта и знаний системы, так как Ad-hoc тестирование предполагает интуитивное выявление ошибок. Понимание системы, логики её работы и частых дефектов требует времени, что делает Ad-hoc тестирование менее эффективным для новичков.

Лучшие практики Ad-hoc тестирования

Ниже перечислены некоторые из лучших практик, которые следует использовать для Ad-hoc тестирования

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

Ad-hoc тестирование vs исследовательское тестирование

Часто термины Ad-hoc и исследовательское (Exploratory) тестирование путают. Однако между ними есть различия:

Ad-hoc тестированиеИсследовательское тестирование
Перед началом требуется изучить ПО и подготовиться.Изучение и исследование системы проходят одновременно.
Тестировщик должен иметь полное представление о программном обеспечении до начала работы.Нет необходимости в предварительном понимании программного обеспечения.
У процесса нет цели или задачи, все делается случайно, без какой-либо структуры.Можно установить цели и задачи, но при этом дать тестировщику свободу действий.
Документация отсутствует, шаги не документируются.Можно документировать или записывать выполненные действия. Таким образом, выявленные ошибки могут быть легко воспроизведены.

Заключение

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

Перевод статьи «Adhoc Testing».

Оставьте комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *