Co je negativní testování? Testovací případy s příkladem
Negativní testování
Negativní testování je typ testování softwaru používaný ke kontrole softwarové aplikace na neočekávaná vstupní data a podmínky. Neočekávaná data nebo podmínky mohou být cokoli od špatného datového typu až po silný útok hackerů. Účelem negativního testování je zabránit pádu softwarové aplikace z důvodu negativních vstupů a zlepšit kvalitu a stabilitu.
Pouhým pozitivním testováním se můžeme ujistit, že náš systém funguje za normálních podmínek. Musíme se ujistit, že náš systém zvládne neočekávané podmínky, abychom zajistili 100% bezchybnost systému.
Příklad negativního testování
Zvažte případ výtahu, který je běžně zvažovaným příkladem negativního testování.
Všichni známe funkčnost výtahu. Tyto požadavky budou považovány za požadavky výtahu, jako je stisknutí čísla patra, aby výtah jel do daného patra.
Dveře se automaticky otevřou, jakmile výtah dosáhne určeného podlaží a tak dále.
Nyní se podívejme na některé negativní scénáře pro výtah. Někteří z nich jsou,
Negativní testování | Pozitivní testování |
---|---|
Co se stane, když počet osob (hmotnost) překročí stanovený limit? | Předpokládá se, že do výtahu vstoupí pouze stanovený počet osob |
Co se stane, když někdo kouří nebo způsobí požár uvnitř výtahu? | Uvnitř výtahu nebude kouř ani oheň |
Co se stane, když během provozu dojde k výpadku proudu? | Během provozu výtahu nedojde k výpadku proudu |
Všechny tyto případy budou testovány negativně. Důležité je, že se nemůžeme ujistit, že se vše výše uvedené nestane, takže je potřebujeme obsahovat.
Zvažte případ, že je kontrolován stav nadváhy a při implementaci se výtah chová abnormálně, když je stav nadváhy. To bude mít potenciální dopad na spolehlivost systému a může dokonce způsobit ohrožení života. To vysvětluje, co je negativní testování a jeho význam.
Stejný případ platí také v softwaru. Pro negativní testování jsme se odchýlili od běžného provozního postupu. Pojďme si projít několik příkladů.
Zvažte například registrační formulář.
Negativní testování | Pozitivní testování |
---|---|
Zkuste do pole e-mail zadat neplatné ID e-mailu | Do pole e-mailu budou zadána pouze platná e-mailová ID |
Zkuste zadat neplatné telefonní číslo do pole pro telefonní číslo (znaky) | Do pole čísla bude zadáno jediné číslo |
Nahrajte obrázek s velikostí mimo zadanou hranici | Nahrány budou pouze obrázky s velikostí pod zadanou hranicí |
Nahrajte neplatné soubory jako XML, SQL atd. v poli pro nahrávání obrázků | Nahrávejte pouze platné formáty obrázků, jako je jpg.png atd. |
Jak jsme řekli dříve, musíme se ujistit, že ve všech těchto negativních případech bude náš systém fungovat správně. Zvažte případ, kdy se někdo pokusí zadat znak do pole čísla a systém nemůže zpracovat neočekávaná data, protože očekává číslo, a nakonec systém zkolabuje. Nebo co když se o to někdo pokusí SQL injection a vymazat všechna naše data z databáze. Nemůžeme nést takové potenciální ztráty. Takže negativní testování je důležité.
Proč provádět negativní testování?
Vzhledem k tomu, že testování je časově i finančně náročné, je opravdu důležité rozhodnout, „co“, „jak“ a „kolik“ testovat. Musíme se moudře rozhodnout, zda musíme v našem systému provádět negativní testování, nebo ne. Pojďme se tedy podívat na důležitost negativního testování.
Organizační perspektiva
Je odpovědností organizace poskytovat svým klientům kvalitní produkt. Abyste toho dosáhli, musíte provést negativní testy.
Jako součást potvrzení proti selhání musí organizace provést negativní testování.
Možná nedokážeme vytvořit 100% bezchybný systém, ale musíme se ujistit, že jsme udělali vše, abychom zabránili selhání, abychom toho dosáhli, měli bychom provést negativní testování.
Dopad je jedním z faktorů, který musíme vzít v úvahu. Zvažte, že jsme provedli pozitivní testování na webu elektronického obchodu, a ujistěte se, že je vše v pořádku. Ale co když je v našem systému mezera, že někdo může udělat SQL injekci a vymazat všechna naše data. To bude velké narušení bezpečnosti. Chcete-li se vyhnout tomuto typu případů, musíte také provést negativní testy.
U aplikací otevřených pro veřejnost, zejména webových stránek, musíme mít vždy na paměti, že nemáme moc pod kontrolou postup používání aplikace, takže musíme provést negativní testování, abychom se ujistili, že všechny takové případy jsou pokryty a uzavřeny.
Další věc, na kterou se musíme postarat, je, že je tam spousta černých hackerů, kteří hledají příležitost zničit systém. Hackování je důležitý případ, na který se vztahuje negativní testování
Pohled klienta
Klienti vždy očekávají produkty s nulovou zranitelností, aby bylo zajištěno, že negativní testování je nutností
Pokud se jedná o citlivý produkt, jako je elektronický obchod, online akcie atd., pak je zabezpečení a negativní testování nutností.
Jedinou starostí klienta ohledně negativního testování jsou náklady. Jakmile je však dopad analyzován, je na klientovi, aby se rozhodl, zda negativní testování provede či nikoliv.
Jak provést negativní test
Abychom mohli provést negativní testování, musíme zvážit všechny možné případy. To znamená, že pokud je to možné, musíme to vzít v úvahu Testovací případ bez ohledu na to, zda to není správný způsob použití. Pokud například vidíme pole e-mailu, zamyslete se nad všemi možnými vstupy, které tam můžeme vložit jiný než správný formát e-mailu. Stejným způsobem, když vidíme možnost nahrávání obrázku, musíme ji otestovat se všemi možnými soubory.
Při vytváření negativních testovacích případů musíme upřednostňovat vstupy, jinak bude možných mnoho případů. Například pro pole obrázku, kam mají vstupovat pouze soubory '.png', můžeme mít mnoho možností k nahrání, jako 'jpeg', 'xml', 'xls' atd.. Musíme tedy upřednostnit možnosti jako XML a SQL může mít větší dopad než jpeg a xls, takže bychom se měli nejprve postarat o případy SQL a XML. Takto musíme upřednostňovat případy před provedením, abychom ušetřili čas a náklady na testování.
Klady a zápory negativního testování
Stejně jako všechny ostatní testovací techniky existují klady a zápory negativního testování hlavně na základě „kde“, „kdy“ a „jak“ použít. Pojďme se na to podívat.
Výhody negativního testování
- Jak všichni víme, negativní testování je velmi důležité pro zajištění kvality produktu. Kvalitní produkt je produkt s nulovou zranitelností, aby bylo zajištěno, že negativní testování je velmi důležité.
- Negativní testování zajišťuje, že jsou pokryty všechny možné případy. Úmyslně nebo neúmyslně existuje možnost výskytu negativních testovacích případů. Abychom se ujistili, že jsou pokryty všechny případy, musíme provést negativní testování spolu s pozitivním testováním.
- Negativní testování zvýší důvěru klienta před spuštěním.
Nevýhody negativního testování
- V softwarovém inženýrství se negativní testování v některých případech stává ztrátou času a energie. V mnoha případech není potřeba přílišné negativní testování. Pokud je například aplikace vytvořena pro použití jednou osobou, nemusíme uvažovat případ, kdy systém používá 100 uživatelů najednou. Takže rozhodující podmínky v negativních testovacích případech jsou velmi důležité. Budou chvíle, kdy nebudeme muset provádět negativní testy na konkrétním systému.
- Vyžadujte kvalifikované a zkušené lidi, aby vytvořili negativní testovací případy.
- Pro klienta je negativní testování další věcí, která způsobuje zbytečné zpoždění při vydání a zvyšuje náklady.
- Šance, že tým stráví více času a energie negativním testováním. Existuje šance, že testeři stráví spoustu času a energie negativním testováním, což vede k nižší koncentraci v pozitivním testování.