Miks soovite testi automatiseerida?

Miks peaksite testi automatiseerima? Milliseid eeliseid saame testiautomaatikaga?

Sageli, kui inimesed osalevad automatiseeritud testimises, liigub nende põhirõhk heade testide kavandamisest selle tagamisele, et automatiseeritud kood suudaks testi tegelikult käivitada ja käivitada.

Sprindi ajal, kui meeskonnaliikmetel on surve lugude edastamiseks piiratud aja jooksul, pole tavaliselt piisavalt aega kõigi kavandatud stsenaariumide testimiseks, rääkimata uue funktsionaalsuse testimiseks automaatsete testskriptide kirjutamisest.


Saame takerduda töö üksikasjadesse, kodeerimisse, ülevaatamisse, teostamisse ja unustada peamise põhjuse miks me automatiseerime testi!



Miks me testi automatiseerime?

See on üks küsimustest, mida ma küsin, kui küsitlen testimisautomaatika rolli kandidaate, ja minu üllatuseks näib, et paljudel kandidaatidel on testide automatiseerimise peamine ja kõige olulisem põhjus puudu. Mõned kandidaatidelt saadud vastused on üsna usaldusväärsed, kuid siiski mitte need, mida otsin. Mõned ülaltoodud küsimusele vastused on järgmised:


Suurendage katte ulatust

See vastus on üsna õige, kuid kuidas määratleda katvust? Kui meil on 100 testi, kuidas saaksime mõõta katvust protsentides?

Kui küps testimisautomaatika on paigas, võiksite suhteliselt lühikese aja jooksul läbi viia sadu katseid.

Seetõttu saame luua rohkem testjuhtumeid, rohkem teststsenaariume ja testida antud funktsiooni jaoks rohkem sisendandmeid ning seeläbi saada rohkem kindlustunnet, et nende süsteem töötab ootuspäraselt.

Kuid testimisel ja eriti testide automatiseerimisel ei tähenda rohkem teste tegelikult paremat kvaliteeti ega suuremat võimalust vigade leidmiseks.


Martin Fowleri postituses, kus ta loobub Testi katvus , mainib ta

Kui seate sihtmärgiks teatud katvuse, püüavad inimesed seda saavutada. Häda on selles, et kõrge leviala numbriteni on madala kvaliteediga testimisega liiga lihtne jõuda. Kõige absurdsemal tasemel, mis teil on AssertionFreeTesting . Kuid ka ilma selleta saate palju teste, otsides asju, mis harva valesti lähevad, häirides teid tegelikult tähtsate asjade katsetamisel.

Säästa aega

See vastus vastab ka tõele, kuna saate kulutada väärtuslikku aega huvitavate uurimiskatsete tegemiseks automatiseeritud testide töötamise ajal. Välja töötatud uhiuue funktsiooni jaoks võib aga automatiseeritud skriptide kirjutamine tegelikult võtta kauem aega kui funktsiooni esmakordne käsitsi testimine.

Niisiis, on oluline märkida, et automatiseeritud testide aja kokkuhoiuks on vaja automatiseeritud testide skriptimisel esialgu suuremat pingutust, veendumaks, et koodid on üle vaadatud ja automatiseeritud testide läbiviimisel pole luksumist.


Leidke rohkem vigu

See vastus teeb mind mõnikord murelikuks, kuna ma pole kunagi näinud ühtegi mõõdikut, mis viitab sellele, et automaatika leidis rohkem vigu kui käsitsi / uurimuslik testimine. Automatiseeritud testid kontrollivad üldiselt süsteemi regressiooni pärast uue koodi rakendamist.

Uute funktsioonide vigade leidmiseks on alati rohkem võimalusi kui olemasolevates funktsioonides. Lisaks on ka muid põhjuseid miks automatiseeritud testid ei suuda defekte leida

Asendage manuaalsed testrid

See on ilmselt halvim vastus, miks ma testi automatiseerisin. On selge vahe, mida manuaalne tester teeb ja mida kontrollib automatiseeritud testija. Automatiseeritud testimine ei ole testimine, see on faktide kontrollimine.

Testi automatiseerimiseks peame teadma oodatavat tulemust, et saaksime kontrollida kehtivat või kehtetut tulemust. See annab meile tõese või vale, positiivse või negatiivse, läbitud või ebaõnnestunud.


Testimine on seevastu uurimisharjutus, kus me kavandame ja teostame teste üheaegselt. Paljud asjad võivad käituda erinevalt, kus märkab vaid tähelepanelik inimtestija.

Häid käsitsi testijaid läheb alati vaja, kuna mõtteviis on erinev ja võime süsteemi kahtluse alla seada.



Parandage kvaliteeti

Ehkki automatiseeritud testid on võimelised andma meile kiiret tagasisidet ja hoiatama rakenduse tervisliku seisundi kohta, et saaksime kõik süsteemi rikkunud koodimuudatused tagasi võtta, ei paranda automaatne testimine iseenesest kvaliteeti. See, et meil on küps katseautomaatika, ei taga, et tootmisesse ei pääseks vigu.

Kvaliteeti saame parandada, tagades õigete tavade järgimise arengutsükli algusest lõpuni. Kvaliteet pole tagantjärele mõte; see peaks olema küpsetatud kohe alguses. Toote kvaliteedist ülevaate saamiseks ei piisa automatiseeritud testidele tuginemisest.




Mis on katse automatiseerimise peamine põhjus?

Lühike vastus on korratavus . Automatiseerime testi, kuna peame samu katseid läbi viima ikka ja jälle. Kas soovite testi automatiseerida, kui kavatsete selle käitada ainult ühe korra ja unustate selle? Muidugi mitte! Aeg ja vaev, mis kulutate testi automatiseerimisele, oleksite võinud selle ka käsitsi sooritada.

Nüüd automatiseerime definitsiooni järgi korratavad testid, st regressioonitestid, mida peame sageli täitma.

Seega, kui soovite järgmine kord testi automatiseerida, astuge samm tagasi ja mõelge, kui tihti tõenäoliselt seda testi sooritate? Kas testi väärtustamine on tõesti vaeva väärt?