Функціональні тести дуже важливі. Так, для написання потрібен час, але якщо ви пишете правильні функціональні тести, вони будуть більш ніж варті.
Існує кілька вагомих причин робити автоматизовані функціональні тести на програму.
- Коли на ваш веб-сайт додається нова функція, вона повідомляє вас про те, чи зміни, внесені за цією новою функцією, порушують будь-яку іншу функціональність вашого сайту.
- Це документально підтверджені знання про те, як програма працює і працює разом для досягнення бізнес-потреб.
- Коли настав час оновити сторонні бібліотеки, ви можете оновити її та запустити свій функціональний тестовий набір, щоб побачити, чи щось порушиться. Замість того, щоб самостійно переглядати кожну сторінку, ви можете змусити комп’ютер зробити це за вас і дати вам список усіх тестів, які зламалися.
- Тестування навантаження! Ви можете імітувати тисячі одночасно користувачів, які потрапляють на ваш сайт одночасно, і ви можете бачити, де ваш сайт сповільнюється і піддається тиску. Ви можете бачити, як поводиться ваш веб-сайт задовго до того, як ви отримаєте дзвінок пізньої ночі про те, що сайт вийшов з ладу.
- Функціональне тестування потребує часу вручну. Так, писати справи потрібно багато часу, але якби вам довелося сісти за палітуркою з 500 сторінок тестів, які вам довелося виконати, перш ніж ви могли доставити продукт, який ви хочете, щоб у вас були автоматизовані тести!
- Документи тестування застаріли швидко. Коли буде додана нова функція, вам потрібно обов’язково оновити документ головного тестування. Якщо хтось пропускає якісь тести, ви раптом отримуєте помилки, що переповзають на сторінки, які "зроблені та перевірені". Зараз я працюю в такому середовищі, і можу вас запевнити, це кошмар.
Зрештою, так, для написання цих справ потрібен час, але ви повинні пишатися їх написанням. Це ваш спосіб довести, поза тінню сумнівів, що ваш код працює, і він працює з усіма іншими функціями там. Коли QA приходить до вас і каже, що є помилка, ви виправляєте її, а потім додаєте її до свого тестового набору, щоб показати, що вона виправлена, і переконайтеся, що вона більше не повториться.
Це ваша мережа безпеки. Коли хтось заходить і викрадає збережену програму і внесе невеликі зміни, щоб вона працювала з їх кодом, ви зрозумієте, що вона порушила 3 інші функції в процесі. Ви зловите його в ту ніч, а не в ніч до встановленого терміну!
Що стосується написання функціональних тестів лише для системно важливих функцій. Це не дасть вам всієї картини, і це дозволить клопам проникнути через них. Все, що потрібно, полягає в тому, щоб додати одну маленьку функцію, яка не є критичною для системи, але опосередковано взаємодіє з критично важливою функцією системи, і у вас є потенціал для введення помилки.