Negatiivinen testaus on ohjelmistotestauksessa tekniikka, jolla tarkistetaan, miten sovellus reagoi odottamattomaan kƤyttƤytymiseen tai virheellisiin tietoihin. TƤmƤntyyppinen testaus voi auttaa laadunvarmistusryhmiƤ parantamaan ohjelmistojensa kestƤvyyttƤ ja vakautta etsimƤllƤ poikkeuksia, jotka aiheuttavat jƤƤtymisiƤ, kaatumisia tai muita ei-toivottuja tuloksia.
TƤssƤ artikkelissa selvitƤmme, mitƤ negatiivinen ohjelmistotestaus on, miksi se on tƤrkeƤƤ ja mitƤ erilaisia lƤhestymistapoja, tekniikoita ja tyƶkaluja voit kƤyttƤƤ tƤhƤn tekniikkaan.
MitƤ on negatiivinen ohjelmistotestaus?
Negatiivinen testaus on ohjelmistotestausmenetelmƤ, jossa jƤrjestelmƤƤn syƶtetƤƤn tarkoituksellisesti virheellisiƤ syƶtteitƤ tai odottamattomia tietoja, jotta nƤhdƤƤn, miten se kƤsittelee nƤitƤ skenaarioita. TƤmƤ lƤhestymistapa, joka tunnetaan myƶs nimellƤ vikatestaus tai virhepolkutestaus, simuloi erilaisia todellisia skenaarioita, joita sovelluksesi kohtaa, esimerkiksi kun kƤyttƤjƤt syƶttƤvƤt virheellisiƤ pƤivƤmƤƤriƤ tai merkkejƤ tai kƤyttƤvƤt tiettyjƤ toimintoja tavalla, jota et ole koskaan tarkoittanut.
Useimmissa testaustyypeissƤ kƤytetƤƤn validia dataa sovelluksen testaamiseen. Negatiivisessa testauksessa kƤytetƤƤn kuitenkin erilaista lƤhestymistapaa testaamalla reunojen ympƤrillƤ ja tyypillisten syƶtteiden ulkopuolella ja katsomalla, miten sovellus kƤsittelee poikkeuksia.
On tƤrkeƤƤ testata, ettƤ sovellus toimii tarkoitetulla tavalla. Toisaalta on myƶs tƤrkeƤƤ ymmƤrtƤƤ, mitƤ tapahtuu, kun kƤyttƤjƤt eivƤt noudata varauksia, etenkin jos nƤmƤ tahattomat kƤyttƶtarkoitukset aiheuttavat kaatumisia, jƤƤtymisiƤ tai muita vikoja.
Positiivisen ja negatiivisen testauksen vƤlinen ero
testaus ohjelmistotestauksessa
Kuten edellƤ esitettiin, negatiivisessa testauksessa kƤytetƤƤn odottamattomia tai virheellisiƤ tietoja jƤrjestelmƤn kƤyttƤytymisen todentamiseksi. Positiivisessa testauksessa sitƤ vastoin kƤytetƤƤn odotettuja tai kelvollisia tietoja sen todentamiseksi, ettƤ jƤrjestelmƤ toimii odotetulla tavalla.
Toisin sanoen:
- Positiivinen testaus auttaa sinua ymmƤrtƤmƤƤn, toimiiko sovelluksesi suunnitellusti.
- Negatiivisella testauksella mƤƤritetƤƤn, pystyykƶ sovelluksesi kƤsittelemƤƤn odottamattomia tapahtumia.
Ohjelmistotestauksessa tarvitaan sekƤ positiivista ettƤ negatiivista testausta, jos haluat testata sovelluksesi tarkasti.
Miksi negatiivinen ohjelmistotestaus on elintƤrkeƤƤ?
Kun kehittƤjƤt rakentavat ohjelmistoja, heillƤ on selkeƤ kƤsitys siitƤ, miten he odottavat kƤyttƤjƤn kƤyttƤvƤn ohjelmistoa. KƤyttƤjƤt eivƤt kuitenkaan aina noudata sƤƤntƶjƤ. Usein he yrittƤvƤt napsauttaa painikkeita, joita ei ole olemassa, syƶttƤƤ kirjaimia numerokenttiin tai yrittƤƤ syƶttƤƤ tietoja, joita et vain odota.
Negatiivisella testauksella pyritƤƤn ottamaan huomioon nƤmƤ ƤƤritapaukset, joita ei pystytƤ paljastamaan positiivisilla testaustekniikoilla, kuten
yksikkƶ
,
jƤrjestelmƤ
tai
integrointitestaus
. Se vaatii epƤsovinnaista ajattelua, jotta jƤrjestelmƤlle voidaan keksiƤ ”kurvipalloja”. Lopputuloksena on kuitenkin vakaampi ja vankempi sovellus.
MikƤ on negatiivisen testauksen tarkoitus
ohjelmistotestauksessa?
Negatiivisella testauksella on samanlaiset tavoitteet kuin muillakin ohjelmistotestauksen lajeilla. Tarkoituksena on nimittƤin paljastaa sovelluksen virheet, puutteet ja haavoittuvuudet. SillƤ on kuitenkin erityinen rooli sellaisten vikojen lƶytƤmisessƤ, joita ei voida paljastaa validien tietojen avulla. Seuraavassa on joitakin syitƤ, joiden vuoksi kannattaa ottaa kƤyttƶƶn negatiivinen testaus.
1. Virheiden paljastaminen
Negatiivisen testauksen keskeinen tarkoitus ohjelmistotestauksessa on paljastaa virheet, jotka johtuvat virheellisistƤ tiedoista tai odottamattomista syƶtteistƤ. Sen avulla testaajat voivat omaksua ennakoivamman lƤhestymistavan virheiden havaitsemiseen ja varmistaa, ettƤ ohjelmisto vastaa odotuksia.
2. Turvallisuus
Odottamattomat syƶtteet tai virheelliset tiedot voivat paljastaa tietoturva-aukkoja. NƤiden ƤƤritapausten testaaminen ja ratkaiseminen johtaa turvallisempaan ja vankempaan sovellukseen, sillƤ se vƤhentƤƤ pahantahtoisten hyƶkkƤysten, injektiovirheiden tai luvattomien pƤƤsyyritysten mahdollisuutta.
3. Virheiden kƤsittely
Negatiivinen testaus on hyƶdyllistƤ virheenkƤsittelyn validoinnissa. Kyse ei ole vain sen varmistamisesta, ettƤ jƤrjestelmƤ pysyy vakaana odottamattomien syƶtteiden tai tietojen kohtaamisen jƤlkeen, vaan myƶs siitƤ, miten se reagoi nƤihin tapahtumiin, esimerkiksi tuottamalla virheilmoituksia, joilla varmistetaan, ettƤ loppukƤyttƤjƤ tietƤƤ tietojen olevan virheellisiƤ.
4. Testien kattavuuden parantaminen
Positiivinen ja negatiivinen testaus tƤydentƤvƤt ohjelmistojen testauksessa toisiaan. Molemmat kattavat erilaisia tietojen syƶtƶn elementtejƤ, mikƤ tarkoittaa, ettƤ testauksesi on kattavampi.
5. Parempi kƤyttƤjƤkokemus
Negatiivinen testaus auttaa lƶytƤmƤƤn virheilmoitusten, kaatumisten ja muiden odottamattomien kƤyttƤytymistapojen lƤhteen, jotka voivat vaikuttaa negatiivisesti kƤyttƤjƤkokemukseen.
Positiivisen ja negatiivisen ero
testaus ohjelmistotekniikassa
Kuten edellƤ mainittiin, negatiivisessa testauksessa lƤhetetƤƤn odottamattomia tai virheellisiƤ tietoja jƤrjestelmƤn kƤyttƤytymisen tarkistamiseksi. Positiivisessa testauksessa taas lƤhetetƤƤn odotettuja tai kelvollisia tietoja, joilla varmistetaan, ettƤ jƤrjestelmƤ toimii odotetulla tavalla.
Positiivisen ja negatiivisen testauksen eroja ovat:
1. Tavoitteet:
Positiivisella testauksella varmistetaan, ettƤ ohjelmisto toimii tarkoitetulla tavalla; negatiivisella testauksella pyritƤƤn ymmƤrtƤmƤƤn, mitƤ tapahtuu epƤtarkoituksenmukaisissa skenaarioissa.
2. Tiedot:
Positiivisessa testauksessa kƤytetƤƤn kelvollisia tietoja, ja negatiivisessa testauksessa kƤytetƤƤn virheellisiƤ syƶtteitƤ, ƤƤriarvoja ja odottamattomia muotoja.
3. Keskittyminen:
Positiivisessa testauksessa keskitytƤƤn onnistumisskenaarioihin, kun taas negatiivisessa testauksessa keskitytƤƤn enemmƤn epƤonnistuneisiin skenaarioihin.
Erilaiset negatiiviset testaustyypit
Negatiivinen testaus on kƤsite, joka kattaa useita erilaisia lƤhestymistapoja sovelluksen laadun ja eheyden validointiin. Seuraavassa on seitsemƤn erilaista negatiivista testausta, jotka sinun on hyvƤ tietƤƤ.
#1. Raja-arvotestaus
Raja-arvojen testauksella pyritƤƤn testaamaan ohjelmistoa syƶtteillƤ, jotka ovat tuloalueen rajoilla tai reunoilla. Se testaa sekƤ suurimman ettƤ pienimmƤn odotetun arvon, mutta testaa myƶs juuri nƤiden arvojen ulkopuolella.
Esimerkki: SyƶttƶkenttƤƤn voidaan syƶttƤƤ numeroita vƤliltƤ 1-9. Raja-arvotesti syƶttƤƤ sekƤ 1 ettƤ 9, mutta testaa myƶs 0 ja 10.
#2. Tuloarvon testaus
Syƶttƶarvojen testauksessa mƤƤritetƤƤn, miten jƤrjestelmƤ reagoi odottamattomiin tai virheellisiin syƶtteisiin. Se testaa muun muassa seuraavia syƶtteitƤ:
- Virheelliset tietotyypit
- Alueen ulkopuoliset arvot
- Erikoismerkit
- TyhjƤt kentƤt.
Esimerkki: TestissƤ syƶtetƤƤn kirjain ja katsotaan, miten jƤrjestelmƤ reagoi.
#3. Kuormitustestaus
Kuormitustestaus
auttaa testaajia arvioimaan, miten jƤrjestelmƤ reagoi kovassa rasituksessa tai kuormituksessa, kuten suurissa tietokokonaisuuksissa tai suurissa liikennemƤƤrissƤ.
Testauksen automatisointityƶkalut
voivat simuloida nƤitƤ ƤƤriolosuhteita, jotta ymmƤrretƤƤn, miten jƤrjestelmƤ reagoi rasituksessa.
Esimerkki: Testaaja simuloi tuhansia samanaikaisia kƤyttƤjiƤ, jotka kƤyttƤvƤt verkkosivustoa.
#4. Poikkeustestaus
TƤmƤntyyppisessƤ testauksessa tutkitaan, miten jƤrjestelmƤ reagoi poikkeuksellisiin tapahtumiin tai virheisiin. Joitakin testejƤ ovat
- JƤrjestelmƤn kaatumisen simulointi
- VerkkohƤiriƶt
- Tietokantavirheet
- Levytilaongelmat
- Puuttuvat tiedostot.
Esimerkki: Testi voi tutkia, mitƤ tapahtuu, kun kƤyttƤjƤ lataa tiedostoa sovelluksesta ja internet katkeaa.
#5. Turvallisuuden testaus
Tietoturvatestauksessa kƤytetƤƤn negatiivista testausmenetelmƤƤ, jonka avulla pyritƤƤn tuomaan esiin ja ymmƤrtƤmƤƤn ohjelmiston haavoittuvuudet, jotka voivat paljastua virheellisten tai odottamattomien syƶtteiden seurauksena. TƤllƤ lƤhestymistavalla testataan yleisiƤ hyƶkkƤyksiƤ, kuten:
- SQL-injektio
- Cross-site scripting (XSS)
- Puskurin ylivuodot.
Esimerkki: Esimerkki: TietoturvatestissƤ saatetaan yrittƤƤ syƶttƤƤ haitallista koodia kƤyttƤjƤn syƶttƶkenttƤƤn.
#6. KƤyttƶliittymƤn testaus
TƤllainen testaus keskittyy virheisiin, joita ilmenee, kun kƤyttƤjƤ on vuorovaikutuksessa ohjelmiston kanssa. Se yrittƤƤ mƤƤrittƤƤ muun muassa seuraavia asioita:
- Odottamattomat vastaukset kƤyttƤjƤn vuorovaikutukseen
- Virheelliset virheilmoitukset
- Navigointiongelmat
Esimerkki: Testi tutkii, mitƤ tapahtuu, kun tietyt toiminnot suoritetaan epƤjƤrjestyksessƤ.
#7. Tietojen eheyden testaus
Tietojen eheyden testauksella varmistetaan, ettƤ tiedot pysyvƤt oikeina ja yhdenmukaisina sovelluksen eri toiminnoissa. Testattavia asioita ovat muun muassa:
- Mahdolliset tietovahingot
- Tietojen menetysskenaariot
- Tietojen tahattomat muutokset
Esimerkki: Testi varmistaa, ettƤ tiedot pysyvƤt samoina lƤhetyksen jƤlkeen.
Kuten huomaat, negatiivisen testauksen lƤhestymistapoja on paljon erilaisia. YhteistƤ niille kaikille on odottamattomien syƶtteiden tai virheellisten tietojen kƤyttƶ, jotta voidaan nƤhdƤ, miten sovellus toimii epƤtyypillisissƤ olosuhteissa.
Negatiivisen testauksen edut
Negatiivisessa testauksessa on kyse siitƤ, ettƤ ymmƤrrƤt, miten sovelluksesi toimii odottamattomien tilanteiden sattuessa. Seuraavassa on joitakin tƤmƤn lƤhestymistavan tƤrkeimpiƤ etuja.
- Se auttaa sinua ymmƤrtƤmƤƤn, miten odottamattomat syƶtteet tai virheelliset tiedot vaikuttavat sovellukseesi. TƶrmƤƤkƶ se? Sylkee epƤtarkan virheilmoituksen?
- Negatiivinen testaus on osa vastuullista laadunvarmistusta, koska sen avulla pyritƤƤn tunnistamaan jƤrjestelmƤn heikkoudet.
- Negatiivisessa testauksessa ohjelmiston toimintaa testataan testaamalla sen reagointia ennakoimattomiin tai odottamattomiin skenaarioihin, joita se joutuu kohtaamaan luonnossa.
- Negatiivinen testaus on jƤlleen olennainen osa perusteellista tietoturvaa, koska se tuo esiin mahdollisia hyƶkkƤysvƤyliƤ, joita verkkohyƶkkƤƤjƤt saattavat hyƶdyntƤƤ.
Negatiivisen testauksen haitat
Negatiivisesta testauksesta on paljon hyƶtyƤ, mutta sillƤ on myƶs joitakin haittapuolia, jotka on voitettava.
- Perusteellinen negatiivinen testaus voi vaatia lisƤlaitteita ja -ohjelmistoja, mikƤ voi lisƤtƤ testauskustannuksia. Tiukalla budjetilla toimiville joukkueille tƤmƤ voi olla epƤedullista.
- Negatiivinen testaus voi olla melko aikaa vievƤƤ, koska se edellyttƤƤ monien testitapausten luomista, jotta voidaan kattaa eri muunnokset syƶtteistƤ, joita ohjelmisto kohtaa tuotannossa.
- Negatiivisella testauksella voidaan kattaa vain rajallinen mƤƤrƤ ennalta arvaamattomia tilanteita. Jotkin tilanteet saattavat olla niin odottamattomia, etteivƤt testaajat voi ottaa niitƤ huomioon.
- Negatiivisten testitapausten automatisointi on haastavaa. Oikean ohjelmiston, kuten ZAPTESTin, avulla prosessi on kuitenkin paljon helpommin hallittavissa.
Negatiivisen testauksen haasteet
Negatiivinen testaus on ratkaisevan tƤrkeƤƤ, jos haluat rakentaa vankan ja luotettavan ohjelmiston, joka kestƤƤ kƤyttƤjƤn vuorovaikutuksen aiheuttamat rasitukset. LƤhestymistavan toteuttamiseen liittyy kuitenkin joitakin haasteita, jotka sinun on tiedostettava.
KƤydƤƤn lƤpi joitakin pysyvimpiƤ haasteita.
1. Negatiivisten skenaarioiden tunnistaminen ohjelmistotestauksessa
RiittƤvƤ kattavuus:
Yksi negatiivisen testauksen suurimmista haasteista on varmistaa, ettƤ katat tarpeeksi odottamattomia skenaarioita. Negatiivisia skenaarioita ja muunnelmia on paljon, joten niiden kaikkien huomioon ottaminen edellyttƤƤ luovaa lƤhestymistapaa siihen, miten kƤyttƤjƤt ovat vuorovaikutuksessa ohjelmiston kanssa.
Priorisointi:
Kun on niin paljon mahdollisia negatiivisia skenaarioita, joita pitƤƤ tutkia, testaajat eivƤt aina ole varmoja, mistƤ heidƤn pitƤisi aloittaa. Joitakin hyviƤ kriteerejƤ sen arvioimiseksi, mitƤ priorisoidaan, ovat muun muassa ennusteet:
- Tilanteet, joissa vikojen todennƤkƶisyys on suuri.
- vikojen lopputuloksen vakavuus.
2. RiittƤvien negatiivisten testitapausten suunnittelu
Syƶtteen validointi:
Vankkojen negatiivisten testitapausten suunnittelu edellyttƤƤ melko kattavaa tietoa jƤrjestelmƤn kƤyttƤytymisestƤ, arkkitehtuurista ja rajoituksista. Ohjelmiston testaaminen edellyttƤƤ huolellisesti harkittujen syƶtteiden ja tietojen kƤyttƶƤ. Vaikka satunnainen lƤhestymistapa voi auttaa sinua paljastamaan joitakin vikoja, se kalpenee verrattuna tarkempaan ja jƤrjestelmƤllisempƤƤn lƤhestymistapaan negatiiviseen testaukseen.
Tietojen monimuotoisuus:
JƤrjestelmƤsi erityispiirteistƤ riippuen saatat joutua testaamaan melko erilaisia tietoja vastaan. On todellakin olemassa monia erilaisia tietomuotoja, kuten numeroita, tekstiƤ, pƤivƤmƤƤriƤ ja niin edelleen, joista jokainen sovellus voi hyvƤksyƤ. Haasteena on suunnitella testitapauksia, joissa voidaan ottaa huomioon jokainen formaatti ja erityisesti jokainen virheellisten tietojen variaatio. TƤmƤ tilanne voi olla melko aikaa vievƤ testausryhmille.
3. Tehokkuus ja testausautomaatio
Aikaa vievƤƤ:
Positiivisella testauksella pyritƤƤn validoimaan ohjelmisto odotettuja tuloksia vastaan. Negatiivisessa testauksessa on sen sijaan tutkittava odottamattomia tilanteita ja mahdollisia skenaarioita. Kartoittamattomalla alueella liikkuminen vie enemmƤn aikaa. Jos siis haluat kattavat tulokset, jotka saat negatiivisen testauksen avulla, sinun on oltava valmis kƤyttƤmƤƤn ylimƤƤrƤisiƤ tyƶtunteja.
Automaation monimutkaisuus:
Negatiivinen testaus voi olla aika- ja resurssi-intensiivistƤ. NƤin ollen se on tƤydellinen tyƶpaikka ohjelmistotestauksen automatisoinnille. On kuitenkin olemassa joitakin ongelmia, jotka on ratkaistava. Esimerkiksi sellaisten testitapausten suunnittelu, jotka mƤƤrittelevƤt odottamattomat tulokset odottamattomille syƶtteille, vaatii jonkin verran kokemusta ja taitotietoa. LisƤksi olemassa oleva automaatiotestausympƤristƶsi ei vƤlttƤmƤttƤ tue virheellisiƤ tietoja, jotka haluat siirtƤƤ sovellukseen, mikƤ lisƤƤ monimutkaisuutta entisestƤƤn.
4. Tulosten arviointi
VƤƤrƤt positiiviset tulokset:
Testauksen kalibrointi tarkkuuden ja kattavuuden vƤlisen tasapainon varmistamiseksi on negatiivisten testien tekijƶille tuttu asia. Joissakin tilanteissa liian herkkƤ virheenkƤsittely sekoittaa virheellisesti kelvolliset syƶtteet negatiivisiin syƶtteisiin, mikƤ johtaa ajan tuhlaamiseen ongelmiin, jotka eivƤt ole merkityksellisiƤ.
EpƤselvƤt tulokset:
Kun jƤrjestelmƤ vastaanottaa virheellisen syƶtteen, se voi johtaa kaatumisiin, virheisiin tai jƤƤtymiseen. Monissa tapauksissa tƤmƤ on varma merkki virheestƤ. Toisissa tapauksissa se on kuitenkin todiste kƤsittelemƤttƶmƤstƤ ƤƤritapauksesta, jota kehittƤjƤt eivƤt ole ottaneet huomioon. NƤiden erillisten tilanteiden erottaminen toisistaan on tƤrkeƤƤ, mutta todellisen syyn selvittƤminen on aikaa vievƤƤ.
Tietojen hallinta:
Negatiivinen testaus vaatii huomattavan mƤƤrƤn tietoja. NƤmƤ testitiedot on sekƤ tuotettava ettƤ yllƤpidettƤvƤ. Kehitystilanteissa, joissa aikataulu on tiukka, tƤmƤ on ylimƤƤrƤinen tyƶ, joka on otettava huomioon.
5. Organisatoriset kysymykset
Negatiivisen testauksen asiantuntemuksen puute:
Vaikka negatiivinen testaus on suosittua, monilta testaajilta puuttuu taitoja ja asiantuntemusta tƤllaisen testauksen toteuttamiseen kattavasti. Tiettyjen negatiivisten testitapausten suunnittelu ei ole yhtƤ intuitiivista kuin positiivisten testitapausten suunnittelu. LisƤksi testiautomaation toteuttaminen voi olla haastavaa ilman oikeaa asiantuntemusta.
Liiketoiminnan paine:
Sidosryhmien, testaajien ja johdon on ymmƤrrettƤvƤ, ettƤ negatiivisella testauksella on ratkaiseva merkitys vankkojen sovellusten kehittƤmisessƤ. Jos sen merkitystƤ ei ymmƤrretƤ, voi syntyƤ paineita keskittyƤ positiiviseen testaukseen negatiivisen testauksen kustannuksella.
On selvƤƤ, ettƤ tiimeillƤ, jotka haluavat hyƶdyntƤƤ negatiivisen testauksen etuja, on useita haasteita. Oikealla lƤhestymistavalla ja oikeilla ohjelmistotestaustyƶkaluilla voit kuitenkin voittaa nƤmƤ ongelmat ja rakentaa ohjelmiston, joka ylittƤƤ kƤyttƤjien odotukset.
Kuinka kirjoittaa ohjelmistotestauksen negatiiviset testitapaukset
Ohjelmistotestauksen negatiivisten testitapausten kirjoittaminen vaatii jonkin verran kokemusta ja luovaa ajattelua. TƤssƤ on vaiheittainen opas, joka auttaa sinua rakentamaan nƤmƤ kriittiset testitapaukset.
#1. Aseta tavoitteesi
Ennen kuin kirjoitat ohjelmistotestauksen negatiiviset testitapaukset, sinun on ymmƤrrettƤvƤ, miksi haluat suorittaa negatiivisen testauksen. Kaikki sovellukset eivƤt hyƶdy negatiivisesta testauksesta.
YmmƤrrƤ siis, mitƤ haluat saavuttaa. Negatiivinen testaus on suunniteltu paljastamaan virheet ja kaatumiset, jotka johtuvat odottamattomista kƤyttƤjƤn vuorovaikutusskenaarioista tai -olosuhteista.
#2. Mahdollisten kielteisten skenaarioiden hahmottelu
Seuraavaksi sinun on otettava huomioon, millaisia kielteisiƤ skenaarioita voi esiintyƤ, kun kƤyttƤjƤt ovat vuorovaikutuksessa ohjelmiston kanssa. TƤmƤn vaiheen aikana tehtƤvƤ tutkimus on ratkaisevan tƤrkeƤƤ. Joitakin alueita, joita sinun kannattaa tutkia, ovat:
- JƤrjestelmƤvaatimukset
- Tyypilliset kƤyttƶtapaukset
- Sovelluksen ominaisuudet ja toiminnot
Tutki nƤitƤ tilanteita ja laadi luettelo skenaarioista, joissa sovellus ei ehkƤ toimi tarkoitetulla tavalla.
Pohdi sitten kriittisiƤ syƶtteen validointiskenaarioita. Tyypillisesti tƤmƤ sisƤltƤƤ tietojen syƶttƶlomakkeita, kirjautumiskenttiƤ ja niin edelleen.
Ota huomioon myƶs lukemattomat tavat, joilla kƤyttƤjƤt voivat olla vuorovaikutuksessa ohjelmiston kanssa, sekƤ odottamattomat tapahtumat, jotka voivat aiheuttaa haitallisia seurauksia, kuten verkkoyhteyksien katkeamiset, jƤrjestelmƤn Ƥkilliset sammutukset, massiiviset tiedonsiirrot jne.
Kun olet dokumentoinut mahdollisimman monta skenaariota, on aika mƤƤrittƤƤ nƤiden odottamattomien skenaarioiden odotetut tulokset.
#3. Hahmottele odotetut tulokset
Jokaisella testitapauksella on oltava odotettu lopputulos, eikƤ negatiivinen testitapaus poikkea tƤstƤ. Paras kƤytƤntƶ on kirjoittaa jokainen negatiivinen skenaario ja mƤƤritellƤ, millainen lopputuloksen pitƤisi olla.
Joitakin mahdollisia tuloksia voivat olla:
- Tarkat ja informatiiviset virheilmoitukset
- Asianmukaiset uudelleenohjaukset
- JƤrjestelmƤn hƤiriƶtƶn kƤsittely, esimerkiksi jƤrjestelmƤn jƤƤtymisen tai kaatumisen estƤminen.
#4. Valitse testattavat tulot
Nyt on aika katsoa, mitƤ syƶtteitƤ sinun on testattava. NƤiden syƶtteiden pitƤisi olla niitƤ, jotka todennƤkƶisimmin aiheuttavat virheen tai muuta negatiivista kƤyttƤytymistƤ.
Joitakin syƶttƶtietoja, jotka sinun on sisƤllytettƤvƤ, ovat:
- Alueen ulkopuoliset arvot (negatiiviset arvot ikƤkentƤssƤ jne.).
- Virheelliset tiedot (kirjaimet numeerisessa kentƤssƤ jne.).
- Odottamattomat merkit tai symbolit
- Erikoismerkit
- Puuttuvat tiedot
#5. Kirjoita testitapaukset
Kun olet koonnut kaikki skenaariot, on aika kirjoittaa testitapaukset. Negatiivisen testauksen avulla voit kirjoittaa lƤhes rajattoman mƤƤrƤn testitapauksia. Loppujen lopuksi tƤmƤntyyppisessƤ testauksessa on kyse sen selvittƤmisestƤ, mitƤ tapahtuu, kun ihmiset kƤyttƤvƤt ohjelmistoa tavalla, jota et ole tarkoittanut. MƤƤrƤaikojen vuoksi sinun on kuitenkin karsittava mahdollisten tapausten luettelo tilanteisiin, jotka todennƤkƶisimmin aiheuttavat ongelmia.
Kuten aina, kirjoita testitapaukset selkeƤllƤ, tiiviillƤ ja objektiivisella kielellƤ. TƤssƤ ei ole tilaa epƤselvyyksille.
TƤssƤ on hyvƤ muoto negatiivisia testitapauksia varten.
- KƤytƤ testitapauksen ID:tƤ
- Kuvaa tarkasti, mitƤ testataan
- Huomioi negatiivisen testin mahdolliset ennakkoedellytykset
- Hahmottele vaiheet
- Selvien ja objektiivisten tulosten mƤƤrittƤminen
- Merkitse muistiin testin todellinen tulos
#6. Aikatauluta testi
Nyt sinun on ajoitettava testit. On tƤrkeƤƤ asettaa etusijalle skenaariot, joilla on vakavimmat haittavaikutukset, kuten kolarit, tai joissa ongelmat paljastuvat todennƤkƶisimmin.
Esimerkki negatiivisesta testitapauksesta
TƤssƤ on esimerkki negatiivisesta testitapauksesta.
Testitapauksen ID: TC001
Kuvaus: Tarkista, ettƤ virheilmoitus tulee nƤkyviin, jos kƤyttƤjƤ syƶttƤƤ virheellisen sƤhkƶpostiosoitteen.
Edellytykset: KƤyttƤjƤn on oltava sovelluksen kirjautumissivulla
Vaiheet: 1. SyƶtƤ virheellinen sƤhkƶpostiosoite. 2. Paina ”Kirjaudu sisƤƤn”
Odotettu tulos: Kun kƤyttƤjƤ painaa ”Kirjaudu sisƤƤn”, tulee virheilmoitus ”virheellinen sƤhkƶpostiosoite syƶtetty”.
Tulos: Tallenna, mitƤ tapahtui, kun ”Kirjaudu” valittiin.
EsimerkkejƤ negatiivisista skenaarioista ohjelmistotestauksessa
Seuraavassa on joitakin tyypillisiƤ skenaarioita, jotka voit todentaa kƤyttƤmƤllƤ negatiivisia testausmenetelmiƤ.
1. Tieto- ja kenttƤtyypit
Jos olet tƤyttƤnyt lomakkeen verkossa, tiedƤt, ettƤ nƤmƤ laatikot on asetettu hyvƤksymƤƤn tietyntyyppisiƤ tietoja. Jotkut ovat vain numeroita, kun taas toiset hyvƤksyvƤt pƤivƤmƤƤriƤ, tekstiƤ tai muita tietotyyppejƤ.
NƤiden kenttien negatiivisessa testauksessa lƤhetetƤƤn virheellisiƤ tietoja, esimerkiksi syƶttƤmƤllƤ kirjaimia numerokenttƤƤn.
2. Pakolliset kentƤt
Vaaditut kentƤt ovat taas lomakkeiden ja sovellusten yleisiƤ ominaisuuksia. Ne ovat kƤtevƤ vƤline, jolla varmistetaan, ettƤ kaikki kriittiset tiedot on kerƤtty ennen kuin kƤyttƤjƤ siirtyy seuraavaan vaiheeseen.
NƤiden skenaarioiden hyvƤ testitapaus on katsoa, mitƤ tapahtuu, kun nƤmƤ kentƤt jƤtetƤƤn tyhjiksi. Ihanteellisimmassa skenaariossa virheilmoituksen pitƤisi aktivoitua ja kehottaa kƤyttƤjƤƤ tƤyttƤmƤƤn vaadittu kenttƤ.
3. Sopiva mƤƤrƤ merkkejƤ
Jos sinulla on testattavana verkkosivuja sisƤltƤvƤ sovellus, sinulla saattaa olla tietokenttƤ, joka edellyttƤƤ rajoitettua merkkimƤƤrƤƤ. TƤmƤ voi koskea kƤyttƤjƤnimiƤ, puhelinnumeroita, rekisterƶintinumeroita ja niin edelleen.
Voit luoda negatiivisia testitapauksia nƤille kentille kirjoittamalla testejƤ, joissa syƶtetƤƤn yli suurimman sallitun merkin, ja katsomalla, miten sovellus reagoi.
4. Tietojen rajat ja rajoitukset
TietyillƤ lomakkeilla on kenttiƤ, joilla on kiinteƤt rajat. Jos esimerkiksi haluaisit, ettƤ joku arvioisi jotain asiaa 100:lla, tietorajat olisivat 1-100.
Luo negatiivinen testitapaus, jossa yritƤt syƶttƤƤ 0, 101 tai muita negatiivisia tai positiivisia arvoja vƤlillƤ 1-100.
Negatiivisen testauksen parhaat kƤytƤnnƶt
Laadukkaan negatiivisen testauksen varmistamiseen liittyy useita parhaita kƤytƤntƶjƤ. Seuraavassa on muutamia vinkkejƤ, jotka auttavat sinua pƤƤsemƤƤn sinne.
1. MƤƤrittele virheelliset syƶtteet:
Tutustu kehitysdokumentaatioon, kƤyttƶtapauksiin ja UI/UX-kƤyttƶliittymƤƤn ymmƤrtƤƤksesi ja tunnistaaksesi mahdolliset virheelliset syƶtteet. Tarkkaile virheellisiƤ tietotyyppejƤ, ƤƤriarvoja, puuttuvia tietoja, tyhjiƤ kenttiƤ, odottamattomia muotoja ja paljon muuta.
2. KƤytƤ raja-arvoanalyysiƤ:
Kuten edellƤ mainittiin, hahmottele raja-arvot lƶytƤƤksesi ƤƤritapaukset, jotka voivat aiheuttaa odottamattomia reaktioita.
3. Tyƶntekijƶiden vastaavuuden jakaminen:
Tutki syƶttƶalueesi ja jaa ne kelvollisten ja virheellisten arvojen ekvivalenssiosioihin. TƤmƤ prosessi auttaa vƤhentƤmƤƤn kirjoitettavien testitapausten mƤƤrƤƤ, koska jos vastaava virheellinen tieto aiheuttaa ongelmia yhdessƤ syƶtteessƤ, se todennƤkƶisesti esiintyy koko luokassa.
4. JƤljittele huonoja kƤyttƤjiƤ:
Positiivisella testauksella todennetaan kƤyttƤjƤn odotettu kƤyttƤytyminen. Negatiivisessa testauksessa tutkitaan, mitƤ tapahtuu, kun ihmiset kƤyttƤvƤt sovellusta vƤƤrin. Mieti siis erilaisia skenaarioita, joissa nƤin voi tapahtua, ja toista ne testitapauksissasi.
5. Anna riskien ja vaikutusten ohjata testausta:
YhdellƤkƤƤn testaajalla ei ole rajattomasti aikaa. Jossain vaiheessa sinun on tehtƤvƤ vaikeita valintoja, koska et voi testata (tai edes tietƤƤ) kaikkia odottamattomia tuloksia. Kun sinun on pƤƤtettƤvƤ, minkƤ tyyppisiƤ negatiivisia testejƤ haluat suorittaa, aseta etusijalle ne alueet, jotka aiheuttavat eniten riskejƤ tai kielteisiƤ vaikutuksia tuotteellesi.
6. VirheenkƤsittelyn todentaminen:
Varmista, ettƤ virheiden kƤsittely on osa testausta ja ettƤ virheilmoitukset ovat hyƶdyllisiƤ ja tarkkoja.
7. Automatisoi mahdollisimman paljon:
Automaatio on taitava hoitamaan arkipƤivƤisiƤ ja toistuvia tehtƤviƤ. Negatiivinen testaus edellyttƤƤ kuitenkin edelleen manuaalista lƤhestymistapaa, jotta voidaan tutkia testausta ja lƶytƤƤ ƤƤritapauksia.
Parhaat negatiivisen testauksen tyƶkalut vuodelle 2024
Vaikka negatiivinen ohjelmistotestaus on yleistƤ koko alalla, erillisiƤ tyƶkaluja tƤhƤn tyƶhƶn ei ole riittƤvƤsti. Suuri syy tƤhƤn on negatiivisen testauksen monipuolinen luonne. LisƤksi monet samoista positiiviseen testaukseen kƤytetyistƤ tyƶkaluista toimivat myƶs negatiivisessa testauksessa, kun syƶtetietoja mukautetaan.
ZAPTEST on paras tyƶkalu negatiiviseen testaukseen, koska se on monipuolinen ja modulaarinen. Se on helppokƤyttƶinen ja muokattavissa, ja alustojen ja sovellusten vƤlisten ominaisuuksien ansiosta se tarjoaa joustavuutta, jota on vaikea voittaa.
Tietoon perustuva testaus ja
mutaatiotestaus
toiminnot tekevƤt ZAPTESTistƤ tƤydellisen negatiiviseen testaukseen. LisƤksi sen RPA ominaisuuksien avulla voit simuloida todellisia kƤyttƤjiƤ, kƤyttƤƤ testejƤ uudelleen ja rakentaa raportteja ja dokumentaatiota helposti. Lyhyesti sanottuna ZAPTESTin kyky kƤyttƤƤ uusinta ohjelmistoautomaatiota ja robottiprosessien automaatio-ohjelmistoja tekee siitƤ yhden luukun toimipisteen kaikkiin automaatiotehtƤviin, myƶs negatiiviseen testaukseen.
Lopulliset ajatukset
Negatiivinen testaus ohjelmistotestauksessa auttaa tiimejƤ ymmƤrtƤmƤƤn, miten sovellus kƤsittelee odottamattomia syƶtteitƤ ja virheellisiƤ tietoja. Positiivisella testauksella testataan, toimiiko ohjelmisto tarkoitetulla tavalla, kun taas negatiivinen ohjelmistotestaus auttaa selvittƤmƤƤn, mitƤ tapahtuu, kun kƤyttƤjƤt valitsevat syƶtteet ja tiedot vƤƤrin. Molemmat lƤhestymistavat ovat tƤrkeitƤ, jos haluat vakaan ja vankan sovelluksen, joka kestƤƤ monipuolisen kƤyttƤjƤvuorovaikutuksen aiheuttamat rasitukset.