continuous testing devops
Što je kontinuirano testiranje i kontinuirano ispitivanje cjevovoda u DevOpsu?
Nadam se da ste svi uživali u zadnjem vodiču Kontinuirano postavljanje u DevOps .
Znamo važnost testiranja u bilo kojoj isporuci softvera, a DevOps je kratki ciklus isporuke, nemoguće je pokrenuti sve dizajnirane test slučajeve svaki put ručno, kada se jedan redak koda ažurira u alatu za kontrolu verzija, a to je mjesto gdje kontinuirano ispitivanje i automatizirano kontinuirano testiranje cjevovoda dolaze u sliku u DevOpsu.
Predloženo čitanje => Vodič za obuku za DevOps iz ogrebotina
Prednosti CT-a:
-
- Kvaliteta i brzina ogromne su prednosti CT-a.
- Brže i brže povratne informacije o kodu.
- Jača samopouzdanje tima i potiče ih na kontinuirano usavršavanje.
VIDEO Dio 3, blok 4: Kontinuirano testiranje- 14 minuta 39 sekundi
Prijepis:
U ovom ćemo bloku naučiti o Kontinuirano ispitivanje i kontinuirano ispitivanje cjevovoda detaljno.
Kontinuirano testiranje je još jedan važan proces cjevovoda za kontinuiranu isporuku, uz kontinuiranu integraciju, u cjevovod, koji uključuje, razne faze ispitivanja pri čemu se automatizirana ispitivanja provode zajedno s automatiziranim vratima kvalitete između.
Dakle, kontinuirano testiranje je, izvršavanje automatiziranih testova, kontinuirano i opetovano u odnosu na bazu koda i razna okruženja za implementaciju.
Jedinstveni testovi, statička analiza koda, analiza sigurnosnog koda, integracijski testovi, testovi opterećenja i performansi dio su kontinuiranog testiranja koje se izvodi u automatiziranom cjevovodu kontinuiranog testiranja.
Kako se kontinuirana integracija i kontinuirano postavljanje nazivaju CI, CD, kontinuirano testiranje češće se naziva CT.
Ako vidite ovaj dijagram, koji je cjevovod za kontinuiranu isporuku, ovaj cjevovod uključuje dva cjevovoda, jedan je cjevovod za izgradnju koji je CI cjevovod ili cjevovod za kontinuiranu integraciju, koji se sastoji od automatiziranog okidača gradnje, sastavljanja, izgradnje i postavljanja.
Drugi je ispitni cjevovod, koji je kontinuirani ispitni cjevovod
Sada da vidimo više o kontinuiranom testiranju.
Znamo važnost testiranja, testiranja svakog retka koda ... .. testiranje svaki put ... i testiranje u različitim fazama i gotovo je nemoguće pokrenuti sve dizajnirane testove svaki put ručno kada se linija koda ažurira u kontrolu verzija.
Tu kontinuirano testiranje dolazi do izražaja.
Dakle, ako se kôd koji uđe u automatizirani kontinuirani integrirani cjevovod, temeljito testira i osigura potrebnu kvalitetu, nema koristi od puštanja softvera kupcima. Mislim da se kvaliteta ne može osigurati ako se kod temeljito ne testira.
Dakle, kontinuirano testiranje, kako je prethodno definirano, treba provoditi razne vrste testova, kontinuirano na bazi koda i u različitim okruženjima u koja se postavlja, kako je unaprijed definirano i dizajnirano u cjevovodu kontinuirane isporuke.
Kao što vidite na slici, jedinični testovi se događaju na samom CI poslužitelju koji izolira svaku jedinicu sustava.
Integracijski testovi događaju se u integracijskom okruženju koje u osnovi provjerava zajedno integrirane komponente. Ispitivanja sustava u okruženju za testiranje sustava gdje se BIG sustav sa svim integriranim komponentama i sučeljima ispituje kroz scenarije na razini sustava u okruženju za testiranje sustava i tako dalje.
besplatni softver za umjetnu inteligenciju za računalo
I dubina ispitivanja često napreduje kako se simulacija okoliša približava proizvodnji.
Kontinuirano testiranje postupno postaje sve teže i duže s napredovanjem prema proizvodnom okruženju, jer moramo polako dodavati brojne testove i složenije testove kako kod sazrijeva i kako složenost okoliša napreduje.
Nije da bi se istodobno radili isti test slučajevi, test slučajevi se trebaju ažurirati svaki put u različitim fazama i automatizirane skripte se ažuriraju, kako kod postaje sazrijeva, napreduje na višu razinu okruženja gdje konfiguracije i infrastruktura također unaprijed, dok ne uđe u proizvodnju.
Dakle, čak se i vrijeme potrebno za pokretanje testova povećava kako testiranje napreduje prema točki puštanja, kao što bi jedinstvenom testiranju moglo trebati vrlo malo vremena dok se za pokretanje nekih testova integracije ili nekih testova sustava ili testova učitavanja može potrajati nekoliko sati ili bi moglo potrajati nekoliko dana za trčanje.
Ovdje bi kontinuirano testiranje uglavnom pokretalo automatizirane test slučajeve automatski s okidačem. No, kao što smo ranije definirali, kontinuirana isporuka također uključuje određena ručna ispitivanja i kapije, pri čemu se određena ispitivanja provode ručno, prije puštanja u proizvodnju.
kako uhvatiti bugove tijekom automatizacije gradnje
Ova vrata srednje razine kvalitete u svakoj fazi ispitivanja povećavaju povjerenje u kod.
Dakle, cjevovod za kontinuirano testiranje kao takav uključuje jedinstveno testiranje zajedno s preliminarnim automatiziranim sigurnosnim provjerama. Zatim prelazi na razinu integracije testiranja, gdje se izvode automatizirani testovi integracije, a zatim na razinu sustava gdje se automatiziraju i izvode scenariji na razini sustava.
Ovdje se provode čak i određeni scenariji ispitivanja performansi.
Zatim se ide na 'Ispitivanje prihvaćanja' koje u osnovi uključuje automatizirane slučajeve ispitivanja prihvaćanja web mjesta, a na kraju na 'Ispitivanje prihvaćanja korisnika', što bi moglo biti ručno izvršenje i uključuje sudjelovanje krajnjeg korisnika u provođenju testova, a to će biti svojevrsna konačna odjava na proizvodu ili svojstvu, gdje se poziva ručni ulaz i konačno postavlja na mjesto proizvodnje.
Dakle, u osnovi, kako kontinuirano testiranje odmiče, složenost testova i test okruženja raste i dolazi do okoline koja je bliža proizvodnji poput simulacije.
Ne moram posebno napominjati da sve ove faze ispitivanja uključuju testove provjere gradnje, testove ispravnosti, dimne testove i regresijske testove, opet kao što sam rekao, to ovisi o tome što dizajniramo u kontinuiranom ispitivanju i isporuci.
Ovo je tipični cjevovod za kontinuirano ispitivanje, a tim ga može dizajnirati na temelju vrste proizvoda i različitih razina ispitivanja i vrsta ispitivanja koje proizvod zahtijeva.
Kontinuirano testiranje zahtijeva integriranje okvira za automatizaciju s alatom za kontrolu verzija i CI i različitim automatiziranim alatima za provođenje funkcionalnog i nefunkcionalnog testiranja u različitim fazama testiranja, poput:
- Sonar za statičku analizu koda,
- Utvrditi za sigurnu analizu koda,
- Selen za funkcionalna ispitivanja,
- Nosač tereta za ispitivanje opterećenja itd.,
Microsoft TFS, Jenkins, kuhar, lutka malo je alata dostupnih na tržištu za dizajn CI-CD cjevovoda.
No stvar je u tome što ovi alati možda neće podržati potpunu automatizaciju s kraja na kraj, ovisno o korištenom alatu za upravljanje verzijama, pa malo organizacija može radije razviti vlastite okvire za automatizaciju, što omogućava automatizaciju kraja i kraja isporuke iz koda obvezati na isporuku koda.
Dakle, kontinuirano testiranje kao presudan dio ispitivanja osigurava kvalitetu proizvoda ili izdanja, te treba biti vrlo oprezan pri odabiru alata, okvira itd., Što prvenstveno određuje kvalitetu i brzinu isporuke.
Stoga postavljanje pravog cjevovoda za kontinuirano ispitivanje uzima malo više vremena u cjevovodu za kontinuiranu isporuku. Ne samo na dijelu alata i okvira, već i na dijelu testnih slučajeva. Kontinuirano testiranje također uključuje definiranje cjevovoda za implementaciju unutar.
Budući da CT zahtijeva automatiziranu implementaciju nadogradnje na različita okruženja u različitim fazama, što zahtijeva automatizaciju implementacije i postavljanje okruženja putem automatiziranih skripti.
Ove automatizirane skripte koje uključuju postavljanje konfiguracija infrastrukture i okoline kao koda provjeravaju se u alatu za kontrolu verzija, a cjevovod za isporuku preuzima ga iz alata za kontrolu verzija kako bi izvršio implementaciju. To se naziva cjevovod za postavljanje.
Sada ćemo doći do blagodati CT-a,
Postizanje kvalitete i brzine najveća je prednost kontinuiranog testiranja.
Za razliku od ranije gdje se ispitivanje znalo dogoditi samo na kraju, testiranje je koncept kontinuiranog ispitivanja, a time i kontinuirano testiranje u dovodnom cjevovodu, omogućava timu da uvede kvalitetna vrata bilo gdje i bilo koji broj kvalitetnih vrata, kako bi željeli kako bi postigli stupanj kvalitete koji im je potreban.
Dakle, ako uopće, kôd ne uspije testirati na bilo kojoj određenoj točki ili ulazu u cjevovodu, tim se može vratiti i automatski zakazati cjelokupnu implementaciju do te točke.
To daje jasan pokazatelj i ekipi za razvoj i operativnom sustavu da tamo nešto nedostaje i tim može raditi na tome da to popravi. Dakle, to je prednost i fleksibilnost cjevovoda za kontinuirano ispitivanje.
Dakle, uvođenje ulaza kvalitete u raznim fazama ispitivanja bolje regulira kvalitetu koda.
Što više broja vrata prođe kôd, tim će više biti povjerenja tima u kôd da može doći do produkcije na višoj razini kvalitete.
Dakle, kontinuirano testiranje povećava samopouzdanje tima i potiče ih na kontinuirano poboljšanje.
Sveukupno, ako tim zaista ne zanemari nijedan testni neuspjeh u bilo kojoj fazi ispitivanja ili kvalitetnim ulazima u cjevovod, definitivno kontinuirano testiranje bit će bonus za postizanje visokokvalitetnih ciljeva.
Dakle, zaključak o kontinuiranom testiranju, odmah od jediničnih testova koji se izvode tijekom preliminarne faze, kroz ispitivanje prihvatljivosti, ispitivanje performansi, pa čak i određena ručna ispitivanja koja će se izvoditi, VRLO SU VRLO KRITIČNI za definiranje kontinuiranog testiranja u cjevovodu DevOps.
Ovim je završena naša rasprava o Part3 temama kontinuirane integracije, kontinuirane isporuke i kontinuiranog testiranja.
U našem nadolazećem tutorialu raspravit ćemo više o tome Upravljanje konfiguracijom, upravljanje izdanjima i praćenje izvedbe aplikacija.
Preporučena literatura
- Kontinuirano postavljanje u DevOps
- Kontinuirana isporuka u DevOpsu
- 10 najboljih alata za kontinuirano testiranje za DevOps testiranje [popis 2021]
- Najbolji alati za testiranje softvera 2021. [Alati za automatizaciju ispitivanja kvalitete]
- Vodič za testiranje DevOpsa: Kako će DevOps utjecati na QA testiranje?
- Ukratko o Video vodičima za DevOps
- Neprekidna integracija u DevOps
- Preuzimanje e-knjige za testiranje primera