У цій статті ми розглянемо поняття «Валідація» і як правильно підійти до її тестування.
Для початку давайте розберемося, що означає поняття «Валідація» саме в IТ сфері.
Простими словами, валідація (Validation) – це процес перевірки значень за певним раніше затвердженим стандартом, вимогою, правилом. Наприклад: поле дня народження приймає тільки ціле позитивне число (включаючи нуль) і не може бути більше, ніж 31 (так як максимальне значення днів серед місяців – 31 день). Також є досить часта помилка в тому, що деякі люди плутають валідацію з верифікацією.
Верифікація – це підтвердження того, що все виконано відповідно до стандарту, вимог, правил.
Після того як ми вже з’ясували що таке валідація, виникає питання, а чи потрібна вона? Відповідь дуже проста – вона забезпечує збір інформативної, потрібної, відсортованої інформації. Також валідація може слугувати як засіб безпеки, адже якщо до бази даних ввести дані, які їй не надані, то вона може зависнути та піти в рестарт, видати приватну інформацію або видалити усе.
Є три типи валідації:
- Миттєва – такий тип валідації застосовується в тому випадку, коли під час написання значення система визначає чи підходить воно вимогам чи ні.
- Після втрати фокусу – валідація відбувається після перемикання на інше поле або після натискання на іншу область.
- Після відправки форми – процес валідації починається тільки після того, як буде натиснута умовна кнопка «Надіслати», після цього система почне перевіряти чи заповнені поля згідно з вимогами.
Який вид валідації вважається найкращим? Це безумовно той, який дає інформацію користувачеві швидше, скорочуючи час на повернення до виправлення помилки, і це – миттєва валідація. Але є ряд причин, за якими немає можливості реалізувати такий вид валідації, тому найбільш поширеним є валідація після втрати фокусу. А тип валідації після відправки форми використовується тоді, коли валідація після втрати фокусу неможлива.
Також потрібно згадати про один особливий випадок, коли окремі поля проходять валідацію і не видають помилки, але при їх комбінуванні вони будуть видавати значення, яке не задовольняє систему. Давайте розберемо на прикладі поле для введення мобільного телефону: ви вводите код країни (+380) – валідація успішна, такий код країни існує в дійсності. Після цього вводьте номер телефону (9611001231) – валідація також успішна, в поле введені цифри, але ось система в цілому не прийме ці дані і видасть помилку, оскільки номер мобільного телефону для коду країни «+380» не повинен перевищувати 9 цифр.
У випадках, коли валідація не проходить перевірку, користувачу приходить візуальне сповіщення у вигляді:
- текстового повідомлення (часто червоного кольору);
- виділення поля червоним кольором;
- виділення тексту червоним кольором;
- комбінованих сповіщень ( одночасно відображається повідомлення червоним кольором і текст виділений червоним кольором);
- спеціальних знаків (знак оклику і т.ін.).
Це найбільш розповсюджені сповіщення
Як же користувачеві не дати відправити дані, які не пройшли валідацію? Все дуже просто – заблокувати або не показувати кнопку для відправки даних або не відправляти дані після натискання кнопки, поки користувач не заповнить всі згідно з вимогами.
Далі на прикладі розберемо більш детально, як же правильно підходити до тестування валідації і як правильно тестувати валідацію. Ці приклади і підказки не є рішенням для тестування всіх типів валідації, вони показують найбільш поширені варіанти.
Розглянемо приклад форми реєстрації нового користувача.