Black Box Design
Unit Testing & Doubles
Test Coverage & Mutations
Integration Testing
Unknown
100

API приймає age від 18 до 65 включно. Тестуємо 17,18,19,64,65,66. Яка техніка тут використана?

EP+BVA

100

Test Double повертає наперед задане значення і не перевіряє interactions. Що це?

Stub

100

Який coverage показує, чи виконувалися обидві гілки if?

Branch coverage

100

У Repository -> DB тесті Repository замінено Mock'ом. Яка інтеграція фактично не перевіряється?  

Repository -> DB

100

Автоматизований тест відкриває реальний browser, маніпулює UI-елементами, натискає кнопки та перевіряє DOM. Який це рівень тестування?

UI / E2E (end-to-end) testing

200

Є 4 boolean conditions. Повна Decision Table має скільки rules?

16

200

Stub повертає true, але тест ще перевіряє verify(policy).isAllowed(). Який тип перевірки тут додано?

Перевірка взаємодії (поведінки)

200

Mutation tool змінив > на >=, а тест не впав. Як називається такий mutant?

Survival

200

Integration test читає result тільки з return value Service і не звертається повторно до Repository. Яка перевірка відсутня?

Persistence verification

200

UI test натискає кнопку одразу після появи елемента в DOM, але іноді кнопка ще не готова до взаємодії. Тест то проходить, то падає. Як називається такий тест?

Flaky test

300

Є 3 boolean conditions. Скільки рядків буде у повній Decision Table?

8

300

Тест перевіряє return value методу, але не перевіряє виклики dependency. Який це тип verification?

  • State verification

300

У тебе 100% line coverage, але 70% branch coverage. Що це означає?

Не всі альтернативні гілки умов були виконані

300

Два тести проходять окремо, але другий падає після першого. Яка властивість suite порушена?

Test isolation

300

Потрібно перевірити API під 500 одночасними virtual users. Який тип тестування потрібен?

Load testing

400

Умова: discount якщо age ≥ 18 і student=true. Яка техніка найкраще перевіряє всі комбінації умов?

Decision Table

400

Repository замінили Mock'ом. Чи перевіряє такий test SQL/mapping/persistence?

Ні

400

Є surviving mutant, який змінює price * quantity на price + quantity. Який тип проблеми в тестах це найімовірніше показує?

Assertions слабкі або не перевіряють правильність обчислення.

400

Тест після save() перевіряє той самий Java object, який був переданий у Repository, без повторного read. Чому це слабка integration verification?

Немає підтвердження персісту

400

Performance test тримає систему під нормальним очікуваним навантаженням протягом тривалого часу, щоб знайти degradation/leaks. Як називається такий тест?

Soak testing

500

Decision Table містить 3 conditions, але дві rules мають однакові conditions і різні actions. Що це означає про specification?

Specification inconsistency

500

Test перевіряє правильний return value і те, що dependency викликана рівно один раз. Які два типи verification тут поєднані?

State verification + interaction verification

500

Mutant вижив, але він знаходиться в dead code, яке неможливо досягти через public API. Яке рішення коректне?

Обґрунтувати виживання мутанта; нові тести не потрібні.

500

Service→Repository→DB scenario створив запис, але повторний read через Repository повернув неправильний status. Який integration defect виявлено?

Mapping/persistence defect between Service/Repository/DB

500

Local validation відхилила request до виклику HTTP dependency. Що має бути в журналі WireMock?

Zero requests

M
e
n
u