Защо са важни негативните тестове?

Shape Image One

Софтуерното тестване често се възприема като начин просто да се уверим, че функциите на приложението работят според очакванията – “aко направя това, то трябва да се случи онова”.
Разбира се, това очевидно е голяма част от тестването, но ако това беше всичко, което ние като тестери правихме, щяхме да провалим преживяването на нашите потребители. Правилното покритие на теста включва както положително, така и отрицателно тестване.
Или казано иначе „ако направя това, това НЕ трябва да се случва”.


Разликата между положителен тест и отрицателен тест

Положителното тестване е процес на въвеждане на валидни данни и гарантиране, че приложението отговаря според очакванията. При положителен тест не се очакват изключения (грешки).
Отрицателното тестване е процес на въвеждане на невалидни данни и гарантиране, че приложението отговаря според очакванията. При отрицателен тест се очакват изключения (грешки).
Факт е, че потребители понякога въвеждат невалидни данни и софтуерът трябва да е достатъчно умен, за да се справи с тези ситуации.

Например, във формуляр за контакт, ако се изисква „имейл“ и потребителят въведе собственото си име в това поле, какво се случва? Вашето приложение съобщава ли ясно, че потребителят трябва да въведе валиден имейл адрес?
Това е отрицателен тест.


Примери за отрицателни тестове:

Отрицателният тест може да включва всякакви сценарии. Нека да разгледаме няколко примера.
Да приемем, че имаме уеб приложение за микроблог, което трябва да тестваме. Ето някои от изискванията на приложението:

– паролата трябва да включва както букви, така и цифри.
– приложението ви позволява да публикувате 5 публикации на ден.
– в публикациите се поддържат само .jpg снимки.
– в публикацията не могат да бъдат включени повече от 200 думи.

Ето някои отрицателни тестови случаи, които бихте искали да включите в тестовия пакет за това приложение:

– създайте парола само с букви.
– създайте парола само с цифри.
– публикувайте повече от 5 публикации за един ден.
– качете .png, .tif и други, които не са jpg. типове файлове.
– напишете публикация с повече от 200 думи.
Тези тестови случаи ще тестват как уеб приложението обработва невалидни входни данни. Извежда ли правилно грешки? Срива ли се? Или изобщо не прави нищо?

Отрицателните тестови случаи гарантират, че софтуерът ви прави повече, отколкото трябва, като уверяват, че не прави това, което не трябва да прави. Отрицателното тестване също подобрява цялостното потребителско изживяване на вашия продукт.


Как да напишем отрицателни тестови случаи?

Писането на отрицателни тестови случаи изисква известно творческо мислене. Отрицателното тестване често се нарича „разрушително тестване“, тъй като по същество се опитвате да „счупите“ приложението. Добро място да започнете са изискванията – не тествайте директно изискванията, тествайте обратното на тях. Погледнете към тях от различен ъгъл.
Ако тествате изискванията директно, вие не провеждате отрицателно тестване, вие провеждате положително тестване.
Отрицателните тестови случаи трябва да включват тестове извън спецификациите на софтуера. С отрицателното тестване вие ​​тествате неочаквани входни данни и сценарии, така че е важно да мислите извън кутията.
Отрицателното тестване помага да се осигури добро покритие на теста и по-добро потребителско изживяване. Така че сте изпробвали всички изисквания и вашите тестове са преминали… това е страхотно! Но истината е, че трябва да тествате повече от това. Хората не сме компютри – всички работят по различен начин и ние правим грешки. Затова се уверете, че включвате отрицателни тестови случаи във вашите проекти за тестване.
В края на деня вие ще имате продукт с по-високо качество, по-щастливи потребители и ще спестите време за поправяне на нещата по пътя.

Вашият коментар

Вашият имейл адрес няма да бъде публикуван. Задължителните полета са отбелязани с *