Модуль 3 · Урок 9

Equivalence partitioning і boundary values

Test technique перетворює правило на явні coverage items. EP групує значення, які система має обробляти однаково; BVA перевіряє краї лише впорядкованих partitions, де часто ховаються off-by-one defects.

PartitionsValid / invalid2-value BVA3-value BVA

Technique — це спосіб отримати достатній набір

Black-box techniques виводять tests зі specification/model, white-box — зі structure, experience-based — зі знань про failures. Вони доповнюють одна одну. У цьому уроці test basis — правило BookFlow: тривалість бронювання має бути цілим числом від 1 до 30 днів включно.

AnalysisВизначити умови, risks і coverage items.
DesignОбрати data, oracle та expected outcome.
EvidenceПоказати, які items виконані й що лишилось.

Equivalence partitions без прогалин і перетинів

PartitionВизначенняRepresentativeOracle
DUR-1 invalidinteger < 10Reject: duration rule
DUR-2 validinteger 1..3015Continue booking
DUR-3 invalidinteger > 3031Reject: duration rule

Partition має бути non-empty і не перекриватися з іншою partition цього самого набору. 100% EP coverage означає, що кожна визначена valid та invalid partition виконана принаймні раз. Для кількох параметрів each-choice coverage не доводить усі комбінації.

Boundary value analysis

BVA застосовується лише до ordered partitions. Для integer range 1..30 двозначний набір навколо меж дає 0, 1, 30, 31. Тризначний додає сусідів з обох боків кожної межі: 0, 1, 2, 29, 30, 31. Перед використанням уточніть domain, крок і inclusivity: для дат, decimal або часу «найближчий сусід» інший.

Boundary не дорівнює «мінімум і максимум поля»

Спочатку визначають partitions за поведінкою, потім їхні межі. Для unordered promo codes BVA непридатна, хоча EP залишається корисною.

Практика BookFlow

  1. Заповніть `equivalence-boundary-map.csv` для duration і promo code.
  2. Додайте 2-value та 3-value tests з coverage item і oracle.
  3. Перевірте non-overlap, gaps, invalid inputs і data type.
  4. Поясніть, чого each-choice не доводить для duration + promo.

Офіційні джерела

Практична перевірка · урок 9 з 16

Закріпіть матеріал уроку

Три сценарні питання. Для зарахування уроку потрібно дати щонайменше дві правильні відповіді.

1. Що є coverage item в equivalence partitioning?
2. Яка властивість обов’язкова для partitions одного набору?
3. Який representative покриває valid duration 1..30?