Исследовательское тестирование и исследовательские туры Виттакера

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

Спасибо моим коллегам, которые на себе опробовали каждый тур и дали свой фидбек! Без них, книги Виттакера “Exploratory Software Testing”  и мировой паутины не получилось бы статьи!

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

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

Исследовательское тестирование (exploratory testing) — это одновременное изучение программного продукта, проектирование тестов и их исполнение.

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

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

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

 

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

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

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

 

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

Самые распространенные случаи:

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

Но, на самом деле, теория исследовательского тестирования 3.0 отказывается вообще от термина “исследовательское тестирование”, заявляя о нем как об избыточном и бесполезном. Исследовательское тестирование – это любое настоящее тестирование.

 

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

Для управления исследовательским тестированием может использоваться Session-Based Test Management. В основе этой модели лежат:

  • Тестовые сессии — ограниченные промежутки времени, в рамках которых происходит тестирование‎. При этом каждая сессия имеет тему.
  • Отчеты по результатам сессий, оформленные в пригодной для парсинга и сбора статистики форме.
  • Обсуждение лидом и тестировщиком результатов проведенной сессии.

 

Идея туров в исследовательском тестировании

Чтобы систематизировать исследовательское тестирование можно использовать идею туров.  Туры — это идеи и инструкции по исследованию программного продукта, объединенные определённой общей темой или целью. Туры, как правило, ограничены по времени — длительность тестовой сессии не должна превышать 4 часа.

Идею туров развивали в своих работах Канер, Бах, Хендриксон, Болтон, Кохл и другие. В конце статьи есть дополнительные ссылки на их работы.

Джеймс Виттакер, хоть и не придумал саму идею туров, но предложил свой подход к исследовательскому тестированию с использованием туров и в своей книге “Exploratory Software Testing” в доступной форме озвучил идею туров и описал сами туры.

Тур — это своего рода план тестирования, он отражает основные цели и задачи, на которых будет сконцентрировано внимание тестировщика во время сессии исследовательского тестирования. При этом Виттакер использует метафору, что тестировщик — это турист, а тестируемое приложение — это город. Обычно у туриста (тестировщика) мало времени, поэтому он выполняет конкретную задачу в рамках выбранного тура, ни на что другое не отвлекаясь. Город (ПО) разбит на  районы: деловой центр, исторический район, район развлечений, туристический район, район отелей, неблагополучный район.

 

Именно турам Виттакера и опыту их реального применения посвящена дальнейшая информация в статье. Спасибо моим коллегам, которые на себе опробовали каждый тур и дали свой фидбек! Без них, книги Виттакера и мировой паутины не получилось бы статьи.

 

Общая карта районов приложения и туров по ним

 

 

 

Матрица по турам и типам багов, которые они находят

Матрица основана только на опыте применения в моей команде.

 

Continue reading

Заметки про тайм-менеджмент

Я закончила университет в 2007 году по специальности математик-программист. Была относительно прилежной студенткой. Домашки делала сама. В обучении была заинстересована. Старалась не пропускать занятия, даже какие-то очевидно бесполезные ввиду неадекватности изложения материала.

Ввиду врожденной прилежности и воспитания я так же себя вела и при обучении во втором своем университете на психолога-менеджера. До тех пока у нас не появился один хороший старичек, который одной простой фразой изменил моё отношение ко времени: “У человека есть только две настоящие ценности — время и здоровье. Именно ими человек расплачивается за всё, что с ним происходит. Ни деньгами, а временем и здоровьем!”

 

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

Continue reading

Планирование и оценка трудозатрат на тестирование

С очень хорошим и сильным докладом на конференции SQA Days-15 выступила Александа Ковалева — «Планирование трудозатрат на тестирование». Саша, как и на прошлых свои выступлениях,  была воодушевляюща, мила, открыта, профессиональна! Восторгаюсь ей. Всё очень по делу.

Как и ранее, я транслирую конспект доклада, совмещенный с моим пониманием этой темы и моими дополнениям.

Планирование тестирования — это целый комплекс работ, состоит из следующих этапов:

  1. Определение требований к тестам
  2. Оценка продуктовых и проектных рисков
  3. Разработка плана тестирования:
    1. Разработка стратегии тестирования
    2. Определение ресурсов
    3. Проработка конкретных задач по тестированию
  4. Оценка трудозатрат на каждую из работ
  5. Создание графика работ с распределением ресурсов
  6. Мониторинг и сравнение результатов работы и на соответствие плану и графику. Перепланирование по необходимости.

Continue reading