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

15 декабря 2023
Дата публикации
Исследовательское тестирование
  • Тестирование ПО
Нет ничего хуже, чем выпустить новый ИТ-продукт только для того, чтобы обнаружить в нём ошибку сразу после релиза. Чтобы ИТ-решение стало востребованным, необходимо протестировать его до выпуска. Существует множество различных подходов к тестированию программного обеспечения, но в статье мы рассмотрим исследовательское тестирование: что это такое, что оно может дать бизнесу и когда лучше всего его применять.

Что такое исследовательский подход к тестированию

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

Исследовательское тестирование, как следует из названия, не предполагает подготовки какого-либо сценария. Вместо этого специалист, как правило, исследует приложение со всех сторон в качестве обычного пользователя.

Фраза «исследовательское тестирование» впервые появилась в книге Джема Канера «Тестирование программного обеспечения» (1987 год). В ней Канер говорит: «Неважно, сколько времени вы потратили на выполнение тестов и сколько тестовых примеров вы создали, однажды у вас закончатся формально запланированные тесты. Но вы можете продолжать тестирование. Проводите новые проверки, не тратя много времени на их подготовку. Доверяйте интуиции».

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

Какие плюсы исследовательского тестирования бизнесу

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

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

Почему исследовательское тестирование не всегда применимо

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

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

Ещё одна особенность исследования заключается в том, что тестировщик не следуете «карте». Он буквально «прощупывает» путь, а это значит, что не всегда будет двигаться по самому эффективному маршруту к какому-либо результату. После часа тестирования инженер может найти 10 ошибок. А может не найти ни одной. Довольно трудно понять, какая часть решения была протестирована, в то время как при скриптовом тестировании заказчик точно знает, что после часа тестирования проверено 25% продукта.

Подобная неопределённость, связанная с непониманием того, какая часть ПО проверена, может также привести к неопределённости, касательно времени окончания тестирования. Как определить, что продукт протестирован достаточно и его можно выпускать? Стоит ли продолжать скриптовое тестирование или достаточно исследовательского? В такой ситуации поможет QA-инженер и его предыдущий опыт.

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

Если вы понимаете, что исследовательское тестирование может быть эффективным методом анализа функций и ПО вашей компании, есть несколько простых шагов, которые необходимо предпринять, чтобы сделать тестирование успешным.
  1. Воспользуйтесь услугами опытного провайдера по обеспечению качества: благодаря тестированию сотен ИТ-решений из разных отраслей профессионалы знают, где именно могут скрываться проблемы. Вы получите гораздо больше пользы, нежели позволите неопытным тестировщикам бесцельно «блуждать» по вашему ИТ-продукту.
  2. Определите заранее, на какие модули стоит обратить особое внимание в ходе тестирования. Например: «Обратите внимание на процесс поиска новых товаров на нашем веб-сайте и то, как выбранные позиции взаимодействуют с корзиной покупок».
  3. Установите временные рамки, чтобы понимать, когда можно перейти к следующему этапу. Например, можно выделить, 4-6 часов на тестирование небольшого мобильного приложения, а затем проанализировать результаты.
  4. Установите, в каком формате вы желаете получить отчёт о результатах тестирования и как именно вы планируете внедрять изменения. Рекомендации от QA-специалистов могут стать основой для проектирования новой тестовой стратегии, написания автотестов и т.д.
  5. Старайтесь фиксировать информацию о том, что именно протестировали и с какой целью. Хороший пример такого примечания: «Мы тестируем взаимодействие с корзиной покупок, чтобы гарантировать возможность добавления, редактирования и удаления продуктов пользователями».
Итак, стоит ли проводить исследовательское тестирование? Оно эффективно, но подходит не для всех проектов и ИТ-решений. В некоторых ситуациях, оно может показать лучший результат, чем другие виды тестирования. Исследовательские тесты помогут найти неочевидные дефекты в ПО или стать основой для подготовки скриптового тестирования или написания автотестов. Для более подробной консультации вы можете обратиться к нашим QA-специалистам.