Що таке негативне тестування?
- Очевидно, що тестування програмного забезпечення лише з позитивними сценаріями забезпечує те, що програмне забезпечення працює належним чином, але не гарантує, як воно буде працювати у несподіваних ситуаціях. Як тестер, головним мотивом тестування є пошук якомога більшої кількості дефектів та забезпечення того, що програма повинна працювати правильно навіть у випадкових ситуаціях. З цією метою в картину з'явилося негативне тестування, яке охоплює всі сценарії, які потрібно перевірити на предмет несподіваної поведінки людини та недійсного введення користувача.
- Зазвичай він відомий як тестування на шляху помилок або тестування несправності. Це тип тестування програмного забезпечення, яке виконується для того, щоб забезпечити, щоб програмне забезпечення не порушувалося і витончено обробляло ситуації несподіваних сценаріїв, таких як недійсне введення користувачем, втрата підключення до мережі, відсутні обов'язкові поля тощо.
- Коли додаток передається кінцевим користувачам, це не так, що вони будуть виконувати лише позитивні сценарії тестування, людський розум намагається виконувати трюки і виконує кілька нелогічних і невідповідних завдань або для тестування програми, або для якихось особистих неетичних засоби.
- Тому дуже важливо протестувати програму з кожною перестановкою та комбінацією даних, щоб перевірити, як програма реагує. Наприклад, написання алфавіту або спеціальних символів у полі номера телефону, подання форми без заповнення обов'язкових реквізитів тощо. Такі ситуації повинні бути вишукано вирішені з попереджувальним повідомленням. Це робиться з наміром перевірити стабільність програмного забезпечення.
Навіщо нам потрібно негативне тестування?
Існує кілька причин проведення негативного тестування. Деякі з них згадуються нижче:
- Хоча неможливо забезпечити 100% безвідмовне програмне забезпечення для кінцевих користувачів, його виконання та охоплення максимально негативних сценаріїв може забезпечити, що програма може впоратися з несподіваними ситуаціями.
- На ринку є багато хакерів, які шукають можливість зламати додаток та неправомірно використовувати приватні дані замовника, щоб уникнути подібних порушень безпеки, негативне тестування дуже важливо.
- Розгортання лазів у програмі, виконуючи її, щоб запобігти несподіваній поведінці.
- Забезпечити стабільність застосування для поза межами, рідкісних та поганих даних.
- Для забезпечення вразливої та надійної програми для клієнта негативне тестування є обов'язковим.
Як проводиться негативне тестування?
Так як це вимагає і часу, і витрат. Для проведення розширеного негативного тестування необхідна окрема група тестувальників.
- Негативні тестові випадки, що визначають кілька тестових сценаріїв, повинні бути створені для кожної функції.
- Негативні сценарії з усіма можливими недійсними даними потрібно перевірити відповідно до пріоритету негативних даних.
Існують дві методи, які зазвичай використовуються тестерами для негативного тестування, про які йдеться нижче:
1. Аналіз граничної вартості
У аналізі граничних значень негативні тестові випадки розроблені для значень поза межами меж, щоб перевірити, як працює система на них. Наприклад, якщо текстове поле у формі приймає дані від 5-30 символів, то граничні межі будуть 5 та 30, і, отже, ці значення будуть перевірені.
2. Розділення рівноваги
У розділі «Еквівалентність» вхідні значення поділяються на різні розділи еквівалентних даних, і лише кілька значень кожного розділу розбираються для перевірки всього розділу. Якщо дані передані, то весь розділ вважає, що пропуск ще не вдався. У наведеному вище прикладі для текстового поля, що приймає дані між 5-30, розділи становитимуть 0-5, 5-30, 30-100, для негативного тестування тестуватимуться розділи 0-5 та 30-100.
Переваги та недоліки негативного тестування
Нижче наведено переваги та недолік негативного тестування:
Переваги
- Для забезпечення вразливого та якісного програмного забезпечення необхідно негативне тестування.
- Щоб запобігти застосуванню програмного забезпечення від кіберзлочинності та неетичних злому, важливу роль відіграє тестування безпеки на негативні сценарії.
- Це дає їм впевненість, що програма перевірена на всі негативні сценарії і, отже, є більш надійною.
- Це гарантує, що всі помилки або погані ситуації випрацьовані програмним додатком витончено.
Недоліки
- Іноді в деяких додатках це стає марною тратою часу. Інтенсивне покриття всіх негативних сценаріїв із кількома негативними тестовими даними не завжди потрібно. Тестери часом настільки сильно залучаються до цього, що суворе позитивне тестування (основне функціонування програми) залишається відміненим.
- Для детальної інформації в проекті необхідна окрема група тестувальників, що може спричинити великі проблеми з бюджетом проекту.
- Цикл випуску програми іноді затримується.
- Для негативного тестування потрібні досвідчені люди.
Інструменти, які використовуються для негативного тестування
Хоча конкретних інструментів на ринку немає. Тестові приклади, що охоплюють усі негативні сценарії, можуть виконуватися вручну або через сценарії автоматизації. Найголовніше при його виконанні - це максимальна кількість перестановок даних тесту, які можна перевірити для тестового випадку. Тестування тесту вручну з кожними тестовими даними може бути трохи нудним і трудомістким, але це завдання може бути полегшене автоматичним тестуванням. Сценарії автоматизації можна створити за допомогою простих інструментів автоматизації, доступних на ринку, таких як Selenium, TestComplete, Appium, Cucumber тощо. Сценарії автоматизації можуть бути корисними для покриття, оскільки всі дані тесту можуть бути збережені в одному файлі для кожного тестового випадку та сценарій може виконуватися знову і знову для кожного тестових даних.
Висновок
Негативне тестування не включається і ніколи не є частиною позитивного тестування, оскільки позитивне тестування забезпечує, що система працює відповідно до вимог та, як зазначено в документах (SRS), тоді як це вказує на надійність, вразливість та високий стандарт якості програмне забезпечення. Негативне тестування так само важливо, як і позитивне тестування, оскільки обидва мають різні наміри перевірити програмне забезпечення. Чим більше програмне забезпечення проходить тестування, тим менше шанси на ризик на ринку роблять додаток більш стабільним та надійним.
Рекомендовані статті
Це посібник з негативних тестувань. Тут ми обговорюємо вступ до негативного тестування, навіщо нам це тестування разом з перевагами та недоліками. Ви також можете переглянути наступні статті, щоб дізнатися більше -
- Тестування одиниць
- Статичне тестування
- Тестування системної інтеграції
- Тестування чорного ящика
- Техніка тестування чорної скриньки