logo
Ещё

Тест-дизайн

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

Тест-дизайн – что это такое

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

Грамотное проведение тест-дизайна предусматривает получение на выходе результата в виде трех основных составляющих:

  1. Комплектная спецификация. Представляет собой исчерпывающий набор документов, досконально регламентирующих процедуру проверки ПО.
  2. Оценка рисков и возможных проблем. Сводит к минимуму вероятность возникновения трудностей в процессе тестирования.
  3. Анализ предыдущих версий (при наличии). Помогает в разработке более эффективных тестов.

Типы тестирования

Перед тем как приступить непосредственно к описанию особенностей тест-дизайна, целесообразно уделить немного внимания более общей информации о типах тестирования. Их классификация ведется по множеству признаков. Чаще всего используются два.

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

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

Второе адресовано программным продуктам на стадии практического использования. Делится на три подвида по уровню получения доступа к исходному коду. Условно объект ассоциируется с ящиком, а степень информирования тестировщика о нем – с прозрачностью:

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

Этапы тест-дизайна

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

  1. Изучение исходной документации и анализ требований к ПО, предъявляемых заказчиком (с разделением на функциональные и нефункциональные).
  2. Разработка стратегии тестирования и основных сценариев проверки программного продукта.
  3. Выбор оптимальных подходов, методов и видов тестирования.
  4. Составление комплекта рабочей документации (чек-листы, тест-кейс и т.д.)
  5. Проведение мероприятий по созданию подходящей тестовой среды в виде окружения, необходимого для получения объективных и точных результатов.
  6. Непосредственное тестирование ПО в соответствии с ранее разработанными регламентами.
  7. Анализ полученных результатов. Как с точки зрения оптимизации программного продукта, так и в плане улучшение дизайна типовой процедуры тестирования (если планируется использовать ее в дальнейшем в качестве базы).

Базовые техники

В настоящее время теория тестирования выделяет пять основных техник тест-дизайна. Каждую имеет смысл описать несколько подробнее:

  1. Эквивалентное разделение. Базируется на разбиении исходных данных для теста на несколько категорий по какому-либо признаку. Например, возрасту или социальному статусу. Далее проводится тестирование для каждой из полученных групп (причем для нескольких значений). Техника эффективна для многочисленной целевой аудитории, если ее удобно классифицировать.
  2. Анализ граничных значений. Исходные действия аналогичны описанным выше и заключаются в разделении целевой аудитории на группы. Но в этом случае тестирование направлено на проверку работы ПО для граничных значений. То есть расположенных на стыке отдельных категорий.
  3. Переход состояний. Техника строится на построении диаграммы с визуальным отображением текущего состояния ПО в разное время и на разных стадиях эксплуатации. Такой подход к тест-дизайну позволяет добиться высокой точности результатов даже для программ с большим числом и высокой сложностью настроек.
  4. Попарное тестирование. Оригинальная техника, которая удачно сочетает теоретическую сложность и простоту применения (при задействовании специальных автоматизированных инструментов). Базируется на создании уникальных пар тестовых данных с последующей проверкой каждой возможной комбинации.
  5. Прогнозирование ошибок. Техника основана на опыте и квалификации тестировщика, которые предполагает, где именно могут находиться баги в конкретном программном продукте.

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

Требования к тестировщику

Эффективная работа тестировщика на этапе тест-дизайна предусматривает наличие нескольких обязательных навыков и личностных качеств. В их число входят:

  1. Понимание методологии и принципов тестирования. Причем речь идет о разных типах и техниках проверки, включая функциональные и нефункциональные тесты, а также самые разные виды тестирования.
  2. Способности к аналитической работе. Несмотря на кажущуюся расплывчивость формулировки, именно грамотная аналитика лежит в основе тест-дизайна. Причем в данном случае она намного важнее, чем для любого отдельного вида тестирования.
  3. Профессиональные знания. Речь идет о понимании базовых принципов программирования (желательно – вместе с одним или несколькими распространенными языками) и работы с базами данных, умение применять на практике основные инструменты и сервисы проверки, другие навыки и умения, освоение которых осуществляется в рамках обучения на онлайн-курсе или любым другим способом (в том числе – на практике).
  4. Аккуратность и внимание к деталям. Профессиональная деятельность тестировщика (и прежде всего – в сфере тест-дизайна) предусматривает кропотливую работу, точность выполнения инструкций, тщательное следование правилам и т.д., и т.п. Без всего этого рассчитывать на построение успешной карьеры попросту не приходится.
  5. Склонность к творчеству и импровизации. Самым парадоксальным образом данный пункт списка соседствует с предыдущим. Что вполне логично, так как лучшими тестировщиками становятся специалисты, которым удается найти оптимальный баланс между исполнительностью и творческим началом.
  6. Умение и желание учиться. Завершающее требование к специалисту по тест-дизайну, примерно одинаковое для всего персонала IT-компаний. Его наличие объясняется быстрым совершенствованием информационных технологий в целом и методов программирования/тестирования в частности. Что делает необходимым постоянное получение новых знаний, количество которых неуклонно растет.

FAQ

Что понимается под тест-дизайном?

Это процесс разработки детальной процедуры тестирования для последующего применения на практике.

Чем тест-дизайн отличается от обычного тестирования?

Фактически, тест-дизайн представляет собой подготовку к тестированию, то есть работу по организации проверки ПО, но не проведение самой проверки.

Как стать квалифицированным и опытным тест-дизайнером?

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

Вывод

  1. Тест-дизайн – разработка процедуры тестирования ПО с точки зрения документации, стратегии и плана проведения мероприятий.
  2. Результатом тест-дизайна становится: полноценный комплект документов (спецификация), оценка сложностей и рисков, анализ предыдущих версий ПО.
  3. Грамотный тест-дизайнер обеспечивает точность и объективность результатов тестирования, полученных в сжатые сроки и с минимальным уровнем затрат (как временных, так и финансовых).