continuous testing devops
Hva er kontinuerlig testing og kontinuerlig testing av rørledninger i DevOps?
Håper dere alle likte den siste opplæringen på Kontinuerlig distribusjon i DevOps .
Vi vet viktigheten av å teste i hvilken som helst programvarelevering og at DevOps er en kort leveringssyklus. Det er umulig å kjøre alle de testede testtilfellene hver gang manuelt, når en enkelt linje med kode oppdateres i versjonskontrollverktøyet, og det er der kontinuerlig testing og automatisert kontinuerlig testing pipeline kommer inn i bildet i DevOps.
Foreslått lesing => DevOps Training Tutorial fra Scratch
Fordeler med CT:
-
- Kvalitet og hastighet er de store fordelene med CT.
- Raskere og raskere tilbakemelding på koden.
- Øker tilliten til teamet og oppfordrer dem til å forbedre seg kontinuerlig.
VIDEO Del 3 Blokk 4: Kontinuerlig testing- 14 minutter og 39 sekunder
Transkripsjon:
I denne blokken vil vi lære om Kontinuerlig testing og kontinuerlig testing i detalj.
Kontinuerlig testing er en annen viktig prosess med kontinuerlig leveringsrørledning sammen med kontinuerlig integrasjon, i en rørledning inkluderer den, ulike testfaser hvor de automatiserte testene kjøres sammen med de automatiserte kvalitetsportene i mellom.
Dermed er kontinuerlig testing utføring av automatiserte tester kontinuerlig og gjentatte ganger mot kodebasen og de forskjellige distribusjonsmiljøene.
Hovedsakelig er enhetstester, statisk kodeanalyse, sikkerhetskodeanalyse, integrasjonstester, belastning og ytelsestester en del av kontinuerlig testing som kjøres i en automatisert rørledning for kontinuerlig testing.
Ettersom kontinuerlig integrering og kontinuerlig distribusjon kalles CI, CD, kalles kontinuerlig testing oftere som CT.
Hvis du ser dette diagrammet, som er en kontinuerlig leveringsrørledning, inkluderer denne rørledningen to rørledninger, den ene er en byggeledning som er CI-rørledning eller kontinuerlig integrasjonsrørledning, som består av automatisert byggeutløser, kompilering, bygging og distribusjon.
java pass array til metode etter verdi
Den andre er en testrørledning, som er en kontinuerlig testrørledning
La oss nå se mer om kontinuerlig testing.
Vi vet viktigheten av å teste, teste hver linje kode ... .. teste hver gang ... og teste på forskjellige stadier, og det er nesten umulig å kjøre alle de designede testene hver gang manuelt når en kodelinje oppdateres til versjonskontroll.
Det er der kontinuerlig testing kommer inn i bildet.
Så med mindre koden som kommer inn i den automatiserte kontinuerlige integrerte rørledningen, blir testet grundig og sikrer den nødvendige kvaliteten, nytter det ikke å frigjøre programvaren til kundene. Jeg mener kvalitet kan ikke sikres med mindre koden er grundig testet.
Så kontinuerlig testing, som definert tidligere, er å utføre forskjellige typer tester, kontinuerlig på kodebasen og i forskjellige miljøer som den blir distribuert til, som forhåndsdefinert og designet i den kontinuerlige leveringsrørledningen.
Som du ser på bildet, skjer enhetstester på selve CI-serveren, som tester hver enhet i systemet isolert.
Integrasjonstester skjer på integrasjonsmiljø som i utgangspunktet verifiserer komponentene integrert sammen. Systemtester i systemtestingsmiljøet der BIG-systemet med alle de integrerte komponentene og grensesnittene testes gjennom systemnivå-scenarier i et systemtestingsmiljø og så videre.
Og testdybden utvikler seg ofte når simuleringen av miljøet kommer nærmere produksjonen.
Kontinuerlig testing blir gradvis tøffere og lenger med utviklingen mot produksjonsmiljøet, ettersom vi sakte trenger å legge til en rekke tester og mer kompliserte tester når koden modnes og miljøkompleksiteten utvikler seg.
Det er ikke det at de samme testtilfellene vil kjøres gjennom, testtilfellene må oppdateres hver gang i forskjellige faser, og automatiserte skript oppdateres, ettersom koden blir mer modnet, utvikler seg til et høyere nivå av miljø der konfigurasjoner og infrastruktur også frem til den kommer i produksjon.
Så selv tiden det tar å kjøre testene øker etter hvert som testene skrider frem mot utgivelsespunktet, for eksempel enhetstesting kan ta veldig kortere tid å kjøre mens noen integrasjonstester eller noen systemtester eller belastningstester kan ta noen lange timer å kjøre eller kan ta noen dager å løpe.
Her vil kontinuerlig testing hovedsakelig kjøre automatiserte testtilfeller automatisk med en utløser. Men som vi definerte tidligere, innebærer kontinuerlig levering også visse manuelle tester og porter, der visse tester utføres manuelt før de skyves i produksjon.
Disse mellomliggende kvalitetsportene i hvert trinn av testingen og øker tilliten til koden.
Så den kontinuerlige testrørledningen som sådan inkluderer enhetstesting sammen med foreløpige automatiserte sikkerhetsverifiseringer. Kommer deretter inn på et integreringsnivå for testing, der automatiserte integrasjonstester kjøres, deretter videre til et systemnivå der scenarier på systemnivå automatiseres og kjøres.
Her utføres også visse ytelsestest-scenarier.
testing av brukeraksept (uat)
Gå deretter til 'Acceptance testing' som i utgangspunktet inkluderer automatiserte nettstedssaksepttesttilfeller og deretter til 'User Acceptance Testing' som kan være en manuell utførelse og inkluderer sluttbrukerdeltakelse for å utføre testene, og dette vil være en slags endelig avlogging på produktet eller en funksjon, der manuell gate påkalles og til slutt distribueres videre til produksjonsstedet.
Så i utgangspunktet, etter hvert som kontinuerlig testing skrider frem, øker kompleksiteten i testene og testmiljøet og kommer til miljøet som er nærmere produksjonen som simulering.
Jeg trenger ikke spesifikt å måtte nevne at alle disse teststadiene inkluderer bygningsverifiseringstester, fornuftstester, røykprøver og regresjonstester også, igjen som sagt, det kommer an på hva vi designer i den kontinuerlige test- og leveringspipeline.
Dette er den typiske rørledningen for kontinuerlig testing, og den kan designes av teamet basert på produkttypen og de forskjellige testnivåene og testtypene som produktet krever.
Kontinuerlig testing krever integrering av automatiseringsrammeverk med versjonskontroll- og CI-verktøyet og de forskjellige automatiserte verktøyene for å utføre funksjonell og ikke-funksjonell testing på tvers av forskjellige testfaser, som:
- Ekkolodd for analyse av statisk kode,
- Fortify for sikker kodeanalyse,
- Selen for funksjonstesting,
- Lasteskinne for lastetesting etc.,
Microsoft TFS, Jenkins, kokk, marionett er få verktøy som er tilgjengelige i markedet for å designe CI-CD-rørledningen.
Men tingen er at disse verktøyene kanskje ikke støtter den komplette automatiseringen fra slutten til slutt, avhengig av hvilken versjonskontrollverktøy som brukes, så få organisasjoner foretrekker kanskje å utvikle sine egne automatiseringsrammer, som muliggjør automatisering av levering til pipeline fra kode til slutt. forplikte seg til kode levering.
Så kontinuerlig testing er en veldig viktig del av testingen, og sikrer kvaliteten på produktet eller utgivelsen, og man bør være veldig forsiktig med valg av verktøy, rammeverk osv., Som først og fremst bestemmer kvaliteten og leveringshastigheten.
Så det å sette opp riktig kontinuerlig testrørledning tar litt mer tid i kontinuerlig leveringsrørledning. Ikke bare på verktøy- og rammedelen, men også på prøvesakene. Kontinuerlig testing inkluderer også å definere distribusjonsrørledningen innen.
hva er den beste gratis datamaskinrenseren
Fordi CT krever automatisk distribusjon av bygningen på forskjellige miljøer i forskjellige faser, noe som krever automatisering av distribusjonen og konfigurering av miljøene via automatiserte skript.
Disse automatiserte skriptene som inkluderer konfigurering av infrastruktur og miljøkonfigurasjoner som en kode, sjekkes inn i versjonskontrollverktøyet, og leveringsrørledningen henter den fra versjonskontrollverktøyet for å utføre distribusjonen. Dette kalles distribusjonsrørledningen.
La oss nå komme til fordelene med CT,
Å oppnå kvalitet og hastighet er den største fordelen med kontinuerlig testing.
I motsetning til tidligere hvor testing pleide å skje bare til slutt, er test gjennomgående konseptet med kontinuerlig testing, og dermed kontinuerlig testing i en leveringsrørledning, gjør at teamet kan introdusere kvalitetsporter hvor som helst og et hvilket som helst antall kvalitetsporter, de vil ha, i orden for å oppnå den grad av kvalitet de trenger.
Så hvis ikke koden i det hele tatt mislykkes for testing på et bestemt punkt eller gate i en rørledning, kan teamet gå tilbake og automatisk mislykkes hele distribusjonen til det punktet.
Dette gir en klar indikasjon til både Dev- og Ops-teamet om at noe mangler der, og teamet kan jobbe med å fikse det. Så dette er fordelen og fleksibiliteten til kontinuerlig testrørledning.
Så innføringen av kvalitetsporter i forskjellige testfaser styrer kvaliteten på koden bedre i rørledningen.
Mer antall porter som koden passerer, mer vil teamets tillit til koden at det kan gjøre det til produksjonen på et høyere kvalitetsnivå.
Så kontinuerlig testing øker teamets tillit og oppfordrer dem til å forbedre seg kontinuerlig.
Samlet sett, hvis teamet ikke virkelig forsømmer noen av testfeilene i noen testfaser eller kvalitetsporter i rørledningen, vil definitivt kontinuerlig testing være en bonus for å oppnå mål av høy kvalitet.
Så for å konkludere med kontinuerlig testing, helt fra enhetstestene som kjøres i den innledende fasen gjennom akseptattesten, ytelsestesting og til og med visse manuelle tester som skal kjøres, er VELDIG VELDIG kritiske for å definere kontinuerlig testing i DevOps-rørledningen.
Dette fullfører vår diskusjon om Part3-emner med kontinuerlig integrasjon, kontinuerlig levering og kontinuerlig testing.
I vår kommende opplæring vil vi diskutere mer om Konfigurasjonsadministrasjon, frigjøringsadministrasjon og applikasjonsytelsesovervåking.
PREV Opplæring | NESTE veiledning
Anbefalt lesing
- Kontinuerlig distribusjon i DevOps
- Kontinuerlig levering i DevOps
- Topp 10 kontinuerlige testverktøy for DevOps-testing (2021 List)
- Beste verktøy for testing av programvare 2021 (QA Test Automation Tools)
- DevOps Testing Tutorial: Hvordan DevOps vil påvirke QA-testing?
- Sammendrag av DevOps Video Tutorials
- Kontinuerlig integrasjon i DevOps
- Testing Primer eBook Download