Модуль 3 · Урок 9
Equivalence partitioning і boundary values
Test technique перетворює правило на явні coverage items. EP групує значення, які система має обробляти однаково; BVA перевіряє краї лише впорядкованих partitions, де часто ховаються off-by-one defects.
Technique — це спосіб отримати достатній набір
Black-box techniques виводять tests зі specification/model, white-box — зі structure, experience-based — зі знань про failures. Вони доповнюють одна одну. У цьому уроці test basis — правило BookFlow: тривалість бронювання має бути цілим числом від 1 до 30 днів включно.
Equivalence partitions без прогалин і перетинів
| Partition | Визначення | Representative | Oracle |
|---|---|---|---|
| DUR-1 invalid | integer < 1 | 0 | Reject: duration rule |
| DUR-2 valid | integer 1..30 | 15 | Continue booking |
| DUR-3 invalid | integer > 30 | 31 | Reject: 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
- Заповніть `equivalence-boundary-map.csv` для duration і promo code.
- Додайте 2-value та 3-value tests з coverage item і oracle.
- Перевірте non-overlap, gaps, invalid inputs і data type.
- Поясніть, чого each-choice не доводить для duration + promo.
Офіційні джерела
Закріпіть матеріал уроку
Три сценарні питання. Для зарахування уроку потрібно дати щонайменше дві правильні відповіді.