Mis on negatiivne testimine?
- On ilmne, et tarkvara testimine ainult positiivsete stsenaariumide korral tagab, et tarkvara töötab ootuspäraselt, kuid ei taga, kuidas see ootamatutes olukordades toimiks. Testijana on testimise peamine eesmärk leida võimalikult palju defekte ja tagada, et rakendus töötaks korrektselt ka paaritutes olukordades. Sel eesmärgil saadi pildile negatiivne testimine, mis hõlmab kõiki stsenaariume, mida tuleb testida inimese ootamatu käitumise ja kasutaja valesti sisestatud andmete osas.
- Seda nimetatakse üldiselt veatee testimiseks või tõrke testimiseks. See on tarkvara testimise tüüp, mida tehakse eesmärgiga tagada, et tarkvararakendus ei peaks purunema ja käsitlema graatsiliselt olukordi, kus esinevad ootamatud stsenaariumid, näiteks kehtetu kasutaja sisestamine, võrguühenduse kadumine, vajalike väljade puudumine jne.
- Kui rakendus lõppkasutajatele üle antakse, pole nii, et nad täidavad ainult positiivseid testi stsenaariume, inimmõistus proovib trikke mängida ja täidab mitmeid ebaloogilisi ja sobimatuid ülesandeid kas rakenduse testimiseks või mõne isikliku ebaeetilise jaoks tähendab.
- Seega on väga oluline testida rakendust iga permutatsiooni ja andmete kombinatsiooniga, et kontrollida, kuidas rakendus reageerib. Näiteks telefoninumbri väljale tähestiku või erimärkide kirjutamine, vormi esitamine ilma kohustuslikke üksikasju täitmata jne. Sellistes olukordades tuleks hoiatussõnumi abil graatsiliselt käidelda. Seda tehakse eesmärgiga kontrollida tarkvararakenduse stabiilsust.
Miks me vajame negatiivset testimist?
Negatiivse testimise läbiviimiseks on mitu põhjust. Mõnda neist mainitakse allpool:
- Ehkki lõppkasutajatele pole võimalik pakkuda 100% tõrgeteta tarkvara, saab selle täitmine ja maksimaalsete negatiivsete stsenaariumide katmine tagada, et rakendus saab hakkama ootamatute olukordadega.
- Turul on palju häkkereid, kes otsivad võimalust rakenduse häkkimiseks ja kliendi isiklike andmete kuritarvitamiseks, et vältida turvarikkumisi, on negatiivne testimine väga oluline.
- Lünkade lahtipakkimine rakenduses selle täitmise teel, et vältida ootamatut käitumist.
- Tagage, et rakenduste stabiilsus väljuks piiratud, aeg-ajalt ja halbadest andmetest.
- Kliendi jaoks haavatava ja kindla rakenduse pakkumiseks on vajalik negatiivne testimine.
Kuidas negatiivset testimist läbi viiakse?
Kuna see nõuab nii aega kui ka kulusid. Täpsema negatiivse testimise tegemiseks on vaja eraldi testijate meeskonda.
- Iga funktsionaalsuse jaoks tuleb luua negatiivsed testijuhtumid, mis täpsustavad mitut testistsenaariumi.
- Kõigi võimalike kehtetute andmetega negatiivseid stsenaariume tuleb testida vastavalt negatiivsete andmete prioriteedile.
Testijad kasutavad negatiivse testimise jaoks tavaliselt kahte tehnikat, mida on nimetatud allpool:
1. Piirväärtuse analüüs
Piirväärtuste analüüsis kavandatakse negatiivsed testijuhtumid piirväärtustest väljaspool asuvate väärtuste jaoks, et kontrollida, kuidas süsteem nende jaoks töötab. Näiteks kui vormi tekstiväli võtab vastu 5–30 tähemärgiseid andmeid, oleks piirpiirid 5 ja 30 ning seega testitaks neid väärtusi.
2. Ekvivalentsuse jagamine
Ekvivalentsuse jaotuse korral jaotatakse sisendväärtused samaväärsete andmete erinevateks osadeks ja kogu partitsiooni kontrollimiseks testitakse iga sektsiooni ainult mõnda väärtust. Kui andmed on edastatud, loeb kogu partitsioon muul viisil läbimist ebaõnnestunuks. Ülaltoodud näite puhul oleks tekstivälja jaoks, mis võtab vastu andmeid vahemikus 5-30, partitsioonid oleksid 0-5, 5-30, 30-100, negatiivse testimise korral testitaks partitsioone 0-5 ja 30-100.
Negatiivse testimise eelised ja puudused
Negatiivse testimise eelised ja puudused on järgmised:
Eelised
- Haavatava ja kvaliteetse tarkvara tagamiseks on vajalik negatiivne testimine.
- Tarkvararakenduse küberkuritegude ja ebaeetiliste häkkimiste vältimiseks mängib olulist rolli negatiivsete stsenaariumide turvalisuse testimine.
- See annab neile kindluse, et rakendust on testitud kõigi negatiivsete stsenaariumide suhtes ja seega usaldusväärsem.
- See tagab, et tarkvararakendus lahendab kõik vead või halvad olukorrad graatsiliselt.
Puudused
- Mõnikord muutub see mõnes rakenduses ajaraiskamiseks. Intensiivne, mis hõlmab kõiki negatiivseid stsenaariume koos mitme negatiivse testiga, ei ole alati nõutav. Testijad on kohati sellesse nii palju kaasatud, et range positiivne testimine (rakenduse põhifunktsioonid) jääb tegemata.
- Üksikasjalikuma teabe saamiseks on projektis vaja eraldi testijate meeskonda, mis võib põhjustada suuri eelarveprobleeme.
- Rakenduse vabastamistsükkel lükkub mõnikord edasi.
- Negatiivse testimise jaoks on vaja kõrge kogemusega inimesi.
Negatiivse testimise tööriistad
Kuigi turul pole konkreetseid tööriistu. Kõigi negatiivsete stsenaariumide katteks mõeldud juhtumeid saab teha käsitsi või automatiseerimisskriptide abil. Selle teostamise ajal on kõige olulisem katseandmete maksimaalne permutatsioonide arv, mida saab testida. Testjuhtumi käsitsi testimine iga katseandmega võib olla pisut igav ja aeganõudev, kuid seda ülesannet saab automatiseerimistesti abil kergendada. Automatiseerimisskripte saab luua turul pakutavate lihtsate automatiseerimistööriistade abil, nagu näiteks Seleen, TestComplete, Appium, Kurk jne. Automaatskriptidest on abi katmiseks, kuna kõiki katseandmeid saab salvestada ühte faili iga katsejuhtumi jaoks ja skripti saab iga katseandme jaoks uuesti ja uuesti käivitada.
Järeldus
Negatiivne testimine ei kuulu komplekti ega kuulu kunagi positiivse testimise alla, kuna positiivne testimine tagab süsteemi töö nõuetekohasuse ja dokumentide kohaselt (SRS), samas kui see näitab süsteemi vastupidavust, haavatavust ja kvaliteetset standardit tarkvara. Negatiivne testimine on sama oluline kui positiivne testimine, kuna mõlemal on tarkvara katsetamiseks erinev eesmärk. Mida rohkem tarkvara testimisele läheb, seda vähem on turul riskiprotsesse, mis muudab rakenduse stabiilsemaks ja töökindlamaks.
Soovitatavad artiklid
See on negatiivse testimise juhend. Siin käsitleme negatiivse testimise sissejuhatust, miks me vajame seda testimist koos eeliste ja puudustega. Lisateabe saamiseks võite vaadata ka järgmisi artikleid -
- Üksuse testimine
- Staatiline testimine
- Süsteemi integreerimise testimine
- Musta kasti testimine
- Musta kasti testimise tehnikad