Що таке негативне тестування? Тестові кейси з прикладом

Зміст:

Anonim

Негативне тестування

Негативне тестування - це тип тестування програмного забезпечення, що використовується для перевірки програмного забезпечення на наявність несподіваних вхідних даних та умов. Несподівані дані або умови можуть бути різними - від неправильного типу даних до сильної хакерської атаки. Метою негативного тестування є запобігання збоям програмного додатку через негативні вхідні дані та покращення якості та стабільності.

Проводячи позитивні тести, ми можемо лише переконатися, що наша система працює в нормальних умовах. Ми повинні переконатися, що наша система може впоратися з несподіваними умовами, щоб забезпечити 100% безвідмовну роботу системи.

У цьому підручнику ви дізнаєтесь-

  • Що таке негативне тестування?
  • Приклад негативного тестування
  • Чому негативне тестування?
  • Як робити негативне тестування
  • Переваги негативного тестування
  • Недоліки негативного тестування

Приклад негативного тестування

Розглянемо випадок підйому, який є загальноприйнятим прикладом негативного тестування.

Ми всі знаємо, як працює ліфт. Вони будуть розглядатися як вимоги ліфта, такі як натискання номера підлоги, змушують ліфт підніматися саме на цей поверх.

Двері автоматично відчиняються, коли ліфт досягає вказаного поверху тощо.

Тепер розглянемо кілька негативних сценаріїв підйому. Деякі з них,

Негативне тестування Позитивне тестування
  • Що станеться, якщо кількість осіб (вага) перевищує вказану межу?
  • Припускає, що до ліфта зайде лише вказана кількість людей
  • Що станеться, якщо хтось курить або викликає пожежу всередині ліфта?
  • Всередині ліфта не буде диму або вогню
  • Що станеться, якщо під час роботи відбудеться збій живлення?
  • Під час роботи підйомника не відбудеться збою живлення

Всі ці випадки будуть піддані негативному тестуванню. Важливість цього полягає в тому, що ми не можемо переконатися, що все вищезазначене не відбудеться, тому вони нам потрібні.

Враховуйте випадок, коли перевіряється стан надмірної ваги, і при виконанні підйомник працює ненормально, коли є надмірна вага. Це зробить потенційний вплив на надійність системи і навіть може загрожувати життю. Це пояснює, що таке негативне тестування та його важливість.

Той самий випадок застосовується і в програмному забезпеченні. Для негативного тестування ми відступили від звичайної операційної процедури. Давайте розглянемо кілька прикладів.

Наприклад, розгляньте форму реєстрації.

Негативне тестування Позитивне тестування
  • Спробуйте ввести недійсний ідентифікатор електронної пошти в поле електронної пошти
  • У поле електронної пошти будуть введені лише дійсні ідентифікатори електронної пошти
  • Спробуйте ввести невірний номер телефону в поле телефонного номера (символи)
  • Єдиний номер буде введено в поле числа
  • Завантажте зображення із розміром за межі вказаних меж
  • Завантажуватимуться лише зображення розміром під зазначеними межами
  • Завантажте недійсні файли, такі як XML, SQL тощо, у поле завантаження зображень
  • Завантажуйте лише допустимі формати зображень, такі як jpg.webp.png.webp тощо.

Як ми вже говорили раніше, ми повинні переконатися, що у всіх цих негативних випадках наша система буде працювати належним чином. Розглянемо випадок, якщо хтось намагається ввести символ у числове поле, і система не може обробити несподівані дані, оскільки вона очікує число, і, нарешті, система виходить з ладу. Або що, якщо хтось спробує зробити ін’єкцію SQL і стерти всі наші дані з бази даних. Ми не можемо нести таких потенційних втрат. Тож негативне тестування важливо.

Чому негативне тестування?

Оскільки тестування - це трудомістке завдання, вирішення питань „що”, „як” та „скільки” перевірити дійсно важливо. Ми повинні мудро вибирати, чи будемо ми проводити негативні тести в нашій системі чи ні. Тож давайте подивимось на важливість негативного тестування.

Організаційна перспектива

Організація несе відповідальність за надання якісної продукції своєму клієнту. Для цього потрібно пройти негативне тестування.

Як частина підтвердження відмови, організація повинна пройти негативне тестування.

