devops testing tutorial
Vodič za testiranje DevOps-a: Nedavno istraživanje RightScale pokazalo je da je 54% tvrtki prihvatilo DevOps, a interes oko DevOpsa brzo raste.
U ovom ćemo članku naučiti kako će ova nova metodologija razvoja softvera utjecati na osiguranje kvalitete i kako bi se QA funkcija u cjelini trebala razvijati kako bi prihvatila ovu promjenu.
sortiranje izbora u c ++
Odjava => Kompletna serija vodiča za DevOps
U ovom ćemo članku saznati više o DevOpsu i kako će utjecati na osiguranje kvalitete i njegove funkcije.
Što ćete naučiti:
Što je DevOps?
DevOps - kombinacija je Razvelopment &Naeracije - to je metodologija razvoja softvera koja nastoji integrirati sve funkcije razvoja softvera, od razvoja do operacija unutar istog ciklusa.
To zahtijeva višu razinu koordinacije unutar različitih dionika u procesu razvoja softvera (naime Razvoj, osiguranje kvalitete i operacije )
DevOps ciklus
Idealan DevOps ciklus započeo bi od:
- Dev koji piše kod
- Izgradnja i postavljanje binarnih datoteka u QA okruženje
- Izvršenje test slučajeva i konačno
- Uvođenje u proizvodnju u jednom glatkom integriranom toku.
Očito je da ovaj pristup stavlja velik naglasak na automatizaciju izrade, implementacije i testiranja. Korištenje alata za kontinuiranu integraciju (CI), alati za automatizaciju testiranja postaju norma u DevOps ciklus.
Zašto DevOps?
Iako postoje suptilne razlike između Agile i DevOps testiranje , onima koji rade s Agileom DevOps će biti malo poznatiji za rad (i na kraju usvajanje). Iako se agilni principi uspješno primjenjuju u razvojnim i QA iteracijama, na operacijskoj je strani posve druga priča (i često prepirka). DevOps predlaže da ispravi ovu prazninu.
Sada, umjesto kontinuirane integracije, DevOps uključuje 'Stalni razvoj' , gdje je kôd napisan i predan za kontrolu verzija, bit će izgrađen, postavljen, testiran i instaliran u proizvodnom okruženju koje je spremno za upotrebu od strane krajnjeg korisnika.
Ovaj postupak pomaže svima u cijelom lancu jer su okruženja i procesi standardizirani. Svaka akcija u lancu je automatizirana. Također daje slobodu svim dionicima da koncentriraju svoje napore na dizajniranju i kodiranju visokokvalitetne isporuke, umjesto da brinu o raznim procesima gradnje, operacija i osiguranja kvalitete.
Drastično smanjuje vrijeme života na otprilike 3-4 sata, od trenutka kada je vremenski kôd napisan i predan, do primjene u proizvodnji za potrošnju krajnjeg korisnika.
Ukratko, DevOps je produžetak Agilea ili ga volim zvati „Agile na steroidima“.
Promijenjena uloga osiguranja kvalitete u DevOpsu
Tradicionalno, QA bi dobio gradnju koja se raspoređuje u određenom okruženju, a QA bi zatim započeo njihovu Funkcionalni & Ispitivanje regresije . Izrada bi idealno sjedila s QA-om nekoliko dana prije nego što se QA odjavi na izradi. Svi se ovi koraci mijenjaju u DevOpsu.
QA promjene za DevOps testiranje:
- QA su potrebni da usklade svoje napore u DevOps ciklusu.
- Moraju biti sigurni da su svi njihovi testovi automatizirani i postići gotovo 100% pokrivenost kodom.
- Moraju biti sigurni da je njihovo okruženje standardizirano i da je primjena na njihovim QA kutijama automatizirana.
- Svi njihovi zadaci prije testiranja, čišćenja, zadaci nakon testiranja itd. Automatizirani su i usklađeni s kontinuiranim ciklusom integracije.
Kao što je već spomenuto, DevOps zahtijeva visoku razinu koordinacije između različitih funkcija isporučivog lanca. To također znači da granice između različitih uloga suradnika u lancu postaju porozne.
pitanja za intervju za ručno testiranje za 4 godine iskustva
DevOps potiče sve da daju svoj doprinos lancu . Dakle, između ostalog, programer može konfigurirati postavljanja. Inženjeri za implementaciju mogu dodati test slučajeve u QA spremište. QA inženjeri mogu konfigurirati svoje slučajeve automatizacije u lanac DevOps.
Svi u lancu odgovorni su za kvalitetu i pravovremenost isporučenih proizvoda.
DevOps i automatizacija ispitivanja
Da bi se postigla takva brzina i okretnost, važno je automatizirati sve procese testiranja i konfigurirati ih da se automatski pokreću kada je implementacija završena u QA okruženju. Za postizanje ove integracije koriste se specijalizirani alati za ispitivanje automatizacije i alati za kontinuiranu integraciju.
To također zahtijeva izgradnju zrelog okvira za ispitivanje automatizacije kroz koji se mogu brzo skriptirati novi primjeri ispitivanja.
Strategija testiranja DevOpsa: Savjeti za uspjeh DevOpsa
- Treba identificirati test slučajeve koji se trebaju izvršiti za određenu izradu.
- Izvođenje testa u osnovi bi trebalo biti vitko.
- QA i Dev moraju sjediti zajedno i identificirati područja koja su pogođena zbog određene izrade i izvršavanja tih povezanih testnih slučajeva plus prolaznost zdravstvenog stanja.
- Također morate konfigurirati specijalizirane alate za analizu koda i pokrivenost kako biste bili sigurni da ćete postići gotovo 100% pokrivenosti koda.
- Koncept izvršenja svi regresijski testni slučajevi za položenu probu uskoro postaju zastarjeli.
- Potrebno je formalizirati strategiju testiranja novih značajki i privremene gradnje mogu se dostaviti QA-u koji bi zauzvrat stvorio testne skripte i izvodio ove testove automatizacije na privremenim gradnjama sve dok kôd ne postane dovoljno stabilan za raspoređivanje u proizvodno okruženje .
- Sva okruženja potrebna za testiranje moraju biti standardizirana, a implementacije moraju biti automatizirane.
- Koristeći razne tehnike automatizacije, QA bi trebao biti u mogućnosti aktivirati automatizirano testiranje u različitim okruženjima na više platformi (i među preglednicima u slučaju web aplikacija).
- Paralelno izvršavanje testova pomaže u smanjenju vremena za život, što je pak suština uspješne implementacije DevOpsa.
- Kriteriji za izlaz trebaju se postaviti za svaku seriju, tako da kada se rezultati testova vrate natrag u lanac, donese se odluka o odlasku / zabrani proizvodnje.
- Pronađene programske pogreške blokatora ili kritične datoteke treba prijaviti i popraviti te ih proslijediti kroz isti lanac događaja prije nego što se kôd postavi u proizvodno okruženje.
Praćenje aplikacija
QA bi također trebao biti u mogućnosti rano otkriti probleme i proaktivno ih prijaviti. Da bi to postigli, trebaju uspostaviti nadzor proizvodnog okruženja kako bi mogli otkriti bugove prije nego što izazovu kvar.
Postavljanje specijaliziranih brojača poput vremena odziva, upotrebe memorije i CPU-a itd. Može pružiti puno uvida u iskustvo krajnjeg korisnika.
Na primjer , ako se prosječno vrijeme odziva za prijavu postupno povećava tijekom različitih gradnji, QA bi trebao proaktivno prijaviti ovaj problem radi optimizacije koda za prijavu, inače bi buduće gradnje mogle uzrokovati frustraciju krajnjeg korisnika zbog dugog vremena odgovora.
QA također može koristiti mali podskup postojećih visokoprioritetnih testnih slučajeva koji se periodički izvršavaju u proizvodnji za aktivno nadgledanje okoliša. Greške poput: 'Ova se greška ponekad pojavi' ili ' Nije moguće reproducirati ”Može se uhvatiti kroz ovu strategiju koja na kraju čini aplikaciju stabilnijom i ujedno zadovoljava krajnje korisnike.
Opet, ovi monitori moraju biti konfigurirani za automatsko pokretanje s bogatim izvješćivanjem (poput dnevnika i snimki zaslona kvarova itd.).
Zaključak
Waterfall je ustupio mjesto V-modelu kojeg je pak zamijenio Agile kao preferirani izbor za razvoj softvera.
DevOps je budućnost. To je kontinuirani ciklus poboljšanja koji povremeno prolaze modeli za razvoj softvera. To trebate prihvatiti, razumjeti i ukorijeniti.
Morate savladati razne alate za automatizaciju i kontinuiranu integraciju kako bi vaši napori u automatizaciji dodali vrijednost lancu i bili dovoljno vitki da se brzo prilagode promjenama. Možda radite na projektima koji mogu uključivati alfa , beta i UAT okruženja prije raspoređivanja u proizvodno okruženje.
Koncept u osnovi ostaje isti. Automatizacija i više automatizacije jezgra su uspješnog DevOps ciklusa. Ali, kao QA trebali biste također moći podvući crtu koliko je automatizacija previše automatizacije.
O autoru: Aniket Deshpande radi kao QA Manager u AFour Technologies , Pune i radi na polju testiranja softvera posljednjih 9+ godina na raznim domenama i platformama. Strastveni je prema DevOpsu i radi kao savjetnik kako bi vodio organizacije u usvajanju DevOpsovih strategija testiranja.
Ako vas zanima više ili želite implementirati DevOps i pridruženi testni pristup u svojoj organizaciji, slobodno kontakt Autor.
Što mislite o DevOps testiranju? Mislite li da pridonošenje programerima i radnicima da rade zajedno mogu koristiti projektu?
Javite nam svoje komentare / prijedloge u vezi s ovim člankom.
Preporučena literatura
- Kontinuirano testiranje u DevOpsu
- Vodič za DevOps: Vrhunski vodič za DevOps (25 i više vodiča)
- Demistificiranje DevOpsa: Video vodič (1. dio)
- 10 najboljih alata za kontinuirano testiranje za DevOps testiranje (popis 2021)
- Najbolji alati za testiranje softvera 2021. (Alati za automatizaciju ispitivanja kvalitete)
- Što je testiranje softvera? 100+ besplatnih vodiča za ručno testiranje
- Funkcionalno ispitivanje vs nefunkcionalno testiranje
- Alfa testiranje i beta testiranje (cjelovit vodič)