Эвристический метод в тестировании

Иногда в определениях подходов тестирования (QA, Quality Assurance) можно встретить эвристический метод. В чем он заключается? Давайте посмотрим.

Тестировщик » QA-блог » Методы » Эвристический метод в тестировании

Как эвристика и мнемоники используется в QA

Специалист в Quality Assurance должен владеть разными методами тестирования, чтобы обеспечивать качество ПО. Один из них – эвристика. В этой статье – о том, как эвристический метод применяется в тестировании.

На изображение эвристический метод в тестировании.

Что такое эвристика

Под эвристикой (от др.-греч. εὑρίσκω — «отыскиваю», «открываю») обычно понимают совокупность подходов и методов, облегчающих решение поставленных практических задач за счет использования предыдущего опыта (аналогичных случаев).

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

Эвристический метод тестирования

Эвристический метод – это такой подход, при котором стратегия тестирования ПО основывается на предыдущем опыте подобных проектов. Тестировщик (QA специалист) знает, где в прошлый раз возникали дефекты ПО, какие инструменты тестирования сработали лучше всего, какие ресурсы потребовались для QA – и исходя из этого аналогично планирует тестирование на новом проекте.

Таким образом, эвристика представляет собой один из методов тест-дизайна, который помогает оптимизировать количество тестов (и ресурсов) без существенной потери качества.

Эвристика для тестирования простыми словами

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

Вместо того, чтобы «придумывать велосипед», мы берем стратегию тестирования из аналогичного проекта и адаптируем ее под нынешний. Естественно, делать это нужно не бездумно, а с учетом специфики ПО.

Преимущества и недостатки эвристики в тестировании

Плюсы
  • Экономия памяти. Алгоритм данной конкретной эвристики можно представить в кратком формате (чертеж, алгоритм, аббревиатура, Mind Map и т.п.)
  • Упреждение ошибок. Если в предыдущих проектах в тестировании были недочеты, то эвристика помогает не забыть о них в новом.
  • Учет контекста. Эвристика напоминает о том, в какой конкретной ситуации проводится проект.
  • Структура. Эвристика структурирует проверки и делает их более эффективными. Это особенно важно, если проводится исследовательское тестирование.
Минусы
  • Риск ошибки восприятия. Эвристический метод может рождать неполный и не самый эффективный план тестирования. ПО может содержать действительно что-то принципиально новое, чего не было в предыдущих проектах, и это новое может оказаться вне проверок.
  • Субъективность. Эвристику пишет и использует человек, поэтому он может незаметно и непреднамеренно сместить акценты тестирования в те стороны, которые кажутся ему приоритетными. Но это может быть субъективно и неоправданно для данного конкретного проекта.
  • Распыление и накопление ошибок. Представим, что мы выполнили 5 аналогичных проектов, по их итогам разработали для себя некоторую эвристику. Стали применять ее на 6-м, 7-м и т.д. проектах. Но проекты все разные – возможно, применение на 10-м проекте будет менее эффективно, чем на 6-м, отсюда новые ошибки. Возникает проблема с тем, насколько регулярно, досконально и в каком порядке эвристику нужно обновлять.

Ограничения эвристического метода в тестировании

  • Эвристика – не чек-лист. Это скорее подсказка.
  • Эвристика – не стратегия тестирования. Это скорее толчок к размышлению о том, какую стратегию нужно разработать для данного проекта.
  • Эвристика – не догма. Программное обеспечение видоизменяется, и каждая эвристика тоже должна проходить проверку на актуальность.

Мнемоники

Для запоминания эвристики можно использовать текстовые мнемоники, т.е. аббревиатуры, в буквах которых зашифрованы этапы, вопросы, характеристики и т.п. 

Например, Darren McMillan предложил следующую мнемонику для анализа требований: W5HKE (WWWWWH/KE). Ее можно расшифровать следующим образом:

БукваРасшифровка буквы в вопросПеревод 
WWhat is this for?Это для чего?
WWho will use it?Кто это будет использовать?
WWhen will it be done?Когда это будет делаться?
WWhere will it be being done?Где это (код, команда) будет делаться? 
WWhy will it be done?Почему это нужно делать? (Для решения какой проблемы?)
HHow can it be achieved?Как (технически) это может быть достигнуто?
KWhat questions does my knowledge of this or related products/systems produce?Какие вопросы создает мое знание насчет этого или аналогичного продукта/системы?
EWhat questions does my experience of this or other related products/systems produce?Какие вопросы создает мой опыт насчет этого или аналогичного продукта/системы?

Резюме

Эвристика – один из методов тестирования. Он применяется в тест-дизайне, чтобы с помощью знаний и опыта оптимизировать проверки IT-продукта. Эвристический метод помогает задействовать решения из предыдущих проектов, в т.ч. с помощью шифрования мнемоник.

на изображение автор Михаил Кулешов

Автор Михаил Кулешов

Михаил, профессиональный партнерский маркетолог, является основателем компании South Media OÜ, которая была создана в 2018 году и базируется в Таллинне. С 2016 года Михаил уехал из Финляндии и жил как настоящий «цифровой кочевник» в IT-индустрии, путешествуя по миру только с ноутбуком. Михаил работает и пишет статьи, связанные с IT-индустрией.

Добавить комментарий

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