Можливо, ми не можемо створити 100% без помилок систему, але ми повинні переконатися, що зробили все, щоб запобігти збою, щоб досягти негативного тестування.

Вплив - це один із факторів, який ми повинні враховувати. Подумайте, ми провели позитивний тест на сайті електронної комерції та переконайтесь, що все в порядку. Але що робити, якщо в нашій системі є лазівка, через яку хтось може ввести SQL і стерти всі наші дані. Це буде великим порушенням безпеки. Щоб уникнути подібного роду випадків, також потрібно пройти негативне тестування.

Щодо заявок, відкритих для загального користування, головним чином веб-сайтів, ми повинні завжди пам’ятати, що ми не надто контролюємо процедуру використання програми, тому ми маємо провести негативне тестування, щоб переконатися, що всі подібні випадки охоплені та утримані.

Ще одне, про що нам слід подбати, - це те, що там є багато чорних хакерів, які шукають можливість зруйнувати систему. Злом - це важливий випадок, який охоплюється негативним тестуванням

Клієнтська перспектива

Клієнти завжди очікують нульових продуктів вразливості, щоб переконатися, що негативне тестування є обов’язковим

Якщо це такий делікатний продукт, як електронна комерція, інтернет-акції тощо, тоді безпека та негативне тестування є обов’язковими.

Єдине занепокоєння клієнта щодо негативного тестування - це вартість. Але як тільки вплив проаналізовано, клієнт повинен вирішити, робити негативне тестування чи ні.

Як зробити негативне тестування

Для негативного тестування ми повинні розглянути всі можливі випадки. Тобто, якщо це можливо, ми повинні розглянути це в тестовому випадку, незалежно від того, чи це не правильний спосіб його використання. Наприклад, якщо ми бачимо поле електронної пошти, подумайте про всі можливі вхідні дані, які ми можемо помістити туди, крім правильного формату електронної пошти. Точно так само, коли ми бачимо варіант завантаження зображення, ми маємо перевірити його з усіма можливими файлами.

Створюючи негативні тестові кейси, ми повинні пріоритезувати вхідні дані, інакше випадків буде багато. Наприклад, для поля зображення, куди мають входити лише файли ".png.webp", ми можемо завантажити безліч варіантів, таких як "jpeg.webp", "xml", "xls" тощо ... Отже, нам потрібно розставити пріоритети на такі параметри, як XML та SQL можуть мати більший вплив, ніж jpeg.webp та xls, тому спочатку слід подбати про випадки SQL та XML. Таким чином, ми повинні розставити пріоритети у справах перед виконанням, щоб заощадити час та витрати на тестування.

Плюси і мінуси негативного тестування

Як і всі інші методи тестування, існують плюси і мінуси негативного тестування, в основному на основі "де", "коли" та "як" використовувати. Давайте подивимось на це.

Переваги негативного тестування

  • Як ми всі знаємо, негативне тестування дуже важливо для забезпечення якості товару. Продукт хорошої якості - це продукт з нульовою вразливістю, щоб гарантувати, що негативне тестування є дуже важливим.
  • Проведення негативного тестування гарантує, що всі можливі випадки будуть охоплені. Навмисно чи ненавмисно існує ймовірність негативних тестів. Отже, щоб переконатися, що всі випадки охоплені, ми повинні робити негативне тестування разом із позитивним тестуванням.
  • Негативне тестування зробить більше впевненості у клієнта перед тим, як вийти в ефір.

Недоліки негативного тестування

  • При розробці програмного забезпечення негативне тестування в деяких випадках стає марною тратою часу та енергії. У багатьох випадках немає необхідності в надмірному негативному тестуванні. Наприклад, якщо додаток створено для одноосібного користування, тоді нам не потрібно розглядати випадок, коли 100 користувачів одночасно використовують систему. Тому вирішення умов у негативних тестових випадках є дуже важливим. Будуть випадки, коли нам не доведеться проводити негативні тести на певній системі.
  • Потрібні кваліфіковані та досвідчені люди для створення негативних тестів.
  • Для клієнта негативне тестування - це ще одна річ, яка спричиняє непотрібну затримку випуску та додавання витрат.
  • Шанс, що команда витрачає більше часу та енергії на негативне тестування. Існує ймовірність того, що тестувальники витрачають багато часу та енергії на негативне тестування, що призводить до нижчої концентрації позитивного тестування.