Что пишут в блогах

Подписаться

Онлайн-тренинги

Конференции

Что пишут в блогах (EN)

Разделы портала

Про инструменты

.
Исследовательское тестирование 3.0
03.06.2015 13:40

Авторы: Джеймс Бах, Майкл Болтон

Оригинал: http://www.satisfice.com/blog/archives/1509

Перевод: Ольга Алифанова

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

Джерри хорошо понимал, чем отличается человеческий труд от машинного. Однако за ним пришли формализаторы и всех запутали. Официально формализация тестирования началась в 1972 году, когда была опубликована книга "Методы тестирования приложений". Книга концентрировалась не на сути, а на форме тестирования – то есть на словах, изображениях, строках кода, файлах, таблицах, диаграммах и прочих точно определенных формах и моделях. Эти формы и модели можно увидеть, прочитать, указать на них, переместить их, сосчитать, хранить, воспроизводить,  и поэтому так прельщает возможность определить их как "тестирование". Но тестирование – это не модели и артефакты. Тестирование - это использование артефактов человеком. Артефакты тестирования без участия людей похожи на суперсовременные клиники без докторов или медицинских сестер: как минимум – практически бесполезны, как максимум – опасны для несведущих, пытающихся их использовать.

Нет, мы не виним инноваторов – им приходилось иметь дело с едва родившимися предположениями, и их ждали великие дела. Однако формализация и механизация тестирования вскоре вырвались в большой мир. Люди заговорили о "фабриках тестирования" и плохо сформулированных стандартах IEEE, и вскоре любая приличная беседа о тестировании подразумевала тестирование по сценариям. Неформальное тестирование стало синонимом непрофессионального. Мыслящие, чувствующие, общающиеся люди были задвинуты на второй план.

Джеймс Бах ввязался в этот бой в 1987 году и попытался разложить ситуацию по полочкам. Наблюдая процесс тестирования, он обнаружил, что ad hoc тестирование хорошо работает для поиска багов, а сценарное – нет (Примечание: Мы не пытаемся показать, что обнаружить это было легко и просто. Мы хотим сказать, что неочевидные истины тестирования присутствуют вокруг нас, и их можно осознать, если отложить фольклор о моделях и сценариях и присмотреться к тому, как на самом деле работают люди). Джеймс начал рассказывать о своем опыте и писать о нем. Когда он проработал тест-менеджером несколько лет (в основном тестируя компиляторы и другие инструменты разработки), до него дошла информация, что Кем Кэнер придумал термин "исследовательское тестирование" как антоним сценарного. В своей небольшой статье Кем не дал точного определения и только кратко наметил суть понятия, но он был первым, кто заговорил о создании тестов во время их исполнения.

Так появилось то, что мы называем "Исследовательским тестированием 1.0".

 

ИТ 1.0: Восстание

Тестирование со сценариями и без – это очень разные вещи. Во-первых, нам импонировало качество идей, появляющихся у нас во время исследовательского тестирования. Нам удавалось находить больше багов, и обнаруживать более качественные баги, и мы чувствовали, что тестируем лучше. Однако мы еще не поняли, почему это так. Поэтому первая итерация “теории исследовательского тестирования” фокусировалась на побеге из смирительной рубашки сценариев и создании пространства для этого "более качественного тестирования". Мы сталкивались с аргументом "ad hoc тестирование невозможно проконтролировать, им нельзя управлять, поэтому им не следует заниматься". Мы сопротивлялись и пытались сломать этот стереотип, и в этом плане исследовательское тестирование стало совершенно особым видом деятельности. Первопроходцы исследовательского тестирования относились к нему как к технике и отстаивали ее достоинства: "Отбросьте свои сценарии и посмотрите на продукт! Взаимодействуйте с ним! Ищите ошибки!".

Большая часть мира до сих пор думает об исследовательском тестировании как о технике и виде деятельности. Но мы были неправы, определяя его таким образом. Этот подход изолирует ИТ и представляет его в ложном свете. Для начала это было неплохо, но продолжать размышления в этом ключе – значит зайти в тупик. Однако многие тестировщики, даже авторы книг об ИТ, вполне удовлетворены такой постановкой вопроса.

Эра ИТ 1.0 пошла на