Какво е отрицателно тестване?
- Очевидно е, че тестването на софтуера само с положителни сценарии гарантира, че софтуерът работи както се очаква, но не гарантира как ще работи при неочаквани ситуации. Като тестер основният мотив за тестване е да се намерят възможно най-много дефекти и да се гарантира, че приложението трябва да работи правилно дори и при странни ситуации. За тази цел в картината се появи отрицателно тестване, което обхваща всички сценарии, които трябва да бъдат тествани за неочакваното човешко поведение и невалидни данни от потребителя.
- Обикновено е известно като тестване на пътя на грешки или тестване на грешки. Това е вид тестване на софтуера, което се извършва с цел да се гарантира, че софтуерното приложение не трябва да се счупи и грациозно да се справя със ситуациите на неочаквани сценарии като невалидно въвеждане на потребител, загуба на мрежова свързаност, липсващи задължителни полета и т.н.
- Когато приложението бъде предадено на крайните потребители, не е така, че те ще изпълняват само положителните тестови сценарии, човешкият ум се опитва да играе трикове и изпълнява няколко нелогични и неподходящи задачи или за тестване на приложението или за някакви лични неетични средства.
- Затова е много важно да тествате приложението с всяка пермутация и комбинация от данни, за да проверите как приложението реагира. Например, вписване на азбуката или специални знаци в поле с телефонен номер, подаване на формуляр без попълване на задължителни подробности и др. Извършва се с намерението да се провери стабилността на софтуерно приложение.
Защо имаме нужда от отрицателно тестване?
Има няколко причини за извършване на отрицателни тестове. Някои от тях са споменати по-долу:
- Въпреки че не е възможно да се предостави 100% безпроблемен софтуер на крайните потребители, изпълняването му и покриването на максимални отрицателни сценарии може да гарантира, че приложението може да се справи с неочаквани ситуации.
- На пазара има много хакери, които търсят възможност да хакнат приложение и злоупотребяват с личните данни на клиента, за да се избегнат подобни ситуации на нарушения на сигурността, отрицателното тестване е много важно.
- Разгъване на вратичките в приложение, като го изпълнявате, за да предотвратите неочаквано поведение.
- Гарантирайте стабилността на приложението за извън границите, нечести и лоши данни.
- За да се предостави уязвимо и стабилно приложение на клиента, отрицателното тестване е задължително.
Как се извършва отрицателно тестване?
Тъй като изисква както време, така и разходи. За извършване на засилено отрицателно тестване е необходим отделен екип от тестери.
- Отрицателните тестови случаи, определящи множество тестови сценарии, трябва да бъдат създадени за всяка функционалност.
- Отрицателните сценарии с всички възможни невалидни данни трябва да бъдат тествани според приоритета на отрицателните данни.
Има две техники, често използвани от тестерите за отрицателно тестване, които са споменати по-долу:
1. Анализ на граничната стойност
В анализа на граничната стойност отрицателните тестови случаи са проектирани за стойностите извън граничните граници, за да се провери как системата работи за тях. Например, ако текстово поле във формуляр приема данните от 5-30 знака, така че граничните граници ще бъдат 5 и 30 и следователно тези стойности ще бъдат тествани.
2. Разделяне на равностойността
В Equivalence Partitioning входните стойности се разделят на различни дялове на еквивалентни данни и само няколко стойности на всеки дял се тестват, за да се провери целия дял. Ако данните са предадени, тогава целият дял счита, че е пропуснат друг, за неуспешен. За горния пример, за текстовото поле, приемащо данни между 5-30, дяловете ще бъдат 0-5, 5-30, 30-100, за отрицателното тестване ще бъдат тествани дялове от 0-5 и 30-100.
Предимства и недостатъци на отрицателното тестване
Следват предимството и недостатъкът на отрицателните тестове, както следва:
Предимства
- За да се гарантира уязвим и качествен софтуер, отрицателното тестване е задължително.
- За да се предотврати хакерството на софтуерното приложение от киберпрестъпления и неетични, тестът за сигурност за отрицателни сценарии играе важна роля.
- Тя им дава увереност, че приложението е тествано срещу всички отрицателни сценарии и следователно по-надеждно.
- Той гарантира, че всички грешки или лоши ситуации се обработват грациозно от софтуерното приложение.
Недостатъци
- Понякога в някои приложения се превръща в загуба на време. Не винаги се изисква интензивно покриване на всички отрицателни сценарии с множество отрицателни тестови данни. Тестерите на моменти се участват толкова много в него, че строгите положителни тестове (основно функциониране на приложение) се оставят отменени.
- За подробности е необходим отделен екип от тестери в проекта, който може да причини големи проблеми с бюджета на проекта.
- Цикълът на освобождаване на приложението понякога се забавя.
- За отрицателни тестове се изискват високо опитни хора.
Инструменти, използвани за отрицателно тестване
Въпреки че на пазара няма специфични инструменти. Тестовите случаи за покриване на всички отрицателни сценарии могат да се извършват ръчно или чрез скриптове за автоматизация. Най-важното, докато го изпълнявате, е максималният брой пермутации на тестовите данни, които могат да бъдат тествани за тестов случай. Ръчно тестване на тестовия случай с всякакви тестови данни може да бъде малко скучно и отнема много време, но тази задача може да бъде облекчена чрез тестване с автоматизация. Скриптите за автоматизация могат да бъдат създадени чрез прости инструменти за автоматизация, налични на пазара като Selenium, TestComplete, Appium, Cucumber и др. Скриптите за автоматизация могат да бъдат полезни, за да покрият, тъй като всички тестови данни могат да се съхраняват в един файл за всеки тестов случай и скриптът може да се изпълнява отново и отново за всяка тестова информация.
заключение
Отрицателното тестване не е включено и никога не е част от положителното тестване, тъй като положителното тестване гарантира, че системата работи съгласно изискванията и както е споменато в документите (SRS), докато той показва стабилността, уязвимостта и висококачествения стандарт на софтуер. Отрицателното тестване е също толкова важно, колкото и положителното тестване, тъй като и двете имат различно намерение да тестват софтуера. Колкото повече софтуерът преминава през тестване, толкова по-малко са шансовете за риск на пазара да направят приложението по-стабилно и надеждно.
Препоръчителни статии
Това е ръководство за отрицателни тестове. Тук обсъждаме въвеждането на отрицателните тестове, защо се нуждаем от това тестване заедно с предимствата и недостатъците. Можете също да разгледате следните статии, за да научите повече -
- Тестване на единица
- Статично тестване
- Тестване на системната интеграция
- Тестване на черна кутия
- Техники за тестване на черна кутия