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