QA та тестування
Що таке тестування програмного забезпечення?
Тестування програмного забезпечення (software testing, тестування ПЗ) — це перевірка того, що програма працює так, як задумано: відповідає вимогам, правильно реагує на несподівані дані і не ламається там, де раніше працювала. Мета — знайти помилки раніше, ніж їх знайде користувач.
Види тестування ділять за кількома ознаками. За об’єктом: функціональне (що робить програма) і нефункціональне (навантаження, безпека, зручність). За рівнем: модульне, інтеграційне, системне, приймальне. За способом виконання: ручне та автоматизоване.
Повністю протестувати програму неможливо: комбінацій вхідних даних нескінченно багато. Тому робота тестувальника — це вибір: техніки тест-дизайну допомагають покрити найбільше ризиків обмеженою кількістю перевірок.
Де застосовується
Тестування відбувається на всіх рівнях одночасно. Розробник покриває логіку модульними тестами, автоматизатор перевіряє зв’язки між сервісами і ключові сценарії користувачів, а ручний тестувальник досліджує нову функцію і ситуації, які складно передбачити заздалегідь.
Окремі види перевірок додають за потреби: навантажувальне тестування перед розпродажем, тестування безпеки для платіжних сервісів, перевірку доступності для державних порталів, сумісність із різними браузерами і пристроями для масових продуктів.
Приклад
Форма замовлення працює, поки в неї вводять очікувані дані. Тестувальник пробує порожнє ім’я, телефон із літерами, від’ємну суму і подвійне натискання кнопки — і знаходить сценарій, за якого замовлення створюється двічі, а гроші списуються один раз.
Часті запитання
Які види тестування існують?
За рівнем — модульне, інтеграційне, системне, приймальне. За способом — ручне та автоматизоване. За метою — функціональне, навантажувальне, тестування безпеки, зручності і сумісності. Набір обирають під продукт: платіжному сервісу і внутрішньому довіднику потрібні різні перевірки.
Чи можна протестувати програму повністю?
Ні, і це базовий принцип професії. Кількість можливих комбінацій даних і сценаріїв практично нескінченна. Тому задача не «перевірити все», а правильно обрати перевірки: там, де помилка найімовірніша і де її наслідки для бізнесу найсерйозніші.
Чим баг відрізняється від дефекту і помилки?
У суворій термінології помилка — це дія людини, дефект — її слід у коді чи документації, а відмова — видима неправильна поведінка системи. У щоденній роботі «баг» вживають як загальне слово для дефекту, і це цілком нормально.
Коли треба починати тестування?
Якомога раніше — найкраще з вимог, ще до написання коду. Помилку у вимогах виправляють зміною формулювання. Та сама помилка після релізу коштує в рази дорожче: переробка, повторне тестування і зіпсоване враження користувачів.
Навчання тестуванню в OWU
Опануйте професію QA-інженера на практичних курсах із менторами та реальними проєктами.
Обрати курс