Урок 17 — Техники тест дизайна. Классы эквивалентности и граничные значения.

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

Краткий конспект урока

Тест-дизайн

Тест-дизайн — это этап процесса тестирования ПО, на котором проектируются и создаются тестовые случаи (тест-кейсы) в соответствии с определёнными ранее критериями качества и целями тестирования.

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

Эквивалентное разделение

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

Эквивалентны — результат один

Пример: Регистрация на сайте знакомств + 18 лет:

  • Можно зарегистрироваться: x > 18; (18, 19, 25, 53, 100 и т д)
  • Нельзя зарегистрироваться: x < 18; (17, 15, 10, 0, 10 и т д)

Достаточно двух проверок для меньше 18, допустим 9 и больше 18, допустим 60, стараемся брать значения из середины класса.

Пример: Тз для программы по найму персонала:

Условия отбора:

  • при возрасте от 0 до 16 лет – не нанимать;
  • при возрасте от 16 до 18 лет – можно нанять только на part time;
  • при возрасте от 18 до 55 лет – можно нанять на full time;
  • при возрасте от 55 до 99 лет – не нанимать.

! Видим конфлит границ, 16 входит в два дипазона, 18 в два и 55 в два. 

Исправляем это и разделяем на классы:

  • класс эквивалентности NO: 0-16;
  • класс эквивалентности PART: 17-18;
  • класс эквивалентности FULL: 19-55;
  • класс эквивалентности NO: 56-99.

Таким образом, у нас остается только 4 позитивных тест-кейса вместо первоначальных 100 (0-99), например:

  • 10 – не нанимать;
  • 17 – нанимать на неполный день;
  • 40 – нанимать на полный день;
  • 80 – не нанимать.

Анализ граничных значений

Проверка значений, находящихся на границах классах эквивалентности. На каждой границе диапазона следует проверить по три значения:

  • граничное значение                         
  • значение перед границей
  • значение после границы   

Пример: Тз для получения скидки в кинотеатре:

Пользователь должен ввести свой возраст и если ему меньше 18 лет, то он получит скидку:

0 –——————————— 18

  • Первый класс 0 — 18
  • Меньше 0
  • Больше 18

Проверяем:

  1. внутри диапазона (7) — проверка на класс эквивалентности внутри класса
  2. cлева (-5) — проверка на класс эквивалентности меньше 0
  3. cправа (21) — проверка на класс эквивалентности больше 18
  4. границы (0,18) — проверка на граничные значения, проверяем границы
  5. граница -1 (-1, 1) — проверка на граничные значения, проверяем значение перед границей, для 0 это будет -1 и значение после границы, для 0 это будет 1
  6. граница +1 (17, 19) — проверка на граничные значения, проверяем значение перед границей, для 18 это будет 17 и значение после границы, для 18 это будет 19

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

Анализ граничных значений

  • Логические границы
  • Технологические границы
  • Произвольные границы

Логическая граница

  • В минуте 60 секунд
  • В 1 метре 100 сантиметров
  • Не можем купить 1-1,5 или меньше 0 пар обуви
  • Не можем купить меньше 0 наушников или 1,5 наушника

Технологическая граница

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

Произвольная граница

  • Согласно техническому заданию

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

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

  • Пользователь авторизован / нет
  • Пользователь с аватаркой / нет
  • У пользователя были платежи / нет
  • Пользователь давно зарегистрирован / нет
  • Пользователь в режиме супервизор / нет
  • Пользователь администратор/ нет

Тест- анализ это что мы будем тестировать.

А тест-дизайн, как мы будем тестировать.

!При проектировании тест-кейсов всегда думайте о том, как привнести больше смысла в меньшее число проверок! 

Понравилась статья? Поделиться с друзьями:
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!:

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.