devops testing tutorial
DevOps Testing Tutorial: En nyligen genomförd RightScale-undersökning har visat att 54% av företagen har antagit DevOps och intresset kring DevOps ökar snabbt.
I den här artikeln kommer vi att lära oss hur denna nya programvaruutvecklingsmetod kommer att påverka QA och hur QA-funktionen som helhet bör utvecklas för att omfamna denna förändring.
Kolla in => Komplett DevOps handledningsserie
I den här artikeln lär vi oss mer om DevOps och hur det kommer att påverka QA och dess funktioner.
Vad du kommer att lära dig:
bästa programvaran för virtuell maskin för Windows 10
Vad är DevOps?
DevOps - är en kombination av Development &Påerationer - Det är en metod för mjukvaruutveckling som ser ut att integrera alla mjukvaruutvecklingsfunktioner från utveckling till verksamhet inom samma cykel.
Detta kräver en högre nivå av samordning inom olika intressenter i programvaruutvecklingsprocessen (nämligen Utveckling, kvalitetssäkring och verksamhet )
DevOps-cykel
En idealisk DevOps-cykel skulle börja från:
- Dev skriver kod
- Bygga och distribuera binära filer i en QA-miljö
- Genomförande av testfall och slutligen
- Implementera på produktion i ett smidigt integrerat flöde.
Uppenbarligen lägger detta tillvägagångssätt stor vikt vid automatisering av Build, Deployment och Testing. Användning av kontinuerliga integrationsverktyg (CI), verktyg för automatiseringstestning blir en norm i en DevOps cykel.
Varför DevOps?
Även om det finns subtila skillnader mellan Agile och DevOps Testing , de som arbetar med Agile kommer att hitta DevOps lite mer bekant att arbeta med (och så småningom anta). Medan Agile-principer tillämpas framgångsrikt i utvecklings- och QA-iterationer, är det en helt annan historia helt och hållet (och ofta en stridighet) på operationssidan. DevOps föreslår att åtgärda detta gap.
Nu istället för kontinuerlig integration, DevOps innebär 'kontinuerlig utveckling' , där koden skrevs och förpliktades till versionskontroll, kommer att byggas, distribueras, testas och installeras i produktionsmiljön som är redo att konsumeras av slutanvändaren.
Denna process hjälper alla i hela kedjan eftersom miljöer och processer är standardiserade. Varje åtgärd i kedjan är automatiserad. Det ger också alla intressenter frihet att koncentrera sina ansträngningar på att designa och koda en högkvalitativ leverans snarare än att oroa sig för de olika byggnads-, drift- och QA-processerna.
Det tar ner tiden att leva drastiskt till cirka 3-4 timmar, från det att koden skrivs och åtagits, till distribution på produktion för slutanvändarkonsumtion.
I ett nötskal är DevOps en förlängning av Agile eller jag vill kalla det 'Agile on Steroids'.
Ändrad roll för QA i DevOps
Traditionellt skulle QA få en byggnad som distribueras i deras utsedda miljö och QA skulle sedan börja deras Funktionell & Regressionstestning . Byggnaden skulle helst sitta med QA i ett par dagar innan QA loggade av på byggnaden. Alla dessa steg ändras i DevOps.
QA-förändringar för DevOps-testning:
- QA krävs för att anpassa sina ansträngningar i DevOps-cykeln.
- De måste se till att alla testfall är automatiserade och uppnår nära 100% kodtäckning.
- De måste se till att deras miljöer är standardiserade och distributionen på deras QA-rutor är automatiserad.
- Alla deras förtestningsuppgifter, saneringar, eftertestningsuppgifter etc. är automatiserade och anpassade till den kontinuerliga integrationscykeln.
Som redan nämnts kräver DevOps en hög samordningsnivå mellan olika funktioner i leveranskedjan. Detta innebär också att gränserna mellan olika roller hos bidragsgivarna i kedjan blir porösa.
DevOps uppmuntrar alla att bidra till kedjan . Så, bland annat, kan en dev konfigurera distributioner. Driftsättningstekniker kan lägga till testfall till QA-förvaret. QA Engineers kan konfigurera sina fall för automatiseringstest i DevOps-kedjan.
Sammantaget ansvarar alla i kedjan för leveransernas kvalitet och aktualitet.
DevOps och testautomation
För att uppnå sådan hastighet och smidighet är det viktigt att automatisera alla testprocesser och konfigurera dem så att de körs automatiskt när distributionen är klar i QA-miljön. Specialiserade testverktyg för automatisering och kontinuerliga integrationsverktyg används för att uppnå denna integration.
Detta kräver också att man bygger ett moget ramverk för automatiseringstestning genom vilket man snabbt kan skanna nya testfall.
hur man öppnar bin-filer på Windows 10
DevOps Testing Strategy: Tips för DevOps-framgång
- Testfall som krävs för att utföras för en viss byggnad måste identifieras.
- Testkörningen bör i princip vara mager.
- QA och Dev måste sitta tillsammans och identifiera de drabbade områdena på grund av en viss byggnad och utföra de relaterade testfallen plus ett vederbörligt testpass.
- Du måste också konfigurera specialiserade kodanalys- och täckningsverktyg för att se till att du uppnår nära 100% kodtäckning.
- Konceptet att genomföra Allt fall för regressionstest för ett testpass blir snart föråldrade.
- Strategin kring testning av nya funktioner måste formaliseras och tillfälliga byggnader kan levereras till QA som i sin tur skulle skapa testskript och köra dessa automatiseringstester på tillfälliga byggnader tills koden blir tillräckligt stabil för att distribueras i produktionsmiljön. .
- Alla miljöer som krävs för testning måste standardiseras och distributionerna måste automatiseras.
- Med hjälp av olika automatiseringstekniker bör QA kunna avfyra Automation Testing-körningar över olika plattformsmiljöer (och webbläsare i flera fall om det finns webbapplikationer).
- Parallellt utförande av tester hjälper till att minska time-to-live, vilket i sin tur är kärnan i en framgångsrik DevOps-implementering.
- Utgångskriterier måste ställas in för varje körning så att när testresultaten matas tillbaka till kedjan tas ett go / no-go-beslut till produktion.
- Blockerare eller kritiska buggar som hittats måste rapporteras och fixas och skickas genom samma händelsekedja innan koden distribueras i produktionsmiljön.
Applikationsövervakning
QA bör också kunna upptäcka problem tidigt och rapportera dem proaktivt. För att uppnå detta måste de ställa in övervakning av produktionsmiljön för att kunna exponera buggar innan de orsakar ett fel.
Att ställa in specialräknare som svarstider, minne och CPU-användning etc. kan ge mycket insikt i slutanvändarens upplevelse.
Till exempel , om den genomsnittliga svarstiden för inloggning gradvis ökar över de olika byggnaderna, bör QA proaktivt rapportera detta problem för att optimera inloggningskoden, annars kan framtida byggnader orsaka slutanvändarens frustration på grund av höga svarstider.
QA kan också använda en liten delmängd av befintliga högprioriterade testfall som ska utföras regelbundet vid produktion för att aktivt övervaka miljön. Fel som 'Detta fel uppträder ibland' eller ' Kan inte förökas ”Kan fångas genom denna strategi som i slutändan gör applikationen mer stabil och också får mer nöjda slutanvändare.
Återigen måste dessa skärmar konfigureras för att köras automatiskt med omfattande rapportering (som loggar och skärmdumpar av misslyckanden, etc.).
Slutsats
Vattenfall gav vika för V-Model som i sin tur ersattes av Agile som det föredragna valet för mjukvaruutveckling.
DevOps är framtiden. Det är en kontinuerlig förbättringscykel som programvaruutvecklingsmodeller genomgår från tid till annan. Du måste omfamna, förstå och prägla det.
Du måste behärska de olika verktygen för automatisering och kontinuerlig integration så att dina automatiseringsinsatser lägger till värde i kedjan och är tillräckligt magra för att snabbt anpassa sig till förändringar. Du kanske arbetar med projekt som kan involvera alfa , beta och UAT miljöer innan de distribueras i produktionsmiljön.
Konceptet förblir i princip detsamma. Automation och mer automatisering är kärnan i en framgångsrik DevOps-cykel. Men som en QA bör du också kunna rita en linje om hur mycket automatisering är för mycket automatisering.
Om författaren: Aniket Deshpande arbetar som QA Manager på AFour Technologies , Pune och har arbetat inom programvarutestningsfältet de senaste 9+ åren inom olika domäner och plattformar. Han brinner för DevOps och arbetar som konsult för att vägleda organisationer i att anta DevOps teststrategier.
Om du är intresserad av att veta mer, eller om du vill implementera DevOps och tillhörande testmetod i din organisation, är du välkommen att Kontakt författaren.
Vad tycker du om DevOps Testing? Tror du att genom att få utvecklare och verksamhetsfolk att samarbeta kan gynna projektet?
lastbalanseringsrouter två internetanslutningar
Låt oss veta dina kommentarer / förslag om den här artikeln.
PREV-handledning | NÄSTA självstudie
Rekommenderad läsning
- Kontinuerlig testning i DevOps
- DevOps Tutorial: The Ultimate Guide to DevOps (25+ Tutorials)
- Demystifying DevOps: Video Tutorial (Del 1)
- Topp 10 kontinuerliga testverktyg för DevOps-testning (Lista 2021)
- Bästa verktyg för testning av programvara 2021 (QA Test Automation Tools)
- Vad är programvarutestning? 100+ gratis manuella testhandledning
- Funktionell testning mot icke-funktionell testning
- Alpha Testing och Beta Testing (En komplett guide)