Hvenær á að gera notendasögur sjálfvirkar?

Ef þú hefur unnið í lipru umhverfi sem QA, þá hefðir þú líklega rekist á einhvers konar próf sjálfvirkni. Ég meina ekki sjálfvirkni einingaprófa sem er venjulega miðlara virkni verktaki, heldur sjálfvirkni viðurkenningarprófunar sem venjulega er gerð af QA eða nýja ímyndarhlutverki hugbúnaðarhönnuðar við próf.

Í fyrsta lagi skulum við skoða nokkur viðmið og ástæður fyrir því að hafa sjálfvirkni í prófum sem ætti að svara spurningunni „Hvers vegna próf ætti að gera / ætti ekki að vera sjálfvirk“



Endurtekjanleiki

Sjálfvirku prófin ættu að vera endurtekin og framleiðslan ætti að vera stöðug í hverri keyrslu svo verktaki geti treyst á niðurstöðu prófanna. Þetta þýðir líka að við myndum venjulega ekki gera sjálfvirkt próf ef það verður keyrt aðeins einu sinni; eina undantekningin frá þessu er ef þú ert að keyra próf gegn mjög miklum fjölda gagna, svo sem að athuga með tilvísunartengil á tengil með mörgum tenglum.




Áreiðanleiki

Sjálfvirku prófin ættu í raun að vera að athuga sannprófanir rétt og geta ákvarðað raunverulegar niðurstöður miðað við gildar niðurstöður. Þetta þýðir einnig að ef ekki er hægt að ákvarða niðurstöðurnar auðveldlega eða sjálfvirk próf eru háð umhverfismálum sem geta valdið fölsku jákvæðu í niðurstöðum prófanna, þá geta prófin ekki verið áreiðanleg.



Tími

Sjálfvirku prófin ættu einnig að spara okkur tíma. Ef einfalt próf tekur 10 mínútur að ljúka en sömu niðurstöðu er hægt að ákvarða á 1 mínútu handvirkt, þá er best að gera ekki slíkar prófanir sjálfvirkar.




Öryggisnet

Sjálfvirku prófin ættu að veita verktaki öryggisnet svo að öll frávik frá góðum vinnukóða, vegna breytinga á kóðagrunni, eru fljótt auðkennd og tilkynnt til verktakanna.





Hvenær ætti að gera sögur sjálfvirkar?

Í dæmigerðum spretti, segðu að það séu 7 sögur sem eru staðráðnar í spretti þar af 5 eru góðir frambjóðendur til að verða sjálfvirkir út frá ofangreindum forsendum. En hvenær er besti tíminn til að gera þessar sögur sjálfvirkar? Ættum við að skrifa sjálfvirku prófin þegar eiginleikarnir eru að þróast? Ættum við að bíða þar til eiginleiki er þróaður og skrifa sjálfvirku prófin? Eigum við að bíða til loka sprettsins og gera sjálf sögurnar sjálfvirkar?

Í sumum tilfellum þegar sögur eru villuleiðréttingar eða smávægilegar breytingar eða endurbætur á núverandi eiginleika er skynsamlegt að skrifa sjálfvirku prófin þar sem verktaki er að breyta eiginleikanum. Það getur jafnvel verið til sjálfvirkt próf fyrir aðgerðina sem er breytt þar sem þú þarft aðeins að laga handritið til að koma til móts við nýju breytingarnar.

Í öðrum tilvikum, þegar sagan snýst um að innleiða nýjan eiginleika í forritið, hvernig vitum við hvernig lokaafurðin mun líta út til að geta skrifað próf fyrirfram? Hér er ég ekki að tala um eiginleikaskrár sem lýsa samþykkisprófunum fyrirfram heldur raunverulegu innréttingum eða selenprófum (framkvæmd prófana) sem ganga á móti afhentum kóða.


Kjarni málsins er - allar prófanir sem verða gerðar oftar en einu sinni ættu að vera sjálfvirkar. Og hvaða próf ætlum við að framkvæma oftar en einu sinni? Aðhvarfspróf. Og hvað eru aðhvarfspróf? Próf sem ákvarða hvort forritið hefur dregist aftur úr virkni vegna nýrra breytinga og eiginleika.

En þú getur aðeins skrifað góð sjálfvirk aðhvarfspróf gegn kerfi sem er stöðugt, vel skilið og afgerandi hvað varðar hegðun með þekktum inn- og úttökum.

Vandamálið við að reyna að skrifa sjálfvirkar prófanir gegn eiginleika þar sem hann er í þróun er að þú gætir hugsanlega eytt löngum tíma og mikið lagt upp úr því að skrifa sjálfvirkar handrit gegn einhverju sem er rokgjarnt og háð stöðugum breytingum á sprettinum. Þar að auki, hversu oft höfum við séð sögu vera framið í sprett og síðan seinna dregin upp úr sprettinum? Þá höfum við sóað tíma í að skrifa eitthvað sem kom ekki inn í kerfið.

Sum samtök setja jafnvel stranga reglu um að saga sé ekki „búin“ fyrr en hún er að fullu sjálfvirk! Ætlum við að stöðva mikilvægan eiginleika sem sleppt verður vegna þess að QA gerði ekki eða gat ekki veitt sjálfvirkni í tíma af ýmsum ástæðum? Eða saga er ekki „búin“ vegna þess að við höfum ekki sjálfvirkt handrit til að athuga hvort hnappur sé á síðu. Í alvöru?


Besti tilgangurinn með sjálfvirkni prófunum er aðhvarfsprófun og aðhvarfspróf eru alltaf keyrð gegn þekktu ástandi og afgerandi kerfi til að geta greint breytingar á grunnlínunni og til að fá þýðingarmikla niðurstöðu úr sjálfvirku prófi, er aðeins þegar prófið hefur keyrt og farið handvirkt að minnsta kosti einu sinni, svo að þú getir borið saman niðurstöður sjálfvirku hlaupsins við handvirka framkvæmd.

Samkvæmt þessari skilgreiningu ættu sögurnar að vera sjálfvirkar (útfærslan) innan sprettsins og aðeins þegar eiginleikinn er að fullu staðfestur handvirkt. Þegar sagan er lokið og hún hefur verið staðfest handvirkt fyrst, þá er það áreiðanlegur eiginleiki og stöðugt kerfi sem þú getur síðan hannað og skrifað sjálfvirkar prófanir á móti. Þegar sjálfvirka prófinu hefur verið hrundið í framkvæmd er því bætt við aðhvarfsprófunarpakkann til að fylgjast með og greina aðhvarfsgalla þegar næstu aðgerðir eru að þróast.