Hvers vegna myndir þú gera sjálfvirkan prófun?

Af hverju myndirðu gera próf sjálfvirkt? Hvaða ávinning fáum við með sjálfvirkni prófa?

Mjög oft þegar fólk tekur þátt í sjálfvirkri prófun, þá breytist megináhersla þeirra frá því að hanna góð próf yfir í að tryggja að sjálfvirki kóðinn geti raunverulega framkvæmt og keyrt prófið.

Á sprettinum þegar liðsmenn eru undir þrýstingi til að skila sögunum á takmörkuðum tíma, er venjulega ekki nægur tími til að prófa allar fyrirhugaðar sviðsmyndir, hvað þá að skrifa sjálfvirkar prófshandrit til að prófa nýja virkni.


Við getum lent í smáatriðum með smáatriðum verksins, kóðun, yfirferð, framkvæmd og gleymt aðalástæðunni af hverju við gerum í raun sjálfvirkt próf!



Af hverju gerum við sjálfvirkt próf?

Þetta er ein af spurningunum sem ég spyr þegar ég tek viðtöl við umsækjendur um próf sjálfvirkni og mér til undrunar virðast margir frambjóðendur missa af helstu og mikilvægustu ástæðunum fyrir því að gera próf sjálfvirkt. Sum svörin sem ég fæ frá frambjóðendum eru alveg trúverðug en samt ekki svarið sem ég er að leita að. Sum svörin sem ég fæ við ofangreindri spurningu eru:


Auka prófþekju

Þetta svar er alveg gilt, en hvernig skilgreinum við umfjöllun? Ef við höfum 100 próf, hvernig getum við mælt prósentuþekjuna?



Með þroskaða sjálfvirkni prófa í gangi gætirðu keyrt mörg hundruð próf á tiltölulega stuttum tíma.

Vegna þessa getum við búið til fleiri prófatilfelli, fleiri prófunaraðstæður og prófað með fleiri inntaksgögnum fyrir tiltekinn eiginleika og þannig öðlast meira traust til þess að kerfið þeirra virki eins og búist var við.

Hins vegar, við prófanir og sérstaklega sjálfvirka prófanir, þýða fleiri próf ekki raunverulega betri gæði eða meiri möguleika á að finna villur.


Í færslu eftir Martin Fowler, þar sem hann ræðir Próf umfjöllun , nefnir hann

Ef þú gerir ákveðna umfjöllun að markmiði reyna menn að ná því. Vandamálið er að of þægilegar tölur eru of auðvelt að ná með lágum gæðaprófum. Á fáránlegasta stigi sem þú hefur AssertionFreeTesting . En jafnvel án þess að þú færð fullt af prófum sem leita að hlutum sem sjaldan fara úrskeiðis og truflar þig frá því að prófa það sem skiptir raunverulega máli.

Spara tíma

Þetta svar er líka satt þar sem þú getur eytt dýrmætum tíma í að gera áhugaverðar rannsóknarpróf á meðan sjálfvirku prófin eru í gangi. En fyrir glænýjan eiginleika sem hefur verið þróaður gæti það í raun tekið lengri tíma að skrifa sjálfvirkar handrit en að prófa eiginleikann handvirkt á fyrsta augnablikinu.

Svo það er mikilvægt að hafa í huga að til að spara tíma frá sjálfvirkum prófum, þá þarf það aukið átak í upphafi við að handrita sjálfvirku prófin, ganga úr skugga um að þau séu endurskoðuð með kóða og að engin hik sé í framkvæmd sjálfvirkra prófa.


Finndu fleiri galla

Þetta svar veldur mér stundum áhyggjum þar sem ég hef aldrei séð neinar mælingar sem benda til þess að fleiri villur hafi fundist með sjálfvirkni en handvirkar / rannsóknarprófanir. Með sjálfvirkum prófunum er venjulega athugað hvort afturför sé í kerfinu eftir að nýr kóði hefur verið innleiddur.

Það eru alltaf meiri líkur á að finna villur í nýjum eiginleikum en í núverandi virkni. Ennfremur eru aðrar ástæður hvers vegna sjálfvirk próf ná ekki að finna galla

Skiptu um handvirka prófanir

Þetta er líklega versta svarið sem ég hef heyrt varðandi hvers vegna við gerum próf. Það er skýr greinarmunur á því sem handvirk prófari gerir og hvað sjálfvirkt próf kannar. Sjálfvirk próf er ekki próf, það er að kanna staðreyndir.

Til þess að geta gert sjálfvirkan próf verðum við að vita útkomuna sem búist er við svo við getum athugað hvort hún sé gild eða ógild. Þetta er það sem gefur okkur satt eða ósatt, jákvætt eða neikvætt, standast eða mistakast.


Prófun er aftur á móti rannsóknaræfing, þar sem við hannum og framkvæmum próf samtímis. Margt getur hagað sér á annan hátt þar sem aðeins athugull mannlegur prófanir kann eftir.

Það verður alltaf þörf á góðum handvirkum prófunarmönnum vegna mismunandi hugarfars og getu til að efast um kerfið.



Bæta gæði

Þrátt fyrir að sjálfvirkar prófanir séu færar um að gefa okkur skjót viðbrögð og láta okkur vita um heilsufar forrits, svo að við getum afturkallað allar kóðabreytingar sem hafa brotið kerfið, bætir sjálfvirk prófun ein og sér ekki gæði. Bara vegna þess að við erum með þroskaða sjálfvirkni í prófunum tryggir það ekki að engar villur komist til framleiðslu.

Við getum bætt gæði með því að tryggja að réttum vinnubrögðum sé fylgt frá upphafi til enda þróunarferils. Gæði eru ekki aukaatriði; það ætti að baka það strax frá byrjun. Það er ekki nóg að reiða sig á sjálfvirkar prófanir til að fá mynd af gæðum vörunnar.




Svo, hver er meginástæðan fyrir því að við gerum sjálfvirkt próf?

Stutta svarið er endurtekningarnákvæmni . Við gerum próf sjálfvirkt vegna þess að við þurfum að framkvæma sömu prófin aftur og aftur. Myndir þú vilja gera sjálfvirkan próf ef þú ætlaðir bara að keyra það einu sinni og gleyma því? Auðvitað ekki! Tíminn og fyrirhöfnin sem þú eyðir í að gera prófið sjálfvirkt, þú hefðir getað framkvæmt það handvirkt.

Nú, samkvæmt skilgreiningu, gerum við sjálfvirkar endurteknar prófanir, þ.e.a.s. aðhvarfspróf, sem við þurfum að framkvæma oft.

Svo næst þegar þú vilt gera sjálfvirkan próf skaltu taka skref til baka og hugsa hversu oft er líklegt að þú framkvæmir þetta próf? Er það virkilega þess virði að gera sjálfvirkt prófið?