devops testing tutorial
Vadnica za preizkušanje DevOps: Nedavna raziskava RightScale je pokazala, da je 54% podjetij sprejelo DevOps in zanimanje za DevOps hitro narašča.
V tem članku bomo izvedeli, kako bo ta nova metodologija za razvoj programske opreme vplivala na zagotavljanje kakovosti in kako naj bi se funkcija zagotavljanja kakovosti kot celota razvijala, da bo zajela to spremembo.
Oglejte si => Popolna serija vadnic za DevOps
V tem članku bomo izvedeli več o DevOpsu in o tem, kako bo vplival na zagotavljanje kakovosti in njegove funkcije.
Kaj se boste naučili:
Kaj je DevOps?
DevOps - je kombinacija Development &Vklopljenoobdobja - gre za metodologijo za razvoj programske opreme, ki želi integrirati vse funkcije za razvoj programske opreme od razvoja do operacij v istem ciklusu.
To zahteva višjo raven usklajevanja med različnimi deležniki v procesu razvoja programske opreme (in sicer Razvoj, zagotavljanje kakovosti in poslovanje )
Cikel DevOps
Idealen cikel DevOps bi se začel od:
- Koda za pisanje programov
- Izdelava in uvajanje binarnih datotek v okolju za zagotavljanje kakovosti
- Izvajanje testnih primerov in končno
- Uvajanje v proizvodnjo v enem gladkem integriranem toku.
Očitno je, da ta pristop daje velik poudarek avtomatizaciji gradnje, uvajanja in testiranja. Uporaba orodij za neprekinjeno integracijo (CI), orodja za avtomatizacijsko preizkušanje postanejo norma v a DevOps cikel.
Zakaj DevOps?
Čeprav obstajajo subtilne razlike med Agile in DevOps Testiranje , bodo tisti, ki delajo z Agile, našli DevOps nekoliko bolj znan za delo (in sčasoma tudi za posvojitev). Čeprav se agilna načela uspešno uporabljajo pri ponovitvah razvoja in zagotavljanja kakovosti, je na operacijski strani povsem druga zgodba (in pogosto prepir). DevOps predlaga odpravo te vrzeli.
Zdaj namesto nenehne integracije DevOps vključuje 'Stalni razvoj' , kjer je bila koda napisana in predana nadzoru različic, bo zgrajena, nameščena, preizkušena in nameščena v produkcijskem okolju, ki je pripravljeno za končni uporabnik.
Ta postopek pomaga vsem v celotni verigi, saj so okolja in procesi standardizirani. Vsako dejanje v verigi je avtomatizirano. Prav tako daje vsem zainteresiranim stranem svobodo, da svoja prizadevanja osredotočijo na oblikovanje in kodiranje visokokakovostnega izdelka, namesto da bi skrbeli za različne postopke gradnje, obratovanja in zagotavljanja kakovosti.
brezplačna programska oprema za varnostno kopiranje računalnika na zunanji trdi disk
Čas za življenje drastično skrajša na približno 3-4 ure, od trenutka, ko je koda napisana in predana, do uvedbe v proizvodnji za končno porabo.
Na kratko, DevOps je podaljšek Agile ali pa mu rad rečem 'Agile on Steroids'.
Spremenjena vloga zagotavljanja kakovosti v programih DevOps
Tradicionalno je QA dobil gradnjo, ki je nameščena v njihovem določenem okolju, QA pa bi nato začela njihovo Delujoč & Regresijsko testiranje . Zgradba bi bila v idealnem primeru nekaj dni pred QA-jem pri odjavi v gradnji. Vsi ti koraki se spremenijo v DevOps.
Spremembe kakovosti za preskušanje DevOps:
- Vprašanja kakovosti so potrebna za uskladitev njihovih prizadevanj v ciklu DevOps.
- Poskrbeti morajo, da so vsi njihovi testni primeri avtomatizirani in doseči skoraj 100% pokritost kode.
- Poskrbeti morajo, da bodo njihova okolja standardizirana in da bo razporeditev na njihovih poljih za preverjanje kakovosti avtomatizirana.
- Vse njihove naloge pred testiranjem, čiščenja, naloge po testiranju itd. So avtomatizirane in usklajene s ciklom nenehne integracije.
Kot smo že omenili, DevOps zahteva visoko raven usklajevanja med različnimi funkcijami dobavljive verige. To tudi pomeni, da meje med različnimi vlogami sodelujočih v verigi postanejo porozne.
DevOps spodbuja vse, da prispevajo k verigi . Torej, razvijalec lahko med drugim konfigurira razmestitve. Inženirji razmestitve lahko shrambi QA dodajo testne primere. QA inženirji lahko svoje testne primere avtomatizacije konfigurirajo v verigo DevOps.
Vsi v verigi smo odgovorni za kakovost in pravočasnost končnih rezultatov.
DevOps in testna avtomatizacija
Da bi dosegli takšno hitrost in gibčnost, je pomembno avtomatizirati vse preskusne procese in jih konfigurirati za samodejni zagon, ko je uvajanje končano v okolju QA. Za dosego te integracije se uporabljajo posebna orodja za testiranje avtomatizacije in orodja za neprekinjeno integracijo.
To zahteva tudi izgradnjo zrelega okvira za avtomatizacijsko testiranje, s pomočjo katerega lahko hitro scenariramo nove testne primere.
Strategija testiranja DevOps: Nasveti za uspeh DevOps
- Treba je identificirati testne primere, ki jih je treba izvesti za določeno gradnjo.
- Izvajanje testa bi moralo biti v bistvu vitko.
- QA in Dev morata sedeti skupaj in identificirati prizadeta območja zaradi določene gradnje in izvedbe zadevnih testnih primerov in pozitivnega preizkusa.
- Konfigurirati morate tudi posebna orodja za analizo kode in pokritost, da zagotovite skoraj 100-odstotno pokritost kode.
- Koncept izvrševanja vse regresijski testni primeri za preizkusno izpit kmalu zastarajo.
- Strategijo preizkušanja novih funkcij je treba formalizirati, vmesne gradnje pa je mogoče dostaviti QA, ki bi nato ustvaril preizkusne skripte in te avtomatizacijske teste izvajal v vmesnih gradnjah, dokler koda ne postane dovolj stabilna za razmestitev v produkcijsko okolje. .
- Vsa okolja, potrebna za testiranje, morajo biti standardizirana in razmestitve morajo biti avtomatizirane.
- Z uporabo različnih tehnik avtomatizacije bi moralo biti QA sposobno sprožiti preizkuse avtomatizacije v različnih okoljih med različnimi platformami (in med brskalniki v primeru spletnih aplikacij).
- Vzporedno izvajanje testov pomaga zmanjšati čas življenja, kar pa je bistvo uspešne implementacije DevOps.
- Merila izstopa je treba določiti za vsako vožnjo, tako da se, ko se rezultati testov pošljejo nazaj v verigo, sprejme odločitev o proizvodnji, ki gre / ne gre.
- Najdene blokatorje ali kritične napake je treba prijaviti in popraviti ter jih prenesti skozi isto verigo dogodkov, preden se koda uvede v produkcijsko okolje.
Spremljanje aplikacij
Vprašanje kakovosti mora biti sposobno tudi zgodaj zaznati težave in jih proaktivno prijaviti. Da bi to dosegli, morajo vzpostaviti nadzor nad produkcijskim okoljem, da lahko razkrijejo napake, preden povzročijo napako.
Nastavitev specializiranih števcev, kot so odzivni časi, poraba pomnilnika in procesorja itd., Lahko zagotovi veliko vpogleda v izkušnjo končnega uporabnika.
Na primer , če se povprečni odzivni čas za prijavo postopoma povečuje v različnih gradnjah, mora QA proaktivno poročati o tej težavi za optimizacijo prijavne kode, sicer bodo prihodnje gradnje končnim uporabnikom povzročile težave zaradi visokih odzivnih časov.
QA lahko za aktivno spremljanje okolja uporabi tudi majhno podskupino obstoječih visoko prioritetnih testnih primerov, ki jih je treba redno izvajati v proizvodnji. Napake, kot so »Ta napaka se včasih pojavi« ali » Ni mogoče reproducirati ”, Ki jo lahko ujame ta strategija, ki na koncu omogoča, da je aplikacija stabilnejša in tudi bolj zadovoljni končni uporabniki.
Tudi te monitorje je treba konfigurirati za samodejni zagon z bogatim poročanjem (na primer dnevniki in posnetki zaslona napak itd.).
Zaključek
Slap se je umaknil V-modelu, ki ga je nato zamenjal Agile kot najprimernejšo izbiro za razvoj programske opreme.
DevOps je prihodnost. To je cikel nenehnih izboljšav, ki ga občasno prenašajo modeli za razvoj programske opreme. To morate sprejeti, razumeti in vcepiti.
nimam privzetega prehoda
Morate obvladati različna orodja za avtomatizacijo in neprekinjeno integracijo, tako da bodo vaša prizadevanja za avtomatizacijo dodala vrednost verigi in bodo dovolj vitka, da se bodo hitro prilagodila spremembam. Morda delate na projektih, ki lahko vključujejo alfa , beta in UAT okoljih pred namestitvijo v proizvodno okolje.
Koncept v bistvu ostaja enak. Avtomatizacija in več avtomatizacije je jedro uspešnega cikla DevOps. Kot QA pa bi morali biti sposobni tudi potegniti črto, koliko avtomatizacije je preveč avtomatizacije.
O avtorju: Aniket Deshpande dela kot vodja nadzora kakovosti pri AFour Technologies , Pune in zadnjih 9+ let deluje na področju testiranja programske opreme na različnih področjih in platformah. Navdušen je nad DevOpsom in deluje kot svetovalec, da vodi organizacije pri sprejemanju preskusnih strategij DevOps.
Če vas zanima več ali če želite v svojo organizacijo implementirati DevOps in s tem povezan testni pristop, stik Avtor.
Kaj menite o testiranju DevOps? Ali menite, da lahko spodbujanje razvijalcev in ljudi, ki sodelujejo v projektu, koristi projektu?
Sporočite nam svoje komentarje / predloge v zvezi s tem člankom.
PREV Vadnica | NASLEDNJA Vadnica
Priporočeno branje
- Neprekinjeno testiranje v DevOps
- Vadnica za DevOps: Končni vodnik po DevOps (25+ vadnic)
- Demistifikacija DevOps: Video vadnica (1. del)
- 10 najboljših orodij za neprekinjeno testiranje za testiranje DevOps (seznam 2021)
- Najboljša orodja za testiranje programske opreme 2021 (QA Test Automation Tools)
- Kaj je testiranje programske opreme? 100+ brezplačnih vaj za ročno testiranje
- Funkcionalno testiranje vs nefunkcionalno testiranje
- Alfa testiranje in beta testiranje (popoln vodnik)