Próf í DevOps heiminum

DevOps er sameining þróunar- og rekstrarvenja varðandi þróun og afhendingu hugbúnaðar.

Prófarar sem taka þátt í DevOps afhendingarmódelinu byrja að spyrja spurninga eins og:

  • Hvar passar prófun í DevOps líkani?
  • Hvernig er prófun og QA í DevOps öðruvísi en prófun í Agile og foss líkönum?
  • Sem QA, hvaða viðbótarfærni er ætlast til að ég kynni?

Þessi færsla fjallar um verkfærin, aðferðirnar og vinnubrögðin sem við þurfum að framkvæma til að prófa á áhrifaríkan hátt í DevOps heimi og fela í sér sjálfvirkni og stöðuga prófun í DevOps.




QA og prófanir í DevOps

Hvernig hafa prófanir þróast frá fossi í lipur yfir í DevOps?

Fossmódel

Prófanir og gæðatryggingarhættir hafa séð talsverða breytingu frá dögum fossins, Agile og nú DevOps. Í fossalíkaninu var litið á prófanir sem áfanga í líftíma hugbúnaðarþróunar. Prófarar og prófunarátak voru mjög þaggaðir þar sem prófanir voru áður hluti af prófunarteymi og oft aðskildir frá þróunarteyminu.


Prófarar áttu prófunarstefna og var litið á þá sem hliðverði gæða. Prófanir voru að mestu leyti handvirkar og áttu sér stað eftir að hugbúnaðurinn var fullþróaður og rétt áður en hann fór í framleiðslu.



Sömuleiðis tók hugbúnaðurinn langan tíma að skila. Sérstakur rekstrarteymi sá um að losa hugbúnaðinn til framleiðslu sem í besta falli gerðist á nokkurra mánaða fresti. Engin eða lítil samskipti / samvinna var milli Ops teymisins og Dev teymisins.

Lipur fyrirmynd

Agile líkanið skapaði breytingu á þróunar- og prófunarrými sem og losunartíðni. Hugbúnaður var þróaður ítrekað og stigvaxandi. Scrum, sem er aðferðafræði í Agile afhendingarlíkaninu, varð fljótt mjög vinsælt.

Þróunarátak var sundurliðað í röð af stuttum endurtekningum, venjulega í 2-4 vikur. Hver endurtekning myndi búa til hugsanlegan flutningshugbúnað með því að bæta við nýjum eða auka núverandi lögun.


Prófarar urðu hluti af þróunarteyminu og prófanir urðu samhliða virkni við hugbúnaðargerð, frekar en áfanga í lok SDLC. Prófunarstarfsemin varð að sameiginlegri ábyrgð og gæði voru í eigu þróunarteymisins.

Agile líkanið sameinaði þróunar- og prófunaraðferðir og ruddi brautina fyrir hraðari afhendingu hugbúnaðar, en raunveruleg dreifing til framleiðslu var samt gerð af sérstöku TechOps teymi.

Þó að TechOps teymið hefði þekkingu á netþjónum, netkerfi og dreifingu, voru þeir venjulega ekki meðvitaðir um smáatriði hverrar útgáfu. Viðbrögð við þróunarteyminu gengu hægt. Ef galla var til í útgáfunni myndi venjulega taka nokkrar klukkustundir fyrir þróunarteymið að verða varir við vandamálið.

DevOps líkan

DevOps tekur Agile líkanið skrefinu lengra með því að færa útgáfu- og dreifingarstarfsemina nær þróun og prófun. Þetta þýðir að lipurt teymi eitt og sér ber ábyrgð á þróun, prófun og útgáfu hugbúnaðarins sem þeir búa til.




DevOps prófunarstefna

Prófun í DevOps spannar allan hugbúnaðarþróun og endingu líftíma. Prófarar einbeita sér ekki lengur eingöngu að virkni prófunum og sannprófun eiginleika.

Sem prófunaraðilar ættum við einnig að taka þátt í aðgerðaprófunum, frammistöðuprófunum, grunnprófunum á öryggi, auk þess að vera fær um að fylgjast með og greina framleiðslugögn og annál.

Dan Ashby er með frábært innlegg um prófanir í DevOps þar sem hann lýsir

Þú getur séð hvers vegna fólk á erfitt með að skilja hvar prófun passar í líkan sem minnist alls ekki á það. Fyrir mig passar prófun við hvert einasta atriði í þessu líkani.


Reyndar, prófanir geta og ættu að gerast á hverju stigi í DevOps líkani. Í Agile Test Strategy færsla , lýstum við því hvernig prófun fellur að Agile líkaninu.

DevOps prófunarstefna getur lengt það með því að bæta við eftirfarandi köflum:

Próf sjálfvirkni og stöðug próf í DevOps

Val á tækjum og tækni verður alltaf svo mikilvægt í DevOps líkaninu. Val á tækjum gerir fyrirtækinu kleift að skila forritum og þjónustu með miklum hraða.


Það er meiri áhersla á sjálfvirka prófun í DevOps þar sem við viljum skapa menningu þar sem við getum ýtt kóðanum niður kerfin hratt og með öryggi.

Auk sjálfvirkra hagnýtingarprófa ættum við einnig að hafa sett afköstapróf sem og öryggis / seiglupróf í afhendingarleiðinni.

Óþarfur að taka fram að áður en hægt er að framkvæma eitthvað af ofangreindum sjálfvirkum prófum, er fyrst og fremst að byggja upp sjálfvirka byggingar- og afhendingarleiðslu í stöðugu samþættingartæki, svo sem Jenkins.

Próf í framleiðslu

Prófun í framleiðslu þýðir ekki endilega að framkvæma forrit fyrir virkni / frammistöðuprófun þína á lifandi kerfi þar sem notendur eru að nota forritið.

Við getum byrjað á því að greina þróun í A / B eða fjölbreytiprófum. Við getum líka fylgst með netþjónum með tilliti til hvers konar undarlegrar hegðunar, svo sem minnisleka, mikil CPU notkun, o.s.frv.



Áhrif DevOps á prófanir

Hvernig hefur allt þetta breytt hlutverki prófenda og prófana í DevOps?

Nú er búist við að prófunaraðilar hafi að minnsta kosti eftirfarandi þekkingu og færni til að geta framkvæmt prófunarstarfsemi á áhrifaríkan hátt

  • Grunn netþekking
  • Grunnritun Unix / Shell, t.d. bash, python
  • Stöðug samþætting / stöðug afhending t.d. Jenkins,
  • Árangursprófunarverkfæri eins og JMeter eða Gatling
  • Tilbúinn fyrir aðgerðir og seigluprófanir
  • Þekking á gámum, Docker, Kubernetes
  • Fyrirspurn um eftirlitstæki eins og Splunk
  • Skýþjónusta, t.d. AWS, Azure