11 авг. 2009 г.

Exploratory testing: Развитие понимания об исследовательском тестировании. Часть 1.


Представляю вашему вниманию очередной перевод. На этот раз статья посвящена исследовательскому тестированию (exploratory testing). Тема эта весьма интересная, и, как я вижу, слабо освещенная в нашем русскоязычном сегменте. Поскольку статья немалая, выкладываю пока первую часть, всего планируется три. Отдельное спасибо Алексею Никулину за безвозмездный перевод первого абзаца :) Итак, поехали!

Одним из заметных событий конференции CAST 2008 стал доклад Кема Канера "О пользе чеклистов и опасности сценариев: что предлагает традиционная система обучения тестировщикам". Большую часть доклада заняло сравнение исследовательского и сценарного процессов, в котором Кем противопоставил сценарии - готовые пошаговые инструкции, исполняемые более или менее автоматически - машиной или человеком, заменяющим её, и чеклисты - перечисление особенностей, которые могут быть интересны, и решение об их целесообразности находится во власти человека, пользующегося этим списком. Что по мне, самое ценное в докладе было развитие сюжета о природе исследования и исследовательского тестирования. Итак, по состоянию на 21 сентября 2008 года, моя (как обычно, тесно связанная с Кема и Джеймса Баха) актуальная на данный момент версия сюжета. Еще одна из целей - возможность сослаться на этот пост, чтобы не повторяться на форумах.

По определению Джеймса:
"тестирование - это обследование продукта в целях его оценки".
По Кему, современное исследовательское тестирование это (делаем глубокий вдох:
"стиль тестирования, подразумевающий определенную свободу и ответственность конкретного тестировщика в постоянной оптимизации качества его работы, воспринимающего проектирование, выполнение , оценку результатов тестов и познание (прим. пер. - изучение продукта; накопление опыта; развитие навыков; далее - познание) как взаимодополняющие активности, которые протекают параллельно на протяжении всего проекта".
Это было определение, которое он предложил на симпозиуме Heuristic and Exploratory Techniques в Palm Bay, Флорида, в марте 2006 (в котором James Bach, Jonathan Bach, Scott Barber, Tim Coulter, Rebecca Fiedler, David Gilbert, Marianne Guntow, James Lyndsay, Robert Sabourin, Adam White, Cem и я принимали участие). Короткая версия Джеймса:
"одновременное проектирование, выполнение тестов и познание".
Оба означают одно и то же. Одно более точное, другое краткое по содержанию.

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

  • Процессы проектирования, выполнения и оценки результатов тестов и познание протекают вместе, нежели раздельно во времени

  • Тестировщик самостоятельно определяет что, когда и как тестировать, может автоматизировать или применять любой инструмент, или ничего вообще - как он считает необходимым

  • Все, что познано на данный момент, включая результаты самого последнего теста, определяет какой следующий тест выберет тестировщик

  • Тестировщик ориентирован на выяснение новой информации, нежели подтверждение имеющейся

  • В целом, тестировщик предпочитает разнообразить аспекты своих тестов, нежели повторять их, если повторение теста специально не направлено на раскрытие новой информации


Часть 2
Часть 3

5 комментариев:

LeshaL комментирует...

Добрый день!
А можно узнать источник, автора?

bugsclock комментирует...

Можно, в последней части будут ссылки :Р Это из блога Болтона.

Александр Лобач комментирует...

С моей точки зрения правильней:
это обследование продукта с целью сбора информации для его оценки

bugsclock комментирует...

Правильнее перевод или оригинальное определение? "questioning the product in order to evaluate it"

Анонимный комментирует...

Поддержу вопрос LeshaL. IMHO, ссылки и указание автора были бы крайне полезны в начале каждой части.