Негативне тестування в тестуванні програмного забезпечення – це техніка, яка перевіряє, як ваш додаток реагує на неочікувану поведінку або невірні дані. Цей тип тестування може допомогти командам із забезпечення якості покращити надійність та стабільність програмного забезпечення, відстежуючи винятки, які спричиняють зависання, збої чи інші небажані наслідки.
У цій статті ми розглянемо, що таке негативне тестування програмного забезпечення, чому воно важливе, а також деякі різні підходи, методи та інструменти, які ви можете використовувати для цієї техніки.
Що таке негативне тестування програмного забезпечення?
Негативне тестування – це техніка тестування програмного забезпечення, яка навмисно подає системі невірні вхідні дані або неочікувані дані, щоб побачити, як вона справляється з цими сценаріями. Цей підхід, також відомий як тестування відмов або тестування шляхів помилок, імітує різноманітні реальні сценарії, з якими може зіткнутися ваш додаток, наприклад, коли користувачі вводять невірні дати або символи або використовують певні функції не за призначенням.
Більшість типів тестування використовують достовірні дані для перевірки програми. Однак негативне тестування використовує інший підхід, тестуючи за межами типових вхідних даних і дивлячись на те, як програма обробляє винятки.
Важливо перевірити, чи працює ваш додаток за призначенням. Але, з іншого боку, розуміння того, що відбувається, коли користувачі виходять за рамки дозволеного, також є життєво важливим, особливо якщо таке ненавмисне використання призводить до збоїв, зависань або інших дефектів.
Різниця між позитивним тестуванням і негативним
тестування в тестуванні програмного забезпечення
Як ми вже зазначали вище, негативне тестування використовує неочікувані або недостовірні дані для перевірки поведінки системи. На противагу цьому, позитивне тестування підштовхує очікувані або достовірні дані для перевірки того, що система працює так, як очікувалося.
Іншими словами:
- Позитивне тестування допомагає зрозуміти, чи працює ваш додаток так, як планувалося
- Негативне тестування визначає, чи може ваш додаток впоратися з непередбачуваними подіями
Як позитивне, так і негативне тестування в тестуванні програмного забезпечення є обов’язковими, якщо ви хочете ретельно протестувати свій додаток.
Чому негативне тестування програмного забезпечення є життєво важливим?
Коли розробники створюють програмне забезпечення, вони мають чітке уявлення про те, як користувач буде його використовувати. Однак користувачі не завжди дотримуються правил. Досить часто вони намагаються натиснути на неіснуючі кнопки, ввести літери в числові поля або спробувати ввести дані, яких ви просто не очікуєте.
Негативне тестування має на меті врахувати ці граничні випадки, які не можуть бути виявлені методами позитивного тестування, такими як
блок
,
системне
або
інтеграційне тестування
. Для того, щоб придумати “криві м’ячі”, які можна кинути в систему, потрібне нестандартне мислення. Однак кінцевим результатом є більш стабільний та надійний додаток.
Для чого потрібне негативне тестування
у тестуванні програмного забезпечення?
Негативне тестування має схожі цілі з іншими видами тестування програмного забезпечення. А саме, виявляти помилки, дефекти та вразливості в додатку. Однак він відіграє особливу роль у пошуку дефектів, які неможливо виявити за допомогою достовірних даних. Ось деякі з причин для прийняття негативного підходу до тестування.
1. Виявлення дефектів
Основна мета негативного тестування в тестуванні програмного забезпечення – виявити дефекти, які виникають через невірні дані або неочікувані вхідні дані. Це дозволяє тестувальникам застосовувати більш проактивний підхід до виявлення помилок і гарантувати, що програмне забезпечення відповідає очікуванням.
2. Безпека
Неочікувані вхідні дані або невірні дані можуть виявити вразливості в системі безпеки. Тестування та вирішення цих граничних ситуацій призводить до створення більш безпечного та надійного додатку, зменшуючи ймовірність зловмисних атак, дефектів ін’єкцій або спроб несанкціонованого доступу.
3. Обробка помилок
Негативне тестування корисне для перевірки обробки помилок. Йдеться не лише про те, щоб система залишалася стабільною після отримання неочікуваних вхідних даних, але й про те, як вона реагує на ці події, наприклад, видає повідомлення про помилки, щоб кінцевий користувач знав, що дані є недостовірними.
4. Покращення тестового покриття
Позитивне і негативне тестування в тестуванні програмного забезпечення надзвичайно доповнюють одне одного. Вони обидва охоплюють різні елементи введення даних, а це означає, що ваше тестування буде більш комплексним.
5. Кращий користувацький досвід
Негативне тестування допомагає виявити джерело повідомлень про помилки, збої та інші неочікувані дії, які можуть негативно вплинути на користувацький досвід.
Різниця між позитивом і негативом
тестування в інженерії програмного забезпечення
Як ми вже згадували вище, негативне тестування надсилає неочікувані або невірні дані для перевірки поведінки системи. Позитивне тестування, з іншого боку, надсилає очікувані або достовірні дані для перевірки того, що система працює так, як очікувалося.
Різниця між позитивним і негативним тестуванням полягає в наступному:
1. Цілі:
Позитивне тестування перевіряє, чи працює програмне забезпечення за призначенням; негативне тестування намагається зрозуміти, що відбувається в непередбачуваних сценаріях.
2. Дані:
Позитивне тестування використовує достовірні дані, а негативне – недостовірні вхідні дані, екстремальні значення та неочікувані формати.
3. Зосередься:
Позитивне тестування фокусується на успішних сценаріях, тоді як негативне тестування більше стосується невдалих сценаріїв.
Різні типи негативного тестування
Негативне тестування – це концепція, яка охоплює кілька різних підходів до перевірки якості та цілісності програми. Ось сім типів негативних тестів, які вам потрібно знати.
#1. Тестування граничних значень
Тестування граничних значень спрямоване на тестування програмного забезпечення з вхідними даними, які знаходяться на межах або краях вхідного діапазону. Він перевіряє як максимальні, так і мінімальні очікувані значення, але також перевіряє і ті, що виходять за межі цих значень.
Приклад: Поле вводу приймає числа від 1 до 9. Тест на граничне значення вводить як 1 і 9, так і 0 і 10.
#2. Тестування вхідного значення
Тестування вхідних значень визначає, як система реагуватиме на неочікувані або невірні вхідні дані. Деякі з вхідних даних, які він буде тестувати, включають в себе:
- Неправильні типи даних
- Значення поза діапазоном
- Спеціальні символи
- Порожні поля.
Приклад: Поле для введення вимагає лише цифри, тому тест вводить літеру і дивиться, як система реагує на неї.
#3. Тестування навантаження
Навантажувальне тестування
допомагає тестувальникам оцінити, як система реагуватиме на великі навантаження, наприклад, великі масиви даних або великі обсяги трафіку.
Інструменти автоматизації тестування
можуть імітувати ці екстремальні умови, щоб зрозуміти, як система реагує під тиском.
Приклад: Тестер імітує тисячі одночасних користувачів, які отримують доступ до веб-сайту.
#4. Тестування винятків
Цей тип тестування досліджує, як система реагує на виняткові події або помилки. Деякі з тестів включають
- Імітація збоїв у роботі системи
- Збої в роботі мережі
- Помилки в базі даних
- Проблеми з дисковим простором
- Відсутні файли.
Приклад: Тест може дослідити, що відбувається, коли користувач завантажує файл з програми, а Інтернет відключається.
#5. Тестування безпеки
Тестування безпеки використовує підхід негативного тестування, щоб виявити і зрозуміти вразливості в програмному забезпеченні, які можуть бути виявлені через невірні або неочікувані вхідні дані. Цей підхід перевіряє на наявність поширених атак, таких як:
- SQL-ін’єкція
- Міжсайтовий скриптинг (XSS)
- Переповнення буфера.
Приклад: Тест безпеки може спробувати ввести шкідливий код у поле введення користувача.
#6. Тестування користувацького інтерфейсу
Цей вид тестування фокусується на помилках, які виникають під час взаємодії користувача з програмним забезпеченням. Деякі з речей, які він спробує визначити, включають в себе:
- Несподівані реакції на взаємодію з користувачем
- Неправильні повідомлення про помилки
- Проблеми з навігацією
Приклад: Тест досліджує, що відбувається, коли певні дії виконуються без дотримання послідовності.
#7. Тестування цілісності даних
Тестування цілісності даних гарантує, що дані залишаються точними та узгодженими під час різноманітних операцій у додатку. Деякі з речей, що тестуються, включають
- Потенційне пошкодження даних
- Сценарії втрати даних
- Ненавмисні зміни даних
Приклад: Тест перевірить, чи залишаються дані незмінними після передачі.
Як бачите, існує багато різних підходів до негативного тестування. Спільним для них є використання неочікуваних вхідних даних або недостовірних даних, щоб побачити, як додаток працює в нетипових умовах.
Переваги негативного тестування
Негативне тестування – це розуміння того, як ваш додаток працює в непередбачуваних ситуаціях. Ось деякі з основних переваг використання цього підходу.
- Це допоможе вам зрозуміти, як неочікувані вхідні дані або невірні дані вплинуть на вашу програму. Він розіб’ється? Видали неточне повідомлення про помилку?
- Негативне тестування є частиною відповідального підходу до забезпечення якості, оскільки воно спрямоване на виявлення слабких місць у системі
- Негативне тестування перевіряє програмне забезпечення на міцність, перевіряючи його реакцію на непередбачені або неочікувані сценарії, з якими воно може зіткнутися в реальних умовах.
- Знову ж таки, негативне тестування є важливим компонентом ретельного підходу до безпеки, оскільки воно виявляє потенційні вектори атаки, якими можуть скористатися кіберзловмисники.
Недоліки негативного тестування
Негативне тестування має безліч переваг, але воно також має деякі недоліки, які необхідно подолати.
- Ретельне негативне тестування може вимагати додаткового обладнання та програмного забезпечення, що може збільшити вартість тестування. Для команд, які працюють з обмеженим бюджетом, це може бути невигідно.
- Негативне тестування може бути досить трудомістким, оскільки вимагає створення багатьох тестових кейсів для покриття різних перестановок вхідних даних, з якими програмне забезпечення зіткнеться у виробництві
- Існують обмеження на кількість непередбачуваних ситуацій, які ви можете покрити за допомогою негативного тестування. Дійсно, деякі ситуації можуть бути настільки несподіваними, що тестувальники не можуть їх врахувати.
- Автоматизація негативних тестових кейсів є складним завданням. Однак з правильним програмним забезпеченням, таким як ZAPTEST, процес набагато більш керований.
Проблеми негативного тестування
Негативне тестування має вирішальне значення, якщо ви хочете створити надійне та надійне програмне забезпечення, здатне витримувати стреси та навантаження від взаємодії з користувачем. Однак є певні труднощі у впровадженні цього підходу, про які вам потрібно знати.
Розглянемо деякі з найпоширеніших проблем.
1. Виявлення негативних сценаріїв у тестуванні програмного забезпечення
Достатнє покриття:
Одна з найбільших проблем при негативному тестуванні – це забезпечення достатньої кількості непередбачуваних сценаріїв. Існує багато негативних сценаріїв і перестановок, тому їх розгляд вимагає творчого підходу до того, як ваші користувачі будуть взаємодіяти з програмним забезпеченням.
Розстановка пріоритетів:
З такою великою кількістю потенційних негативних сценаріїв, які потрібно розглянути під мікроскопом, тестувальники не завжди знають, з чого почати. Деякі надійні критерії для оцінки того, що є пріоритетним, включають прогнозування:
- Ситуації з високою ймовірністю дефектів
- Тяжкість наслідків дефектів.
2. Розробка адекватних негативних тестових кейсів
Перевірка даних:
Розробка надійних негативних тестових кейсів вимагає досить повного розуміння поведінки, архітектури та обмежень вашої системи. Тестування програмного забезпечення вимагає використання ретельно продуманих вхідних даних. Хоча випадковий підхід може допомогти вам виявити деякі дефекти, він блідне в порівнянні з більш точним і систематичним підходом до негативного тестування.
Різноманітність даних:
Залежно від особливостей вашої системи, вам може знадобитися тестування на досить різноманітному наборі даних. Дійсно, існує багато різних форматів даних, таких як числа, текст, дати і т.д., кожен з яких може бути прийнятий вашим додатком. Проблема тут полягає в розробці тестових кейсів, які можуть враховувати кожен формат і, зокрема, кожну варіацію недостовірних даних. Така ситуація може забирати багато часу у команд тестувальників.
3. Ефективність та автоматизація тестування
Це забирає багато часу:
Позитивне тестування має на меті перевірити програмне забезпечення на відповідність очікуваним результатам. Негативне тестування, з іншого боку, має заглиблюватися в несподіванки та досліджувати потенційні сценарії. Перехід на незвідану територію займає більше часу. Як наслідок, якщо ви хочете отримати вичерпні результати негативного тесту, ви повинні бути готові витратити кілька додаткових годин.
Складність автоматизації:
Негативне тестування може зайняти багато часу та ресурсів. Таким чином, це ідеальна робота для автоматизації тестування програмного забезпечення. Однак є деякі складнощі, які необхідно подолати. Наприклад, розробка тестових кейсів, які визначають очікувані результати для неочікуваних вхідних даних, потребує певного досвіду та ноу-хау. Крім того, існуючий фреймворк для автоматизації тестів може не підтримувати невірні дані, які ви хочете передати в додаток, що додає додатковий рівень складності.
4. Оцінювання результатів
Хибні спрацьовування:
Калібрування тестування для забезпечення задовільного балансу між точністю та повнотою – знайоме питання для негативних тестувальників. У деяких ситуаціях надмірно чутлива обробка помилок помилково плутає дійсні вхідні дані з від’ємними, що призводить до марнування часу на проблеми, які не є важливими.
Неоднозначні результати:
Коли система отримує невірні дані, це може призвести до збоїв, помилок або зависання. У багатьох випадках це вірна ознака наявності помилки. Однак в інших випадках це свідчить про необроблений крайній випадок, який розробники не врахували. Розрізнення цих окремих ситуацій є важливим, але дослідження справжньої причини вимагає багато часу.
Управління даними:
Негативне тестування вимагає значної кількості даних. Цю інформацію про тестування необхідно як генерувати, так і зберігати. У сценаріях розробки з обмеженими часовими рамками це додаткова робота, яку потрібно враховувати.
5. Організаційні питання
Відсутність досвіду негативного тестування:
Хоча негативне тестування популярне, багатьом тестувальникам бракує навичок та досвіду для комплексного впровадження цього виду тестування. Розробка певних негативних тестових випадків менш інтуїтивна, ніж їхніх позитивних аналогів. Більше того, впровадження автоматизації тестування також може бути складним завданням без відповідного досвіду.
Діловий тиск:
Зацікавлені сторони, тестувальники та керівництво повинні розуміти критичну роль, яку відіграє негативне тестування у розробці надійних додатків. Нерозуміння його важливості може призвести до того, що на нас будуть тиснути, щоб ми зосередилися на позитивному тестуванні за рахунок негативного.
Зрозуміло, що перед командами, які хочуть розкрити переваги негативного тестування, стоїть кілька викликів. Однак, маючи правильний підхід і відповідні інструменти тестування програмного забезпечення, ви можете подолати ці проблеми і створити програмне забезпечення, яке перевершить очікування користувачів.
Як писати негативні тестові кейси для тестування програмного забезпечення
Написання негативних тестових кейсів для тестування програмного забезпечення вимагає певного досвіду та творчого мислення. Ось покрокове керівництво, яке допоможе вам створити ці критичні тестові кейси.
#1. Визначте свої цілі
Перш ніж писати негативні тестові кейси для тестування програмного забезпечення, ви повинні зрозуміти, чому ви хочете виконати негативне тестування. Не всі програми отримують користь від негативного тестування.
Отже, зрозумійте, чого ви хочете досягти. Негативне тестування призначене для виявлення помилок і збоїв, які виникають внаслідок несподіваних сценаріїв або умов взаємодії з користувачем.
#2. Окресліть потенційні негативні сценарії
Далі вам потрібно скласти звіт про те, які негативні сценарії можуть виникнути під час взаємодії користувачів з вашим програмним забезпеченням. Дослідження на цьому етапі мають вирішальне значення. Деякі сфери, які вам варто дослідити, є такими:
- Системні вимоги
- Типові випадки використання
- Можливості та функції програми
Проаналізуйте ці ситуації і складіть список сценаріїв, в яких додаток може працювати не так, як ви задумали.
Потім розглянемо сценарії перевірки критичних вхідних даних. Зазвичай це стосується форм введення даних, полів для входу тощо.
Нарешті, візьміть до уваги безліч нетрадиційних способів взаємодії користувачів з вашим програмним забезпеченням та несподівані події, які можуть призвести до негативних наслідків, наприклад, відключення мережі, раптове вимкнення системи, масова передача даних тощо.
Після того, як ви задокументували якомога більше сценаріїв, настав час визначити очікувані результати цих несподіваних сценаріїв.
#3. Окресліть очікувані результати
Кожен тестовий кейс повинен мати очікуваний результат, і негативний тестовий кейс не є винятком. Найкраща практика тут – виписати кожен негативний сценарій і визначити, яким має бути результат.
Деякі з потенційних результатів можуть включати
- Точні та інформативні повідомлення про помилки
- Відповідні перенаправлення
- Витончена робота з системою, наприклад, запобігання зависання або збоїв системи.
#4. Виберіть входи для тестування
Тепер настав час визначити, які вхідні дані вам потрібно протестувати. Це мають бути ті вхідні дані, які з найбільшою ймовірністю можуть спричинити помилку або іншу негативну поведінку.
Деякі дані, які вам потрібно включити, є наступними:
- Значення поза діапазоном (від’ємні значення в полі віку тощо)
- Неправильні дані (літери в числовому полі тощо)
- Неочікувані знаки або символи
- Спеціальні символи
- Відсутні дані
#5. Пишіть свої тестові кейси
Після того, як ви зібрали всі свої сценарії, настав час писати тестові кейси. Тепер, з негативним тестуванням, існує майже необмежена кількість тестових кейсів, які ви можете написати. Зрештою, цей тип тестування полягає в тому, щоб з’ясувати, що відбувається, коли люди використовують програмне забезпечення не так, як ви планували. Однак дедлайни диктують вам скоротити список потенційних справ до ситуацій, які з найбільшою ймовірністю можуть спричинити проблеми.
Як завжди, пишіть тестові кейси чіткою, лаконічною та об’єктивною мовою. Тут немає місця двозначності.
Ось хороший формат для ваших негативних тестових кейсів.
- Використовуйте ідентифікатор тестового кейсу
- Опишіть, що саме тестується
- Зверніть увагу на будь-які передумови для негативного результату
- Окресліть набір необхідних кроків
- Встановіть чіткі та об’єктивні результати
- Запишіть фактичний результат вашого тесту
#6. Заплануйте тест
Тепер вам потрібно скласти графік здачі аналізів. Знову ж таки, важливо визначити пріоритетність сценаріїв, які мають найбільш серйозні несприятливі наслідки, такі як аварії, або ті, в яких найімовірніше будуть виявлені проблеми.
Приклад негативного тестового випадку
Ось приклад негативного тестового випадку.
Ідентифікатор тестового кейсу: TC001
Опис: Переконайтеся, що повідомлення про помилку відображається, якщо користувач вводить невірну адресу електронної пошти
Передумови: Користувач повинен бути на сторінці входу в додаток
Сходинки: 1. Введіть невірну адресу електронної пошти. 2. Натисніть “Увійти”
Очікуваний результат: Коли користувач натискає кнопку “Увійти”, з’являється повідомлення про помилку: “Введено невірну адресу електронної пошти”.
Результат: Запишіть, що сталося, коли було вибрано “Увійти”.
Приклади негативних сценаріїв у тестуванні програмного забезпечення
Ось кілька типових сценаріїв, які ви можете перевірити за допомогою методів негативного тестування.
1. Типи даних і полів
Якщо ви заповнювали форму онлайн, ви знаєте, що ці поля налаштовані на прийом певних типів даних. Деякі з них містять лише цифри, тоді як інші приймають дати, текст або інші типи даних.
Негативне тестування для цих полів передбачає надсилання невірних даних, наприклад, введення літер у числове поле.
2. Обов’язкові поля
Знову ж таки, обов’язкові поля – це спільна риса форм і заявок. Вони є зручним інструментом для забезпечення збору всієї важливої інформації до того, як користувач перейде до наступного етапу.
Хороший тестовий приклад для цих сценаріїв включає в себе перевірку того, що відбувається, коли ці поля залишаються порожніми. В ідеальному випадку має з’явитися повідомлення про помилку, яке закликає користувача заповнити необхідне поле.
3. Відповідна кількість символів
Якщо ви тестуєте додаток веб-сторінок, у вас може бути поле даних, яке вимагає обмеженої кількості символів. Це можуть бути імена користувачів, номери телефонів, реєстраційні номери тощо.
Ви можете створити негативні тестові приклади для цих полів, написавши тести, які вводять більше максимально допустимих символів, щоб побачити реакцію програми.
4. Межі та ліміти даних
Деякі форми матимуть поля з фіксованими обмеженнями. Наприклад, якщо ви хочете, щоб хтось оцінив щось за 100-бальною шкалою, межі даних будуть 1-100.
Створіть негативний тестовий приклад, в якому ви спробуєте ввести 0, 101 або інші від’ємні чи додатні значення з діапазону 1-100.
Найкращі практики для негативного тестування
Існує кілька найкращих практик для забезпечення якісного негативного тестування. Ось кілька порад, які допоможуть вам туди потрапити.
1. Визначте ваші неприпустимі вхідні дані:
Перегляньте документацію з розробки, кейси використання та UI/UX, щоб зрозуміти та виявити потенційно невірні вхідні дані. Звертайте увагу на недопустимі типи даних, екстремальні значення, відсутні дані, порожні поля, неочікувані формати тощо.
2. Використовуйте аналіз граничних значень:
Як згадувалося вище, окресліть свої граничні значення, щоб знайти крайні випадки, які можуть викликати несподівані реакції.
3. Розподіл еквівалентності працівників:
Подивіться на ваші вхідні домени і розділіть їх на розділи еквівалентності з допустимими і недопустимими значеннями. Цей процес допомагає зменшити кількість тестових кейсів, які вам потрібно написати, тому що якщо еквівалентний фрагмент невірних даних спричиняє проблеми для одного входу, він, швидше за все, буде представлений у всьому класі.
4. Імітуйте поганих користувачів:
Позитивне тестування перевіряє очікувану поведінку користувача. Негативне тестування досліджує, що відбувається, коли люди зловживають вашим додатком. Отже, подумайте про різні сценарії, в яких це може статися, і відтворіть їх у своїх тестових кейсах.
5. Нехай ризик та вплив керують вашим тестуванням:
Жоден тестувальник не має необмеженого часу. У якийсь момент вам доведеться зробити складний вибір, тому що ви не можете передбачити (або навіть знати) всі несподівані результати. Коли вам потрібно вирішити, які типи негативних тестів проводити, визначте пріоритети в тих сферах, які принесуть найбільший ризик або негативний вплив на ваш продукт.
6. Перевірка обробки помилок:
Переконайтеся, що ви зробили обробку помилок частиною вашого тестування, перевіряючи, що повідомлення про помилки є корисними і точними.
7. Автоматизуйте якомога більше:
Автоматизація добре справляється з рутинними та повторюваними завданнями. Однак, негативне тестування все ще вимагає ручного підходу для дослідницького тестування та пошуку граничних випадків.
Найкращі інструменти для негативного тестування у 2024 році
Хоча негативне тестування програмного забезпечення є поширеним явищем в індустрії, бракує чітких інструментів для цієї роботи. Основною причиною цього є універсальний характер негативного тестування. Більше того, багато з тих самих інструментів, які використовуються для позитивного тестування, працюють і для негативного, коли ви коригуєте вхідні дані.
ZAPTEST є найкращим інструментом для негативного тестування завдяки своїй універсальній та модульній природі. Він простий у використанні та налаштуванні, а завдяки крос-платформенним і крос-додатковим можливостям, він пропонує гнучкість, яку важко перевершити.
Тестування на основі даних та
мутаційне тестування
роблять ZAPTEST ідеальним для негативного тестування. Більше того, завдяки своєму RPA ви можете імітувати реальних користувачів, повторно використовувати тести, створювати звіти та документацію з легкістю. У двох словах, здатність ZAPTEST працювати з найсучаснішим програмним забезпеченням для автоматизації та роботизованим програмним забезпеченням для автоматизації процесів робить його універсальним рішенням для будь-якої задачі автоматизації, включаючи негативне тестування.
Заключні думки
Негативне тестування в тестуванні програмного забезпечення допомагає командам зрозуміти, як їхня програма буде обробляти неочікувані вхідні дані та невірні дані. У той час як позитивне тестування перевіряє, чи функціонує ваше програмне забезпечення за призначенням, негативне тестування допомагає з’ясувати, що відбувається, коли користувачі неправильно вибирають вхідні дані. Обидва підходи важливі, якщо вам потрібен надійний і надійний додаток, здатний впоратися зі стресами і навантаженнями від різноманітної взаємодії з користувачами.