Mikä on negatiivinen testaus? Testitapaukset esimerkin kanssa
Negatiivinen testaus
Negatiivinen testaus on ohjelmistotestaustyyppi, jota käytetään tarkistamaan ohjelmistosovelluksesta odottamattomien syötetietojen ja -olosuhteiden varalta. Odottamattomat tiedot tai olosuhteet voivat olla mitä tahansa väärästä tietotyypistä vahvaan hakkerointihyökkäykseen. Negatiivisen testauksen tarkoituksena on estää ohjelmistosovellusta kaatumasta negatiivisten syötteiden takia ja parantaa laatua ja vakautta.
Tekemällä positiivisen testin voimme vain varmistaa, että järjestelmämme toimii normaaleissa olosuhteissa. Meidän on varmistettava, että järjestelmämme pystyy käsittelemään odottamattomia olosuhteita varmistaaksemme 100 % häiriöttömän järjestelmän.
Esimerkki negatiivisesta testistä
Harkitse hissin tapausta, joka on yleisesti käytetty esimerkki negatiivisesta testistä.
Me kaikki tiedämme hissin toiminnallisuuden. Näitä pidetään hissin vaatimuksina, kuten kerrosnumeron painaminen saada hissi menemään kyseiseen kerrokseen.
Ovi avautuu automaattisesti, kun hissi saavuttaa määritellyn kerroksen ja niin edelleen.
Tarkastellaan nyt joitain negatiivisia skenaarioita nousulle. Jotkut niistä ovat,
Negatiivinen testaus | Positiivinen testaus |
---|---|
Mitä tapahtuu, jos henkilömäärä (paino) ylittää määritellyn rajan? | Oletetaan, että hissiin tulee vain määritetty määrä ihmisiä |
Mitä tapahtuu, jos joku tupakoi tai aiheuttaa tulipalon hissin sisällä? | Hissin sisällä ei ole savua tai tulta |
Mitä tapahtuu, jos virta katkeaa käytön aikana? | Sähkökatkoksia ei tapahdu hissin käytön aikana |
Kaikki nämä tapaukset tulevat negatiivisen testin alle. Tämän tärkeyttä on se, että emme voi olla varmoja siitä, ettei kaikkea edellä mainittua tapahdu, joten tarvitsemme ne.
Harkitse tilannetta, jossa ylipainotila tarkistetaan ja toteutuksen yhteydessä nosto toimii epänormaalisti ylipainotilanteessa. Tämä vaikuttaa mahdollisesti järjestelmän luotettavuuteen ja voi jopa aiheuttaa hengenvaaran. Tämä selittää, mikä on negatiivinen testi ja sen merkitys.
Samaa tapausta sovelletaan myös ohjelmistoissa. Negatiivisen testauksen osalta olemme poikennut normaalista toimintamenettelystä. Käydään läpi muutamia esimerkkejä.
Harkitse esimerkiksi ilmoittautumislomaketta.
Negatiivinen testaus | Positiivinen testaus |
---|---|
Yritä kirjoittaa sähköpostikenttään virheellinen sähköpostiosoite | Sähköpostikenttään syötetään vain kelvolliset sähköpostitunnukset |
Yritä kirjoittaa väärä puhelinnumero puhelinnumerokenttään (merkkejä) | Ainoa numero syötetään numerokenttään |
Lataa kuva, jonka koko on määritettyjen rajojen ulkopuolella | Vain kuvat, joiden koko on alle määritetyn rajan, ladataan |
Lataa virheellisiä tiedostoja, kuten XML, SQL jne. tiedostot kuvien latauskentässä | Lataa vain kelvollisia kuvamuotoja, kuten jpg.png jne. |
Kuten sanoimme aiemmin, meidän on varmistettava, että järjestelmämme toimii kaikissa näissä negatiivisissa tapauksissa oikein. Harkitse tapausta, jossa joku yrittää syöttää merkin numerokenttään, eikä järjestelmä voi käsitellä odottamattomia tietoja, koska se odottaa numeroa, ja lopulta järjestelmä kaatuu. Tai entä jos joku yrittää tehdä jotain SQL-injektio ja poista kaikki tietomme tietokannasta. Emme voi sietää tällaisia mahdollisia tappioita. Joten negatiivinen testi on tärkeä.
Miksi negatiivinen testaus?
Koska testaus on aikaa ja kustannuksia vievä tehtävä, 'mitä', 'miten' ja 'kuinka paljon' testataan on todella tärkeää päättää. Meidän on valittava viisaasti, täytyykö meidän tehdä negatiivinen testi järjestelmässämme vai ei. Katsotaanpa siis negatiivisen testin tärkeyttä.
Organisaation näkökulma
Organisaation vastuulla on tarjota asiakkailleen laadukas tuote. Tämän saavuttamiseksi on tehtävä negatiivinen testi.
Osana epäonnistumisen varmistusta organisaation on tehtävä negatiivinen testi.
Ehkä emme voi rakentaa 100 % virheetöntä järjestelmää, mutta meidän on varmistettava, että olemme tehneet kaikkemme estääksemme epäonnistumisen, jotta voimme saavuttaa negatiivisen testauksen.
Vaikutus on yksi tekijä, joka meidän on otettava huomioon. Ajattele, että olemme tehneet positiivisen testin verkkokauppasivustolla ja varmistamme, että kaikki on kunnossa. Mutta entä jos järjestelmässämme on porsaanreikä, että joku voi tehdä SQL-injektion ja poistaa kaikki tietomme. Siitä tulee suuri tietoturvaloukkaus. Tämän tyyppisten tapausten välttämiseksi on myös tehtävä negatiivinen testi.
Julkisille avoimille sovelluksille, pääasiassa verkkosivustoille, meidän on aina pidettävä mielessä, että meillä ei ole paljon hallintaa sovelluksen käyttömenettelyssä, joten meidän on tehtävä negatiivinen testi varmistaaksemme, että kaikki tällaiset tapaukset on katettu ja rajoitettu.
Toinen asia, josta meidän on huolehdittava, on se, että siellä on paljon mustia hakkereita, jotka etsivät mahdollisuutta tuhota järjestelmä. Hakkerointi on tärkeä tapaus, jota käsitellään negatiivisissa testeissä
Asiakkaan näkökulma
Asiakkaat odottavat aina nollahaavoittuvuutta tuotteita varmistaakseen, että negatiivinen testaus on pakollinen
Jos kyseessä on arkaluonteinen tuote, kuten verkkokauppa, online-varasto jne., turvallisuus ja negatiivinen testaus ovat pakollisia.
Ainoa asia, joka huolestuttaa negatiivista testausta koskien, on hinta. Mutta kun vaikutus on analysoitu, asiakkaan on päätettävä, tekeekö se negatiivisen testin vai ei.
Kuinka tehdä negatiivinen testi
Negatiivisen testin tekemiseksi meidän on otettava huomioon kaikki mahdolliset tapaukset. Eli jos se on mahdollista, meidän on otettava se huomioon Testitapaus riippumatta siitä, onko se oikea tapa käyttää sitä. Jos esimerkiksi näemme sähköpostikentän, mieti kaikkia mahdollisia syötteitä, voimme laittaa sinne muun kuin oikean sähköpostimuodon. Samalla tavalla kun näemme kuvan latausvaihtoehdon, meidän on testattava se kaikilla mahdollisilla tiedostoilla.
Kun luomme negatiivisia testitapauksia, meidän on priorisoitava syötteet, muuten tapauksia on paljon mahdollisia. Esimerkiksi kuvakentässä, johon on syötettävä vain .png-tiedostoja, meillä voi olla useita latausvaihtoehtoja, kuten 'jpeg', 'xml', 'xls' jne. Joten meidän on asetettava asetukset tärkeysjärjestykseen kuten XML ja SQL voi olla suurempi vaikutus kuin jpeg:llä ja xls:llä, joten meidän tulee ensin huolehtia SQL- ja XML-tapauksista. Näin ollen meidän on priorisoitava tapaukset ennen suoritusta säästääksemme aikaa ja testauskustannuksia.
Negatiivisen testin plussat ja miinukset
Kuten kaikilla muillakin testaustekniikoilla, negatiivisella testauksella on etuja ja haittoja, jotka perustuvat pääasiassa "missä", "milloin" ja "miten" käytetään. Katsotaanpa tätä.
Negatiivisen testauksen edut
- Kuten me kaikki tiedämme, negatiivinen testi on erittäin tärkeä tuotteen laadun varmistamiseksi. Hyvälaatuinen tuote on nollahaavoittuvuustuote, jotta voidaan varmistaa, että negatiivinen testi on erittäin tärkeä.
- Negatiivisen testin tekeminen varmistaa, että kaikki mahdolliset tapaukset on katettu. Tahallisesti tai tahattomasti on mahdollisuus negatiivisten testitapausten esiintymiseen. Joten varmistaaksemme, että kaikki tapaukset katetaan, meidän on tehtävä negatiiviset testit positiivisten testien ohella.
- Negatiivinen testaus lisää asiakkaan luottamusta ennen live-lähetyksen aloittamista.
Negatiivisen testauksen haitat
- Ohjelmistosuunnittelussa negatiivisesta testauksesta tulee joissain tapauksissa ajan ja energian hukkaa. Monissa tapauksissa ei ole tarvetta liiallisiin negatiivisiin testeihin. Esimerkiksi jos sovellus luodaan yhden henkilön käyttöön, meidän ei tarvitse ottaa huomioon sitä tapausta, että 100 käyttäjää käyttää järjestelmää kerrallaan. Joten olosuhteiden ratkaiseminen negatiivisissa testitapauksissa on erittäin tärkeää. Tulee aikoja, jolloin meidän ei tarvitse tehdä negatiivista testausta tietylle järjestelmälle.
- Vaadi ammattitaitoisia ja kokeneita ihmisiä luomaan negatiivisia testitapauksia.
- Asiakkaalle negatiivinen testaus on toinen asia, joka aiheuttaa tarpeettomia viiveitä julkaisussa ja kustannuslisäyksessä.
- Mahdollisuus, että tiimi käyttää enemmän aikaa ja energiaa negatiivisiin testeihin. On mahdollista, että testaajat käyttävät paljon aikaa ja energiaa negatiivisiin testeihin, mikä johtaa pienempään pitoisuuteen positiivisissa testeissä.