what is negative testing
Наличието на най-оптималното качество на продукта е основната цел на тестващите организации.
С помощта на ефективен процес за осигуряване на качеството тестовите екипи се опитват да откриват максимални дефекти по време на тяхното тестване , като по този начин гарантира, че клиентът или крайният потребител, консумиращ продукта, не вижда никакви аномалии по отношение на неговото функциониране в собствената им компютърна среда.
Тъй като намирането на дефекти е една от основните цели на тестера, той / тя трябва внимателно да изработи или проектира тестовите сценарии, за да се увери, че конкретното приложение или продукт изпълнява начина, по който се предполага.
Въпреки че определено е важно да се провери дали софтуерът изпълнява основните си функции по предназначение, също толкова или по-важно е да се провери дали софтуерът може да се справи елегантно с необичайна ситуация. Очевидно е, че повечето дефекти възникват при генерирането на такива ситуации с разумно и приемливо творчество от тестерите.
Повечето от нас вече са наясно с няколко вида тестване като функционално тестване, тестване за здравословно състояние, тестване на дим , интеграционно тестване, регресионно тестване , алфа и бета тестване , тестване на достъпност и др. Всички обаче ще се съгласят, че каквато и категория да тествате, цялото усилие за тестване може да бъде обобщено в две категории: положителни пътища за тестване и отрицателни пътища за тестване.
Нека да продължим със следващите раздели, в които обсъждаме какво е положително и отрицателно тестване, как те са различни и ще опишем някои примери, за да разберем какъв вид отрицателни тестове могат да бъдат извършени по време на тестване на приложение.
Какво ще научите:
- Какво е положително тестване и отрицателно тестване?
- Практически примери за положителни и отрицателни тестове
- Основни фактори, които помагат при писането на положителни и отрицателни тестове
- Заключение
- Препоръчително четене
Какво е положително тестване и отрицателно тестване?
Положително тестване
Положителното тестване, много пъти наричано „Тестване на щастлива пътека“, обикновено е първата форма на тестване, която тестерът би извършил върху приложение. Това е процесът на стартиране на тестови сценарии, които крайният потребител би изпълнил за негово използване. Следователно, както се подразбира, положителното тестване предполага провеждане на тестов сценарий само с правилни и валидни данни. Ако тестовият сценарий не се нуждае от данни, тогава положителното тестване ще изисква провеждането на теста точно по начина, по който трябва да се изпълни и следователно да се гарантира, че приложението отговаря на спецификациите.
Понякога може да има повече от един начин за изпълнение на определена функция или задача с намерение да се даде на крайния потребител по-голяма гъвкавост или за обща последователност на продукта. Това се нарича тестване на алтернативен път, което също е вид положително тестване. При тестване на алтернативен път тестът отново се извършва, за да отговори на неговите изисквания, но използвайки различен маршрут от очевидния път. Тестовият сценарий дори би консумирал същия вид данни, за да постигне същия резултат.
Тя може да бъде схваната схематично от много общ пример, описан по-долу:
A е начална точка, а B е крайна точка. Има два начина да се премине от А до Б. Маршрут 1 е общо взетия маршрут, а път 2 е алтернативен маршрут. Следователно в такъв случай щастливото тестване на пътя ще бъде преминаване от точка А до Б, използвайки път 1, а алтернативното тестване на пътеки ще включва преминаване по маршрут 2 от А до Б. Наблюдавайте, че резултатът и в двата случая е еднакъв.
Отрицателно тестване
Отрицателни тестове, обикновено наричани тестване на път на грешка или тестване на грешка обикновено се прави, за да се гарантира стабилността на приложението.
как да се предават масиви в java -
Отрицателното тестване е процесът на прилагане на възможно най-много креативност и валидиране на приложението срещу невалидни данни. Това означава, че предназначението му е да провери дали грешките се показват на потребителя там, където трябва, или по-елегантно обработва лоша стойност.
Абсолютно важно е да се разбере защо е необходимо отрицателно тестване.
Функционалната надеждност на приложението или софтуера може да бъде измерена количествено само с ефективно проектирани негативни сценарии. Отрицателното тестване не само има за цел да разкрие всички потенциални недостатъци, които биха могли да доведат до сериозно въздействие върху консумацията на продукта като цяло, но може да бъде от съществено значение за определяне на условията, при които приложението може да се срине. И накрая, гарантира, че в софтуера има достатъчно валидиране на грешки.
Пример:
Кажете например, че трябва да напишете отрицателни тестови случаи за писалка. Основният мотив на писалката е да може да пише на хартия.
Някои примери за отрицателно тестване могат да бъдат:
- Сменете носителя, върху който трябва да пише, от хартия на плат или тухла и вижте дали все пак трябва да пише.
- Поставете писалката в течността и проверете дали пише отново.
- Заменете пълнителя на писалката с празен и проверете дали трябва да спре да пише.
Практически примери за положителни и отрицателни тестове
Да вземем пример за съветник за потребителски интерфейс, за да създадем някои правила. В съветника потребителят трябва да въведе текстови стойности в един прозорец и числови стойности в друг.
Първо стъкло:
В първата се очаква потребителят да даде име на политиката, както е показано по-долу:
Нека вземем и някои основни правила, за да сме сигурни, че разработваме добри положителни и отрицателни сценарии.
Изисквания:
- Текстовото поле с име е задължителен параметър
- Описанието не е задължително.
- Полето с име може да има само символи a-z и A-Z. Не се допускат цифри, специални знаци.
- Името може да бъде максимум 10 знака.
Сега нека да проектираме положителните и отрицателните случаи на тестване за този пример.
Положителни тестови случаи: По-долу има някои положителни сценарии за тестване за този конкретен прозорец.
- ABCDEFGH (валидиране на главни букви в рамките на ограничението на знаците)
- abcdefgh валидиране на малки букви в рамките на ограничението на знаците)
- aabbccddmn (проверка на ограничението на знаците)
- aDBcefz (главни букви, комбинирани с валидиране на малки букви в рамките на ограничението на знаците)
- .. и така нататък.
Отрицателни тестови случаи : По-долу са дадени някои отрицателни сценарии за тестване за този конкретен прозорец.
- ABCDEFGHJKIOOOOOKIsns (име над 10 знака)
- abcd1234 (име с числови стойности)
- Не е посочено име
- sndddwwww_ (името, съдържащо специални знаци)
- .. и така нататък.
Втори прозорец:
Във втория прозорец се очаква потребителят да въведе само цифрови стойности, както е показано по-долу:
Нека и тук да установим някои основни правила:
Изисквания:
- Идентификационният номер трябва да бъде число между 1- 250
- ИД е задължително.
Ето защо ето някои положителни и отрицателни сценарии за тест за този конкретен прозорец.
най-добрата услуга за възстановяване на данни на твърдия диск
Положителни тестови сценарии : По-долу има някои положителни сценарии за тестване за този конкретен прозорец.
- 12 (Въвеждане на валидна стойност между посочения диапазон)
- 1,250 (Въвеждане на гранична стойност на посочения диапазон)
Отрицателни тестови сценарии : По-долу са дадени някои отрицателни сценарии за тестване за този конкретен прозорец.
- Ab (Въвеждане на текст вместо цифри)
- 0, 252 (Въвеждане извън гранични стойности)
- Нулево въвеждане
- -2 (Въвеждане на стойности извън обхвата)
- +56 (Въвеждане на валидна стойност с префикс от специален символ)
Основни фактори, които помагат при писането на положителни и отрицателни тестове
Ако внимателно наблюдавате примерите по-горе, ще забележите, че може да има множество положителни и отрицателни сценарии. Въпреки това ефективното тестване е, когато оптимизирате безкраен списък от положителни и отрицателни сценарии по такъв начин, че вие постигнете достатъчно тестване .
Също така и в двата случая ще видите общ модел за това как са измислени сценариите. И в двата случая по-горе има два основни параметъра или техники, които формират основа за проектиране на достатъчно количество положителни и отрицателни тестови случаи.
Двата параметъра са:
Анализ на гранична стойност :
Както подсказва самото име, границата показва граници на нещо. Следователно това включва проектиране на тестови сценарии, които се фокусират само върху граничните стойности и валидират поведението на приложението. Следователно, ако входовете са предоставени в рамките на граничните стойности, тогава това се счита за положително тестване, а входовете извън граничните стойности се считат за част от отрицателното тестване.
Например, ако конкретно приложение приема VLAN идентификатори, вариращи от 0 - 255. Следователно тук 0, 255 ще образуват граничните стойности. Всички входове под 0 или над 255 ще се считат за невалидни и следователно ще представляват отрицателно тестване.
Разделяне на еквивалентност :
При разделянето на еквивалентност данните от теста се разделят на различни дялове. Тези дялове се наричат класове на данни за еквивалентност. Предполага се, че различните входни данни (данните могат да бъдат условие) във всеки дял се държат по същия начин. Следователно само едно конкретно условие или ситуация трябва да бъдат тествани от всеки дял, сякаш единият работи, тогава се приема, че всички останали в този дял работят. По същия начин, ако едно условие в дял не работи, тогава никое от другите няма да работи.
Следователно сега е много очевидно, че валидните класове данни (в дяловете) ще включват положително тестване, докато невалидните класове данни ще включват отрицателно тестване.
В същия пример за VLAN по-горе стойностите могат да бъдат разделени на да речем два дяла.
Двата дяла тук биха били:
- Стойности -255 до -1 в един дял
- Стойности от 0 до 255 в друг дял
Заключение
Няколко пъти съм се сблъсквал със ситуацията, при която хората вярват, че отрицателното тестване е повече или по-малко дублиране на положителното тестване, вместо да вярва на факта, че то обосновава положителното тестване. Моята позиция по тези въпроси винаги е била последователна като тестер. Тези, които разбират и се стремят към високи стандарти и качество, несъмнено ще налагат отрицателни тестове като задължителни в процеса на качество.
Докато положителното тестване гарантира, че случаят на бизнес употреба е валидиран, отрицателното тестване гарантира, че доставеният софтуер няма недостатъци, които могат да бъдат възпиращи при използването му от клиента.
Проектирането на точни и мощни сценарии за отрицателен тест изисква креативност, предвидливост, умения и интелигентност на тестера. Повечето от тези умения могат да бъдат придобити с опит, така че задръжте се там и продължавайте да оценявате пълния си потенциал отново и отново!
За автора: Това е статия за гости на Снеха Надиг. Тя работи като ръководител на теста с над 7 години опит в проекти за ръчно тестване и автоматизация.
Споделете вашите мисли и опит относно отрицателното тестване.
балансиране на натоварването с безжичен рутер с двоен уан
Препоръчително четене
- Най-добри инструменти за тестване на софтуер 2021 г. (Инструменти за автоматизация на QA теста)
- Изтегляне на eBook за тестване на Primer
- Как да напиша седмичен отчет за състоянието на тестване на софтуер
- Разлика между тестване на настолни компютри, клиентски сървър и уеб тестване
- Тестване на натоварване с уроци за HP LoadRunner
- Ръководство за тестване на сигурността на уеб приложения
- Тестване на приложения - в основите на софтуерното тестване!
- Инсталирайте приложението си на устройство и започнете да тествате от Eclipse