Понятие и техники тест-дизайна в жизни QA-специалиста

Рейтинг: 4.0/5. на основе 1 оценки.
Пожалуйста, подождите...

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

За последние несколько лет тестирование достаточно очевидно сформировалось в отдельную область, которая постоянно терпит изменения и улучшения.

Далее речь пойдет о деятельности именно ручного тестировщика и о том, как он должен справляться с основами тест-дизайна.

Понятие тест-дизайна и проблемы его использования

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

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

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

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

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

Но самое важное – это возможность правильно на интуитивном уровне имплементировать данные правила и порядки. Именно умение правильно анализировать отличает хорошего тестировщика от рядового!

Базовыми задачами любого тест-дизайна являются:

  • Процесс анализа требований и рисков;
  • Возможность определения базовых проверок для тестирования;
  • Основы формализации проверок в типе тестовых сценариев;
  • Возможность приоритезации тестовых проверок;
  • Аналитика подходов к процессу тестирования.

Реализация техник тест-дизайна на практике

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

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

Класс эквивалентности

Класс эквивалентности – это специальный набор входных параметров ПО, которые проходят процесс обработки программой по 1 алгоритму или приводят к одному желаемому итогу.

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

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

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

Ознакомимся с примером

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

Есть такие данные от пользователей:

  • От 18 до 25 лет – 18%;
  • От 25 до 45 лет – 16 %;
  • Старше 45 лет – 20%.

Наша задача – определить 2 базовых класса эквивалентности – негативные и позитивные сценарии проверки.

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

Далее можно поделить класс позитивных сценариев на 3 класса вводными значениями от 18 до 24, от 25 до 44 и свыше 45.

В классе негативных итогов мы можем сформировать значение, исходя в первую очередь из надобности проверки отказов ПО. Следовательно, имеем 0,1-17 – отрицательные значения и ввод некорректных символов.

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

В итоге у нас получаются такие группы проверок:

  1. Позитивные проверки – ввод значений 19, 30, 48 (цифры могут быть любые с данного диапазона класса);
  2. Негативные сценарии – 0, 3, значение с минусом.

Крайне важно, что все техники тест-дизайна не применяются независимо от остальных! Более того, есть сразу три уровня использования техник тест-дизайна при подготовке к тестированию:

  • Базовый уровень – тестирование элементов системы;
  • Второй уровень – проверка работоспособности логики системы;
  • Третий уровень – тестирование бизнес-процессов системы и логики функционирования ПО.

Визуально это можно отобразить следующим образом.

Уровни использования техник тест-дизайна

Уровни использования техник тест-дизайна

В заключение

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

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

Оставить комментарий