devops testing tutorial
DevOps Testing Tutorial: En nylig RightScale-undersøkelse har funnet at 54% av selskapene har adoptert DevOps, og interessen rundt DevOps øker raskt.
I denne artikkelen vil vi lære hvordan denne nye programvareutviklingsmetoden vil påvirke QA og hvordan QA-funksjonen som helhet skal utvikle seg for å omfavne denne endringen.
Sjekk ut => Komplett DevOps opplæringsserie
I denne artikkelen vil vi lære mer om DevOps og hvordan det vil påvirke QA og dets funksjoner.
Hva du vil lære:
Hva er DevOps?
DevOps - er en kombinasjon av Development &Påerasjoner - det er en programvareutviklingsmetodikk som ser ut til å integrere alle funksjonene for programvareutvikling fra utvikling til operasjoner innen samme syklus.
Dette krever et høyere nivå av koordinering innen de forskjellige interessentene i programvareutviklingsprosessen (nemlig Utvikling, kvalitetssikring og drift )
DevOps-syklus
En ideell DevOps-syklus vil starte fra:
- Dev skriver kode
- Bygge og distribuere binære filer i et QA-miljø
- Gjennomføring av prøvesaker og til slutt
- Implementere på produksjon i en jevn integrert flyt.
Åpenbart legger denne tilnærmingen stor vekt på automatisering av bygg, distribusjon og testing. Bruk av verktøy for kontinuerlig integrering (CI), verktøy for automatiseringstesting blir en norm i et DevOps syklus.
Hvorfor DevOps?
Selv om det er subtile forskjeller mellom Agile og DevOps Testing , de som jobber med Agile vil finne DevOps litt mer kjent å jobbe med (og til slutt adoptere). Mens smidige prinsipper brukes med suksess i utvikling og QA-iterasjoner, er det en annen historie helt (og ofte et stridspunkt) på operasjonssiden. DevOps foreslår å rette opp dette gapet.
Nå, i stedet for kontinuerlig integrasjon, DevOps innebærer 'kontinuerlig utvikling' , hvor koden ble skrevet og forpliktet til Versjonskontroll, vil bli bygget, distribuert, testet og installert på produksjonsmiljøet som er klart til å bli fortært av sluttbrukeren.
Denne prosessen hjelper alle i hele kjeden siden miljøer og prosesser er standardiserte. Hver handling i kjeden er automatisert. Det gir også alle interessenter frihet til å konsentrere seg om å designe og kode en høykvalitetsleveranse i stedet for å bekymre seg for de forskjellige bygg-, drifts- og kvalitetsprosessene.
Det reduserer levetiden drastisk til omtrent 3-4 timer, fra tidspunktet koden er skrevet og forpliktet, til distribusjon på produksjon for sluttbrukerforbruk.
I et nøtteskall er DevOps en utvidelse av Agile, eller jeg kaller det 'Agile on Steroids'.
Endret rolle for QA i DevOps
Tradisjonelt vil QA få et bygg som er distribuert i deres angitte miljø, og QA vil deretter starte deres Funksjonell & Regresjonstesting . Bygningen vil ideelt sett sitte sammen med QA i et par dager før QA logger av bygningen. Alle disse trinnene endres i DevOps.
eksempler på unix shell-skript for nybegynnere
Kvalitetsendringer for DevOps Testing:
- QA kreves for å justere innsatsen i DevOps-syklusen.
- De må sørge for at alle testsakene deres er automatiserte og oppnår nær 100% kodedekning.
- De må sørge for at miljøene deres er standardiserte og distribusjonen på deres QA-bokser er automatisert.
- Alle deres forhåndstestingsoppgaver, oppryddinger, posttestoppgaver osv. Er automatisert og tilpasset kontinuerlig integrasjonssyklus.
Som allerede nevnt krever DevOps et høyt nivå av koordinering mellom ulike funksjoner i den leverbare kjeden. Dette betyr også at grensene mellom ulike roller for bidragsytere i kjeden blir porøse.
DevOps oppfordrer alle til å bidra i kjeden . Så blant annet kan en dev konfigurere distribusjoner. Implementeringsingeniører kan legge til testtilfeller til QA-depotet. QA Engineers kan konfigurere automatiseringstesttilfeller i DevOps-kjeden.
Samlet sett er alle i kjeden ansvarlige for kvaliteten og aktualiteten på leveransen.
DevOps og testautomatisering
For å oppnå slik hastighet og smidighet, er det viktig å automatisere alle testprosessene og konfigurere dem til å kjøre automatisk når distribusjonen er fullført i QA-miljøet. Spesialiserte verktøy for automatiseringstesting og kontinuerlige integrasjonsverktøy brukes for å oppnå denne integrasjonen.
Dette nødvendiggjør også bygging av et modent rammeverk for automatiseringstesting der man raskt kan skript nye testsaker.
DevOps Testing Strategy: Tips for DevOps suksess
- Testtilfellene som må utføres for en bestemt versjon, må identifiseres.
- Testutførelsen skal egentlig være mager.
- QA og Dev må sitte sammen og identifisere områdene som er berørt på grunn av en spesiell konstruksjon og utføre de relaterte testtilfellene pluss et sunnhetsprøvekort.
- Du må også konfigurere spesialiserte kodeanalyse- og dekningsverktøy for å sikre at du oppnår nær 100% kodedekning.
- Konseptet med å utføre alle tilfeller for regresjonstest for et testkort blir snart foreldet.
- Strategien rundt testing av nye funksjoner må formaliseres, og midlertidige bygg kan leveres til QA som i sin tur lager testskripter og kjører disse automatiseringstestene på midlertidige bygninger til koden blir stabil nok til å distribueres i produksjonsmiljøet. .
- Alle miljøene som kreves for testing må standardiseres og distribusjonene må automatiseres.
- Ved å bruke forskjellige automatiseringsteknikker, bør QA være i stand til å fyre av Automation Testing kjører på tvers av ulike plattformmiljøer (og nettlesere i tilfelle webapplikasjoner).
- Parallell utføring av tester hjelper til med å redusere levetid, noe som igjen er kjernen i en vellykket DevOps-implementering.
- Utgangskriterier må settes for hvert løp, slik at når resultatene av testene blir matet tilbake til kjeden, blir det tatt en go / no-go-beslutning til Produksjon.
- Blokkerte eller kritiske feil som er funnet, må rapporteres og fikses og sendes gjennom samme kjede av hendelser før koden distribueres i produksjonsmiljøet.
Søknadsovervåking
QA skal også kunne oppdage problemer tidlig og rapportere dem proaktivt. For å oppnå dette, må de sette opp overvåking av produksjonsmiljøet for å kunne avsløre feil før de forårsaker en feil.
Å sette opp spesialiserte tellere som responstider, minne og CPU-bruk osv. Kan gi mye innsikt i sluttbrukeropplevelsen.
For eksempel , hvis den gjennomsnittlige responstiden for pålogging gradvis øker i løpet av de forskjellige byggene, bør QA proaktivt rapportere dette problemet for å optimalisere påloggingskoden, ellers kan fremtidige bygninger forårsake sluttbrukerens frustrasjon på grunn av høy responstid.
QA kan også bruke en liten delmengde av eksisterende høyprioritets testtilfeller som skal utføres med jevne mellomrom på produksjon, for å aktivt overvåke miljøet. Feil som 'Denne feilen vises noen ganger' eller ' Kan ikke reprodusere ”Kan bli fanget gjennom denne strategien som til slutt gjør applikasjonen mer stabil og også får mer fornøyde sluttbrukere.
Igjen, disse skjermene må konfigureres til å kjøre automatisk med rik rapportering (som logger og skjermbilder av feil osv.).
Konklusjon
Waterfall ga vei for V-Model som igjen ble erstattet av Agile som det foretrukne valget for programvareutvikling.
DevOps er fremtiden. Det er en kontinuerlig forbedringssyklus som programvareutviklingsmodeller gjennomgår fra tid til annen. Du må omfavne, forstå og innprente det.
Du må mestre de forskjellige verktøyene for automatisering og kontinuerlig integrering, slik at automatiseringsarbeidet ditt gir verdiene til kjeden og er magert nok til å raskt tilpasse seg endringer. Du jobber kanskje med prosjekter som kan innebære alfa , beta og UAT miljøer før de blir distribuert i produksjonsmiljøet.
Konseptet forblir i det vesentlige det samme. Automatisering og mer automatisering er kjernen i en vellykket DevOps-syklus. Men som en kvalitetssikring bør du også kunne trekke en linje for hvor mye automatisering er for mye automatisering.
Om forfatteren: Aniket Deshpande jobber som QA Manager hos AFour Technologies , Pune og har jobbet innen programvaretesting de siste 9+ årene på forskjellige domener og plattformer. Han er lidenskapelig opptatt av DevOps og jobber som konsulent for å veilede organisasjoner i å vedta DevOps teststrategier.
Hvis du er interessert i å vite mer, eller hvis du ønsker å implementere DevOps og tilhørende testtilnærming i organisasjonen din, er du velkommen til å ta kontakt med forfatteren.
Hva synes du om DevOps Testing? Tror du det kan være til fordel for prosjektet ved å få utviklere og operasjonsfolk til å samarbeide?
lastbalanserende ruter to internettforbindelser
Gi oss beskjed om dine kommentarer / forslag til denne artikkelen.
PREV Opplæring | NESTE veiledning
Anbefalt lesing
- Kontinuerlig testing i DevOps
- DevOps Tutorial: The Ultimate Guide to DevOps (25+ Tutorials)
- Demystifying DevOps: Video Tutorial (Del 1)
- Topp 10 kontinuerlige testverktøy for DevOps-testing (2021 List)
- Beste verktøy for testing av programvare 2021 (QA Test Automation Tools)
- Hva er programvaretesting? 100+ gratis manuell testopplæring
- Funksjonstesting mot ikke-funksjonell testing
- Alpha Testing og Beta Testing (En komplett guide)