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.