Prog Academy
RU UA
QA та тестування

Що таке тестування програмного забезпечення?

Тестування ПЗ — перевірка того, що програма працює так, як задумано: відповідає вимогам, коректно поводиться за несподіваних даних і не ламається там, де раніше працювала. Мета — знайти дефекти до того, як їх знайде користувач.

Види тестування групують за кількома осями. За обʼєктом: функціональне (що робить програма) і нефункціональне (навантаження, безпека, зручність). За рівнем: модульне, інтеграційне, системне, приймальне. За способом виконання: ручне й автоматизоване.

Повністю протестувати програму неможливо: комбінацій вхідних даних нескінченно багато. Тому робота тестувальника — це вибір: техніки тест-дизайну допомагають покрити максимум ризиків обмеженою кількістю перевірок.

Повʼязані терміни

QA

QA (Quality Assurance) — забезпечення якості продукту: робота над тим, щоб дефекти не зʼявлялися, а не лише знаходилися. QA охоплює весь процес розробки — від аналізу вимог до випуску версії.

Manual Testing

Ручне тестування — перевірка продукту людиною без запуску автотестів: тестувальник сам проходить сценарії, вивчає поведінку інтерфейсу й фіксує розбіжності з очікуваним результатом.

Test Automation

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

Unit Testing

Модульне тестування — перевірка окремої невеликої частини коду — функції або класу — в ізоляції від решти системи. Такий тест не звертається до бази даних і зовнішніх сервісів: замість них підставляють заглушки.

E2E Testing

E2E (end-to-end) тестування — перевірка повного користувацького сценарію на зібраній системі: тест відкриває браузер, реєструється, додає товар у кошик, оплачує й переконується, що замовлення зʼявилося. Усі компоненти при цьому працюють по-справжньому.

Regression Testing

Регресійне тестування — повторна перевірка вже працюючої функціональності після змін у коді. Його мета — переконатися, що нова функція чи виправлення бага не зламали нічого з того, що раніше працювало.