Що таке модульне тестування (unit-тести)?
Модульне тестування — перевірка окремої невеликої частини коду — функції або класу — в ізоляції від решти системи. Такий тест не звертається до бази даних і зовнішніх сервісів: замість них підставляють заглушки.
Unit-тести — найшвидший і найдешевший рівень перевірки. Вони виконуються за мілісекунди, запускаються сотнями за кожної збірки й точно вказують місце поломки: тест, що впав, одразу називає конкретну функцію.
Пише їх зазвичай сам розробник. Окрім захисту від помилок, вони дають свободу рефакторингу: код можна переписувати, знаючи, що порушення поведінки буде помічено одразу.
Повʼязані терміни
Інтеграційне тестування перевіряє, як кілька компонентів працюють разом: застосунок і база даних, сервіс і зовнішнє API, два мікросервіси між собою. Окремо кожна частина може бути справною, а на стику все одно виникне помилка.
E2E TestingE2E (end-to-end) тестування — перевірка повного користувацького сценарію на зібраній системі: тест відкриває браузер, реєструється, додає товар у кошик, оплачує й переконується, що замовлення зʼявилося. Усі компоненти при цьому працюють по-справжньому.
Test AutomationАвтоматизація тестування — написання програм, які самі виконують перевірки й порівнюють результат з очікуваним. Такі тести запускають за кожної зміни коду, щоб швидко помічати поломки у вже працюючій функціональності.
CI/CDCI/CD — автоматичний конвеєр, через який проходить кожна зміна коду: збірка, запуск тестів і доставка готової версії на сервери. Розробник надсилає код у репозиторій, а все інше відбувається без ручних дій.
Software TestingТестування ПЗ — перевірка того, що програма працює так, як задумано: відповідає вимогам, коректно поводиться за несподіваних даних і не ламається там, де раніше працювала. Мета — знайти дефекти до того, як їх знайде користувач.