Negatívne testovanie pri testovaní softvéru je technika, ktorá overuje, ako aplikácia reaguje na neočakávané správanie alebo neplatné údaje. Tento typ testovania môže pomôcť tímom pre zabezpečenie kvality zlepšiť robustnosť a stabilitu softvéru tým, že odhalí výnimky, ktoré spôsobujú zamrznutie, pády alebo iné nežiaduce výsledky.
V tomto článku sa budeme zaoberať tým, čo je negatívne testovanie softvéru, prečo je dôležité a aké rôzne prístupy, techniky a nástroje môžete pri tejto technike použiť.
Čo je negatívne testovanie softvéru?
Negatívne testovanie je technika testovania softvéru, pri ktorej sa do systému zámerne vkladajú neplatné vstupy alebo neočakávané údaje, aby sa zistilo, ako si systém s týmito scenármi poradí. Tento prístup, známy aj ako testovanie zlyhania alebo testovanie chybovej cesty, simuluje rôznorodé scenáre, s ktorými sa vaša aplikácia stretne v reálnom svete, ako napríklad používatelia zadávajú neplatné dátumy alebo znaky alebo používajú určité funkcie spôsobom, ktorý ste nikdy nezamýšľali.
Väčšina typov testovania používa na testovanie aplikácie platné údaje. Negatívne testovanie však využíva iný prístup, a to testovanie na okrajoch a mimo typických vstupov a zisťovanie, ako aplikácia rieši výnimky.
Je dôležité otestovať, či vaša aplikácia funguje tak, ako má. Na druhej strane je však veľmi dôležité pochopiť, čo sa stane, keď používatelia prekročia hranice, najmä ak tieto neúmyselné použitia spôsobia pády, zamrznutie alebo iné chyby.
Rozdiel medzi pozitívnym a negatívnym testovaním
testovanie pri testovaní softvéru
Ako sme už načrtli vyššie, negatívne testovanie využíva neočakávané alebo neplatné údaje na overenie správania systému. Naproti tomu pozitívne testovanie využíva očakávané alebo platné údaje na overenie, či systém funguje podľa očakávaní.
Inými slovami:
- Pozitívne testovanie vám pomôže zistiť, či vaša aplikácia funguje podľa plánu
- Negatívne testovanie určuje, či vaša aplikácia dokáže zvládnuť neočakávané udalosti
Ak chcete aplikáciu dôsledne otestovať, je potrebné pozitívne aj negatívne testovanie pri testovaní softvéru.
Prečo je dôležité negatívne testovanie softvéru?
Keď vývojári vytvárajú softvér, majú jasnú predstavu o tom, ako očakávajú, že používateľ bude softvér používať. Používatelia však nie vždy dodržiavajú pravidlá. Často sa pokúšajú kliknúť na neexistujúce tlačidlá, zadávať písmená do číselných polí alebo sa pokúšajú o vstupy, ktoré jednoducho neočakávate.
Cieľom negatívneho testovania je zohľadniť tieto okrajové prípady, ktoré nie je možné odhaliť pozitívnymi testovacími technikami, ako napr.
unit
,
systému
alebo
integračné testovanie
. Vymyslieť “zákerné lopty”, ktoré by sa dali hodiť do systému, si vyžaduje netradičné myslenie. Výsledkom je však stabilnejšia a robustnejšia aplikácia.
Aký je účel negatívneho testovania
v testovaní softvéru?
Negatívne testovanie má podobné ciele ako iné typy testovania softvéru. Konkrétne na odhalenie chýb, nedostatkov a zraniteľností v aplikácii. Osobitnú úlohu však zohráva pri hľadaní chýb, ktoré nemožno odhaliť pomocou platných údajov. Tu sú niektoré z dôvodov, prečo by ste si mali osvojiť prístup negatívneho testovania.
1. Odhaľovanie chýb
Hlavným cieľom negatívneho testovania pri testovaní softvéru je odhaliť chyby, ktoré sú dôsledkom neplatných údajov alebo neočakávaných vstupov. Umožňuje testerom zaujať aktívnejší prístup k odhaľovaniu chýb a zabezpečiť, aby softvér spĺňal očakávania.
2. Zabezpečenie
Neočakávané vstupy alebo neplatné údaje môžu odhaliť zraniteľnosť zabezpečenia. Testovanie a riešenie týchto okrajových prípadov vedie k bezpečnejšej a robustnejšej aplikácii tým, že znižuje možnosť škodlivých útokov, chýb pri zavádzaní alebo pokusov o neoprávnený prístup.
3. Riešenie chýb
Negatívne testovanie je užitočné na overenie spracovania chýb. Nejde len o to, aby systém zostal stabilný po tom, čo sa stretne s neočakávanými vstupmi alebo údajmi, ale aj o to, ako na tieto udalosti reaguje, napríklad vytváraním chybových správ, aby koncový používateľ vedel, že údaje sú neplatné.
4. Zlepšenie pokrytia testov
Pozitívne a negatívne testovanie v testovaní softvéru sa navzájom veľmi dobre dopĺňajú. Obe pokrývajú rôzne prvky zadávania údajov, čo znamená, že vaše testovanie je komplexnejšie.
5. Lepšia používateľská skúsenosť
Negatívne testovanie pomáha odhaliť zdroj chybových hlásení, pádov a iných neočakávaných správaní, ktoré môžu mať negatívny vplyv na používateľskú skúsenosť.
Rozdiel medzi pozitívnym a negatívnym
testovanie v softvérovom inžinierstve
Ako sme už spomenuli vyššie, pri negatívnom testovaní sa na overenie správania systému odosielajú neočakávané alebo neplatné údaje. Na druhej strane pozitívne testovanie odosiela očakávané alebo platné údaje s cieľom overiť, či systém funguje podľa očakávaní.
Rozdiel medzi pozitívnym a negatívnym testovaním zahŕňa:
1. Ciele:
Pozitívne testovanie overuje, či softvér funguje tak, ako bolo zamýšľané; negatívne testovanie sa snaží zistiť, čo sa stane v nezamýšľaných scenároch.
2. Údaje:
Pri pozitívnom testovaní sa používajú platné údaje a pri negatívnom testovaní neplatné vstupy, extrémne hodnoty a neočakávané formáty.
3. Zameranie:
Pozitívne testovanie sa zameriava na úspešné scenáre, zatiaľ čo negatívne testovanie sa viac zaoberá neúspešnými scenármi.
Rôzne typy negatívneho testovania
Negatívne testovanie je pojem, ktorý zahŕňa niekoľko rôznych prístupov k overovaniu kvality a integrity aplikácie. Tu je sedem typov negatívnych testov, ktoré by ste mali poznať.
#1. Testovanie hraničných hodnôt
Cieľom testovania hraničných hodnôt je otestovať softvér so vstupmi, ktoré sú na hraniciach alebo okrajoch vstupného rozsahu. Testuje maximálne aj minimálne očakávané hodnoty, ale testuje aj hodnoty tesne za týmito vstupmi.
Príklad: Vstupné pole umožňuje zadávať čísla od 1 do 9. Test hraničných hodnôt zadá 1 aj 9, ale testuje aj 0 a 10.
#2. Testovanie vstupných hodnôt
Testovanie vstupných hodnôt určuje, ako bude systém reagovať na neočakávané alebo neplatné vstupy. Medzi vstupy, ktoré sa budú testovať, patria:
- Nesprávne typy údajov
- Hodnoty mimo rozsahu
- Špeciálne znaky
- Prázdne polia.
Príklad: Príklad: Vstupné pole vyžaduje iba číslo, takže v teste sa zadá písmeno a zistí sa, ako systém zareaguje.
#3. Testovanie zaťaženia
Testovanie zaťaženia
pomáha testerom vyhodnotiť, ako bude systém reagovať pri veľkom zaťažení alebo záťaži, napríklad pri veľkých súboroch údajov alebo veľkom objeme prevádzky.
Nástroje na automatizáciu testovania
môžu simulovať tieto extrémne podmienky, aby pochopili, ako systém reaguje pod tlakom.
Príklad: Tester bude simulovať tisíce používateľov, ktorí súčasne pristupujú k webovej stránke.
#4. Testovanie výnimiek
Tento typ testovania skúma, ako bude systém reagovať na výnimočné udalosti alebo chyby. Niektoré z testov zahŕňajú
- Simulácia zlyhania systému
- Zlyhania siete
- Chyby databázy
- Problémy s miestom na disku
- Chýbajúce súbory.
Príklad: Test môže skúmať, čo sa stane, keď používateľ sťahuje súbor z aplikácie a internet je prerušený.
#5. Testovanie bezpečnosti
Testovanie bezpečnosti využíva prístup negatívneho testovania na zdôraznenie a pochopenie zraniteľností softvéru, ktoré môžu byť odhalené neplatnými alebo neočakávanými vstupmi. Tento prístup testuje bežné útoky, ako sú:
- Vstreknutie SQL
- Krížové skriptovanie (XSS)
- Pretečenie vyrovnávacej pamäte.
Príklad: Bezpečnostný test sa môže pokúsiť vložiť škodlivý kód do vstupného poľa používateľa.
#6. Testovanie používateľského rozhrania
Tento druh testovania sa zameriava na chyby, ktoré sa vyskytujú pri interakcii používateľa so softvérom. Niektoré z vecí, ktoré sa pokúsi zistiť, zahŕňajú:
- Neočakávané reakcie na interakcie používateľa
- Nesprávne chybové hlásenia
- Problémy s navigáciou
Príklad: Test bude skúmať, čo sa stane, keď sa určité činnosti vykonajú mimo poradia.
#7. Testovanie integrity údajov
Testovanie integrity údajov zabezpečuje, aby údaje zostali presné a konzistentné pri rôznych operáciách v rámci aplikácie. Niektoré z testovaných vecí zahŕňajú:
- Potenciálne poškodenie údajov
- Scenáre straty údajov
- Neúmyselné úpravy údajov
Príklad: Test overí, či údaje zostanú po prenose rovnaké.
Ako vidíte, existuje veľa rôznych prístupov k negatívnemu testovaniu. Ich spoločnou črtou je použitie neočakávaných vstupov alebo neplatných údajov, aby sa zistilo, ako aplikácia funguje za netypických podmienok.
Výhody negatívneho testovania
Pri negatívnom testovaní ide o to, aby ste pochopili, ako vaša aplikácia funguje, keď nastanú neočakávané situácie. Tu sú niektoré z hlavných výhod tohto prístupu.
- Pomôže vám pochopiť, aký vplyv budú mať neočakávané vstupy alebo neplatné údaje na vašu aplikáciu. Bude to havária? Vypľuje nepresnú chybovú správu?
- Negatívne testovanie je súčasťou zodpovedného prístupu k zabezpečeniu kvality, pretože sa snaží identifikovať slabé miesta v systéme.
- Pri negatívnom testovaní sa testuje reakcia softvéru na nepredvídané alebo neočakávané scenáre, s ktorými sa stretne v praxi.
- Negatívne testovanie je opäť dôležitou súčasťou dôkladného prístupu k bezpečnosti, pretože upozorňuje na potenciálne vektory útoku, ktoré by mohli kybernetickí útočníci využiť.
Nevýhody negatívneho testovania
Negatívne testovanie ponúka množstvo výhod, ale má aj niektoré nevýhody, ktoré treba prekonať.
- Dôkladné negatívne testovanie si môže vyžadovať ďalší hardvér a softvér, čo môže zvýšiť náklady na testovanie. Pre tímy s obmedzeným rozpočtom to môže byť nevýhodné.
- Negatívne testovanie môže byť pomerne časovo náročné, pretože si vyžaduje vytvorenie mnohých testovacích prípadov, ktoré pokryjú rôzne permutácie vstupov, ktorým bude softvér čeliť v produkcii.
- Počet nepredvídateľných situácií, ktoré môžete pokryť negatívnym testovaním, je obmedzený. Niektoré situácie môžu byť skutočne také neočakávané, že ich testeri nemôžu zohľadniť.
- Automatizácia negatívnych testovacích prípadov je náročná. So správnym softvérom, ako je ZAPTEST, je však tento proces oveľa ľahšie zvládnuteľný.
Výzvy negatívneho testovania
Ak chcete vytvoriť robustný a spoľahlivý softvér, ktorý dokáže odolať záťaži a napätiu spôsobenému interakciou s používateľom, je nevyhnutné vykonať negatívne testovanie. Pri implementácii tohto prístupu však existujú určité problémy, ktoré si musíte uvedomiť.
Poďme si rozobrať niektoré z najčastejších problémov.
1. Identifikácia negatívnych scenárov pri testovaní softvéru
Dostatočné pokrytie:
Jednou z najväčších výziev pri negatívnom testovaní je zabezpečiť, aby ste pokryli dostatok neočakávaných scenárov. Existuje veľa negatívnych scenárov a permutácií, takže ich zváženie si vyžaduje kreatívny prístup k predstavám o tom, ako budú používatelia so softvérom pracovať.
Stanovenie priorít:
Pri takom množstve potenciálnych negatívnych scenárov, ktoré treba podrobiť skúmaniu, si testeri nie sú vždy istí, kde by mali začať. Medzi spoľahlivé kritériá na vyhodnotenie toho, čo je potrebné uprednostniť, patrí prognóza:
- Situácie s vysokou pravdepodobnosťou výskytu chýb
- Závažnosť výsledku chýb.
2. Navrhovanie adekvátnych negatívnych testovacích prípadov
Overovanie vstupov:
Navrhovanie spoľahlivých negatívnych testovacích prípadov si vyžaduje pomerne komplexnú znalosť správania, architektúry a obmedzení vášho systému. Testovanie softvéru si vyžaduje použitie starostlivo zvážených vstupov a údajov. Hoci vám náhodný prístup môže pomôcť odhaliť niektoré chyby, v porovnaní s presnejším a systematickejším prístupom k negatívnemu testovaniu je to slabé.
Rozmanitosť údajov:
V závislosti od špecifík vášho systému môže byť potrebné testovať na pomerne rôznorodom súbore údajov. V skutočnosti existuje mnoho rôznych formátov údajov, ako sú čísla, text, dátumy atď., z ktorých každý môže vaša aplikácia akceptovať. Výzvou je navrhnúť testovacie prípady, ktoré dokážu zohľadniť každý formát a najmä každú variáciu neplatných údajov. Táto situácia môže byť pre testovacie tímy pomerne časovo náročná.
3. Efektívnosť a automatizácia testovania
Časová náročnosť:
Cieľom pozitívneho testovania je overiť softvér na základe očakávaných výsledkov. Na druhej strane, negatívne testovanie sa musí zaoberať neočakávanými situáciami a skúmať potenciálne scenáre. Prechod cez neprebádané územie si vyžaduje viac času. Ak teda chcete získať komplexné výsledky, ktoré prináša negatívne testovanie, musíte byť pripravení investovať niekoľko hodín navyše.
Zložitosť automatizácie:
Negatívne testovanie môže byť náročné na čas a zdroje. Preto je to ideálna úloha pre automatizáciu testovania softvéru. Je však potrebné prekonať niektoré zložitosti. Napríklad navrhovanie testovacích prípadov, ktoré definujú očakávané výsledky pre neočakávané vstupy, si vyžaduje určité skúsenosti a know-how. Okrem toho váš existujúci rámec pre automatizačné testy nemusí podporovať neplatné údaje, ktoré chcete posielať do aplikácie, čo pridáva ďalšiu vrstvu zložitosti.
4. Vyhodnotenie výsledkov
Falošne pozitívne výsledky:
Kalibrácia testovania s cieľom zabezpečiť uspokojivú rovnováhu medzi presnosťou a komplexnosťou je pre negatívnych testerov známym problémom. V niektorých situáciách bude príliš citlivé spracovanie chýb falošne zamieňať platné vstupy za negatívne vstupy, čo povedie k plytvaniu časom na problémy, ktoré nie sú relevantné.
Nejednoznačné výsledky:
Ak systém dostane neplatný vstup, môže to mať za následok zlyhanie, chyby alebo zamrznutie. V mnohých prípadoch je to istý znak chyby. V iných prípadoch však ide o dôkaz neošetreného okrajového prípadu, ktorý vývojári nezohľadnili. Rozlišovanie týchto samostatných situácií je dôležité, ale skúmanie skutočnej príčiny je časovo náročné.
Správa údajov:
Negatívne testovanie si vyžaduje značné množstvo údajov. Tieto informácie o testovaní sa musia vytvárať aj udržiavať. Vo vývojových scenároch s krátkymi časovými rámcami je to práca navyše, ktorú treba zohľadniť.
5. Organizačné otázky
Nedostatok odborných znalostí v oblasti negatívneho testovania:
Hoci je negatívne testovanie populárne, mnohým testerom chýbajú zručnosti a odborné znalosti na komplexnú realizáciu tohto druhu testovania. Navrhovanie určitých negatívnych testovacích prípadov je menej intuitívne ako ich pozitívny ekvivalent. Implementácia automatizácie testovania môže byť navyše náročná bez správnych odborných znalostí.
Obchodný tlak:
Zainteresované strany, testeri a manažment musia pochopiť, že negatívne testovanie zohráva kľúčovú úlohu pri vývoji robustných aplikácií. Nedocenenie jeho významu môže viesť k tlaku na zameranie sa na pozitívne testovanie na úkor negatívneho testovania.
Je jasné, že tímy, ktoré chcú využiť výhody negatívneho testovania, čelia viacerým výzvam. So správnym prístupom a správnymi nástrojmi na testovanie softvéru však môžete tieto problémy prekonať a vytvoriť softvér, ktorý prekoná očakávania používateľov.
Ako písať negatívne testovacie prípady testovania softvéru
Písanie negatívnych prípadov testovania softvéru si vyžaduje určité skúsenosti a kreatívne myslenie. Tu je sprievodca krok za krokom, ktorý vám pomôže vytvoriť tieto kritické testovacie prípady.
#1. Stanovte si svoje ciele
Pred napísaním negatívnych testovacích prípadov testovania softvéru musíte pochopiť, prečo chcete vykonať negatívne testovanie. Nie pre všetky aplikácie je negatívne testovanie výhodné.
Pochopte teda, čo chcete dosiahnuť. Cieľom negatívneho testovania je odhaliť chyby a zlyhania, ktoré sú dôsledkom neočakávaných scenárov alebo podmienok interakcie používateľa.
#2. Načrtnite potenciálne negatívne scenáre
Ďalej musíte zohľadniť negatívne scenáre, ktoré môžu nastať pri interakcii používateľov s vaším softvérom. Výskum v tomto kroku je veľmi dôležitý. Niektoré oblasti, ktoré by ste mali preskúmať, sú:
- Systémové požiadavky
- Typické prípady použitia
- Vlastnosti a funkcie aplikácie
Preskúmajte tieto situácie a vytvorte zoznam scenárov, v ktorých aplikácia nemusí fungovať tak, ako ste zamýšľali.
Potom zvážte scenáre overovania kritických vstupov. Zvyčajne ide o formuláre na zadávanie údajov, prihlasovacie polia atď.
Nakoniec zvážte nespočetné množstvo netradičných spôsobov, akými môžu používatelia interagovať s vaším softvérom, a neočakávané udalosti, ktoré môžu mať nepriaznivé následky, ako napríklad odpojenie od siete, náhle vypnutie systému, masívne prenosy údajov atď.
Po zdokumentovaní čo najväčšieho počtu scenárov je čas určiť očakávané výsledky týchto neočakávaných scenárov.
#3. Náčrt očakávaných výsledkov
Každý testovací prípad musí mať očakávaný výsledok a negatívny testovací prípad nie je iný. Najlepším postupom je napísať každý negatívny scenár a určiť, aký by mal byť výsledok.
Niektoré z možných výsledkov môžu zahŕňať:
- Presné a informatívne chybové hlásenia
- Vhodné presmerovania
- Pozorné zaobchádzanie so systémom, napríklad predchádzanie zamrznutiu alebo zlyhaniu systému.
#4. Výber vstupov na testovanie
Teraz je čas zistiť, ktoré vstupy je potrebné otestovať. Tieto vstupy by mali byť tie, ktoré s najväčšou pravdepodobnosťou spôsobia chybu alebo iné negatívne správanie.
Niektoré vstupy, ktoré je potrebné zahrnúť, sú:
- Hodnoty mimo rozsahu (záporné hodnoty v poli veku atď.)
- Neplatné údaje (písmená v číselnom poli atď.)
- Neočakávané znaky alebo symboly
- Špeciálne znaky
- Chýbajúce údaje
#5. Napíšte svoje testovacie prípady
Po zhromaždení všetkých scenárov je čas napísať testovacie prípady. V prípade negatívneho testovania existuje takmer neobmedzený počet testovacích prípadov, ktoré môžete napísať. Pri tomto type testovania ide predsa o zistenie, čo sa stane, keď ľudia používajú softvér spôsobom, ktorý ste nezamýšľali. Termíny však vyžadujú, aby ste zoznam potenciálnych prípadov skrátili na situácie, ktoré s najväčšou pravdepodobnosťou spôsobia problémy.
Ako vždy, píšte testovacie prípady jasným, stručným a objektívnym jazykom. Tu nie je priestor na dvojznačnosť.
Tu je dobrý formát pre vaše negatívne testovacie prípady.
- Použitie ID testovacieho prípadu
- Presne opíšte, čo sa testuje
- Všimnite si všetky predpoklady pre negatívny test
- Načrtnite súbor príslušných krokov
- Stanovenie jasných a objektívnych výsledkov
- Zapíšte si skutočný výsledok testu
#6. Naplánujte test
Teraz je potrebné naplánovať testy. Opäť je dôležité uprednostniť scenáre, ktoré majú najzávažnejšie nepriaznivé následky, ako sú havárie, alebo v ktorých je najväčšia pravdepodobnosť odhalenia problémov.
Príklad negatívneho testovacieho prípadu
Tu je príklad negatívneho testovacieho prípadu.
ID testovacieho prípadu: TC001
Popis: V súčasnosti sa nachádza na území Slovenskej republiky: Overte, či sa zobrazí chybová správa, ak používateľ zadá neplatnú e-mailovú adresu
Predpoklady: Používateľ musí byť na prihlasovacej stránke aplikácie
Kroky: 1. Zadajte neplatnú e-mailovú adresu. 2. Stlačte tlačidlo “Login”.
Očakávaný výsledok: Keď používateľ stlačí tlačidlo “Prihlásiť sa”, zobrazí sa chybové hlásenie s textom “nesprávne zadaná e-mailová adresa”.
Výsledok: Zaznamenajte, čo sa stalo po výbere možnosti “Prihlásenie”.
Príklady negatívnych scenárov pri testovaní softvéru
Tu je niekoľko typických scenárov, ktoré môžete overiť pomocou metód negatívneho testovania.
1. Typy údajov a polí
Ak ste už niekedy vypĺňali formulár online, viete, že tieto polia sú nastavené na prijímanie určitých typov údajov. Niektoré sú len číselné, iné akceptujú dátumy, text alebo iné typy údajov.
Negatívne testovanie týchto polí zahŕňa odosielanie neplatných údajov, napríklad zadávanie písmen do číselného poľa.
2. Povinné polia
Povinné polia sú opäť bežnou súčasťou formulárov a aplikácií. Sú praktickým nástrojom na zabezpečenie zhromaždenia všetkých dôležitých informácií predtým, ako používateľ prejde do ďalšej fázy.
Dobrým testovacím prípadom pre tieto scenáre je zistiť, čo sa stane, keď tieto polia zostanú prázdne. V ideálnom prípade by sa mala spustiť chybová správa, ktorá používateľa vyzve, aby vyplnil požadované pole.
3. Primeraný počet znakov
Ak máte testovanú aplikáciu webových stránok, môžete mať dátové pole, ktoré vyžaduje obmedzený počet znakov. Môže ísť o používateľské mená, telefónne čísla, registračné čísla atď.
Pre tieto polia môžete vytvoriť negatívne testovacie prípady tak, že napíšete testy, ktoré zadajú viac ako maximálny povolený počet znakov, aby ste zistili, ako aplikácia zareaguje.
4. Hranice a limity údajov
Niektoré formuláre budú mať polia s pevne stanovenými limitmi. Ak by ste napríklad chceli, aby niekto ohodnotil niečo známkou 100, hranice údajov by boli 1-100.
Vytvorte negatívny testovací prípad, v ktorom sa pokúsite zadať 0, 101 alebo iné záporné alebo kladné hodnoty z 1-100.
Osvedčené postupy pre negatívne testovanie
Existuje niekoľko osvedčených postupov na zabezpečenie kvalitného negatívneho testovania. Tu je niekoľko tipov, ktoré vám pomôžu dosiahnuť tento cieľ.
1. Definujte neplatné vstupy:
Preštudujte si vývojovú dokumentáciu, prípady použitia a používateľské rozhranie/UI, aby ste pochopili a identifikovali potenciálne neplatné vstupy. Dávajte pozor na neplatné typy údajov, extrémne hodnoty, chýbajúce údaje, prázdne polia, neočakávané formáty a ďalšie.
2. Použite analýzu hraničných hodnôt:
Ako bolo uvedené vyššie, načrtnite si hraničné hodnoty, aby ste našli okrajové prípady, ktoré môžu spôsobiť neočakávané reakcie.
3. Rozdelenie ekvivalencie zamestnancov:
Pozrite sa na svoje vstupné domény a rozdeľte ich na ekvivalenčné oblasti platných aj neplatných hodnôt. Tento proces pomáha znížiť počet testovacích prípadov, ktoré budete musieť napísať, pretože ak ekvivalentný kus neplatných údajov spôsobuje problémy pre jeden vstup, bude pravdepodobne zastúpený v celej triede.
4. Napodobňujte zlých používateľov:
Pozitívne testovanie overuje očakávané správanie používateľa. Negatívne testovanie skúma, čo sa stane, keď ľudia nesprávne používajú vašu aplikáciu. Premyslite si preto rôzne scenáre, v ktorých sa to môže stať, a zopakujte ich vo svojich testovacích prípadoch.
5. Nechajte sa pri testovaní riadiť rizikom a vplyvom:
Žiadny tester nemá neobmedzený čas. V určitom okamihu budete musieť urobiť ťažké rozhodnutia, pretože nemôžete testovať (alebo dokonca poznať) každý neočakávaný výsledok. Keď sa potrebujete rozhodnúť, ktoré typy negatívnych testov vykonať, uprednostnite oblasti, ktoré prinesú najväčšie riziko alebo negatívny vplyv na váš produkt.
6. Overenie spracovania chýb:
Zabezpečte, aby súčasťou testovania bolo aj spracovanie chýb, a overte, či sú chybové hlásenia užitočné a presné.
7. Čo najviac automatizujte:
Automatizácia dokáže zvládnuť všedné a opakujúce sa úlohy. Negatívne testovanie si však stále vyžaduje manuálny prístup na prieskumné testovanie a vyhľadávanie okrajových prípadov.
Najlepšie nástroje na negatívne testovanie v roku 2024
Hoci je negatívne testovanie softvéru bežné v celom odvetví, chýbajú na to odlišné nástroje. Veľkým dôvodom je všestranný charakter negatívneho testovania. Navyše mnohé z tých istých nástrojov, ktoré sa používajú na pozitívne testovanie, fungujú aj pri negatívnom testovaní, keď upravíte vstupné údaje.
ZAPTEST je najlepším nástrojom na negatívne testovanie, pretože je univerzálny a modulárny. Ľahko sa používa, dá sa prispôsobiť a vďaka možnostiam prepojenia viacerých platforiem a aplikácií ponúka flexibilitu, ktorú je ťažké prekonať.
Testovanie založené na údajoch a
testovanie mutácií
funkčnosť robí ZAPTEST ideálnym na negatívne testovanie. Navyše vďaka svojej RPA môžete simulovať reálnych používateľov, opakovane používať testy a ľahko vytvárať správy a dokumentáciu. Stručne povedané, schopnosť ZAPTESTu spúšťať najmodernejší softvér na automatizáciu softvéru a robotickú automatizáciu procesov z neho robí komplexný nástroj pre akúkoľvek úlohu automatizácie vrátane negatívneho testovania.
Záverečné myšlienky
Negatívne testovanie pri testovaní softvéru pomáha tímom pochopiť, ako ich aplikácia zvládne neočakávané vstupy a neplatné údaje. Zatiaľ čo pozitívne testovanie testuje, či váš softvér funguje tak, ako má, negatívne testovanie softvéru vám pomôže zistiť, čo sa stane, keď používatelia nesprávne vyberú vstupy a údaje. Oba prístupy sú dôležité, ak chcete vytvoriť spoľahlivú a robustnú aplikáciu, ktorá zvládne záťaž a napätie spôsobené rôznorodou interakciou používateľov.