Articles

Vad är programvaran testa livscykel? En komplett Guide

att presentera en perfekt produkt för kunden är slutmålet för varje organisation. Men visste du att det fanns en tid då testning inte ens var en del av Software development life cycle (SDLC)?

ingenting sätter upp kunder mer än buggfylld användarupplevelse. Så när företagen insåg detta började de inkludera testning som en obligatorisk del av SDLC. Sedan dess har testning blivit en integrerad del av varje organisation.

testkompetensen har utvecklats under de senaste decennierna. För närvarande handlar testning inte om att rapportera fel till utvecklaren. Det har ett brett omfång och är en obligatorisk fas att genomföra från de inledande faserna av ett projekt.

med agile blev en applikations testlivscykel mer processorienterad och mångsidig. Vanligtvis är hela företagets fokus på SDLC ensam. Och de överväger att testa en del av den processen. Men det är hög tid att företag inser att mjukvarutestning har en egen livscykel.

i det här inlägget kommer vi att ta en titt på rollen som software testing life style (STLC) och dess faser i detalj. Så låt oss dyka rätt in!

Vad är livscykeln för programvarutestning?

låt oss först förstå termen livscykel innan vi går in i alla detaljer. En livscykel är sekvensen av förändringar som en enhet går igenom från en form till en annan. Många konkreta och obskyra enheter går igenom en serie förändringar från början till slut.

När vi pratar om livscykeln för programvarutestning är programvaran en enhet. Livscykeln för programvarutestning är processen att utföra olika aktiviteter under testningen.

dessa aktiviteter inkluderar kontroll av den utvecklade programvaran för att se om den uppfyller specifika krav. Om det finns några fel i produkten arbetar testare med utvecklingsteamet. I vissa fall måste de kontakta intressenten för att få insikt i olika produktspecifikationer. Validering och verifiering av en produkt är också viktiga processer i STLC.

SDLC vs. STLC

den fullständiga resan för en produkt från början till slutprodukt tas om hand av SDLC. Bland de olika faserna av SDLC är testning en av de viktigaste. Programvarutestning är en del av SDLC. Och den här delen har sin egen livscykel-STLC.

Så hur skiljer sig SDLC från STLC?

SDLC

  • fokusera på att bygga en produkt
  • en överordnad process
  • förstå användarkrav och bygga en produkt som är till hjälp för användarna
  • SDLC faser är färdiga innan testning
  • slutmålet är att distribuera en högkvalitativ produkt som användarna kan använda

STLC

  • fokusera på att testa en produkt
  • ett barn av SDLC process
  • förstå utvecklingskrav och se till att produkten fungerar som förväntat
  • stlc faser börjar efter faser av SDLC är klar
  • slutmålet är att hitta fel i Produkt och rapport till utvecklingsteam för buggfix

dessa är de grundläggande skillnaderna mellan SDLC och STLC. Låt oss nu förstå STLC på djupet.

Vad är STLC: s roll?

Nu när vi har kärnan i vad livscykeln för programvarutestning är, låt oss ta en titt på varför det är viktigt. Även om ett företag har de bästa programmerarna och utvecklarna, är de skyldiga att göra misstag. Stlc: s huvudroll är att hitta dessa misstag och få dem fixade. Huvudmålet med att genomföra en STLC är att upprätthålla produktkvaliteten.

borta är de dagar då medioker testning var trenden. I dagens värld måste företag genomföra detaljerade tester.från planering och forskning till utförande och underhåll spelar varje fas en avgörande roll för att testa en produkt.

SDLC handlar om att säkerställa produktens kvalitet. Varje applikation har olika attribut som tillförlitlighet, funktionalitet och prestanda. Och STLC hjälper till att förbättra dessa egenskaper och underlättar leveransen av en idealisk slutprodukt.

en högkvalitativ produkt resulterar i lägre underhållskostnader på lång sikt. Stabiliteten hos en applikation eller programvara är ett måste för att locka nya användare. Bortsett från det hjälper konsekvent pålitliga produkter också att behålla befintlig kundkrets. För att en produkt ska förbli i affärsområdet är det viktigt att fokusera på varje fas i STLC.

faser av programvarutestning livscykel

validera varje modul av programvara eller applikation är ett måste för att säkerställa produktens precision och noggrannhet. Eftersom mjukvarutestning i sig är en utarbetad process utför testare det i faser. Komplexiteter kan dyka upp om testning saknar organisation. Komplexiteten kan inkludera olösta buggar, oupptäckta regressionsfel eller i värsta fall en modul som hoppade över testning eftersom tidsfristen kom närmare.

varje fas i STLC har ett specifikt mål och resultat. Det handlar om initiering, utförande och uppsägning av testprocessen.

Låt oss ta en titt på olika faser av livscykeln för programvarutestning i detalj.

kravanalys

dina värdefulla programvarutestare måste se, studera och analysera tillgängliga SPECIFIKATIONER och krav. Vissa krav ger resultat genom att mata dem med indata. Dessa krav är testbara krav. Testare studerar både funktionella och icke-funktionella krav. Därefter måste de välja ut testbara krav.

aktiviteter i denna fas inkluderar brainstorming för kravanalys och identifiering och prioritering av testkrav. De inkluderar också att välja ut krav för både automatiserad och manuell testning.

det finns några saker du har test även om det inte uttryckligen nämns. Ett klick på en aktiv knapp bör göra något, ett textfält för telefonnummer bör inte acceptera alfabet som skickats in. Dessa saker är universella och bör alltid testas. Men i kravanalysfasen handlar det om att veta mer specifika detaljer om produkten. Du måste lära dig hur produkten ska vara i sitt idealiska tillstånd.

för att sammanfatta det:

  • förstå den förväntade produktionen från produkten.
  • identifiera eventuella kryphål i specifikationerna.
  • samla prioriteringar.
  • utför automatiseringskontroller.

testplanering

det andra steget är testplanering, och QA-teamet skapar denna plan efter att ha analyserat alla nödvändiga testkrav. De beskriver omfattningen och målen efter att ha förstått produktdomänen. Teamet analyserar sedan riskerna och definierar tidsplaner och testmiljöer för att skapa en strategi.

därefter Slutför ledningen verktygen och tilldelar roller och ansvar till individer. En ungefärlig tidslinje definieras också genom vilken testningen av varje modul ska slutföras.

för att sammanfatta det:

  • Förbered testplandokumentation.
  • uppskatta tid och ansträngningar.
  • Slutför verktyg och plattform.
  • tilldela uppgifter till lag och individer.
  • identifiera utbildningskrav

testfall design och utveckling

efter utveckling och planering är det dags att låta de kreativa juicerna flöda! Baserat på testplanen utformar och utvecklar testare testfall. Testfall bör vara omfattande och bör omfatta nästan alla möjliga fall. Alla tillämpliga permutationer och kombinationer ska samlas in. Du kan prioritera dessa testfall genom att undersöka vilka av dem som är vanligast eller vilka av dem som skulle påverka produkten mest.

nästa kommer verifiering och validering av angivna krav i dokumentationssteget. Granskning, uppdatering och godkännande av automatiseringsskript och testfall är också viktiga processer i detta skede. Denna fas inkluderar också att definiera olika testförhållanden med indata och förväntade resultat.

för att sammanfatta det:

  • forskning och samla möjliga åtgärder på produkten.
  • skapa testfall.
  • prioritera testfall.
  • Förbered automatiserade skript för testfall.

testmiljö Setup

testaktiviteter behöver vissa miljöfaktorer—som servrar, ramar, hårdvara och programvara—för att utföra utvecklade testfall. Mjukvaru-och hårdvarukonfiguration, tillsammans med testdatainstallation, är huvudkomponenterna i denna fas. Och det är obligatoriskt att röka test och att utrusta dina testare med felrapporteringsverktyg.

i utvecklargemenskapen är det vanligt att höra ”det körde på mitt system, men det körs inte på ditt”. Därför är det viktigt att din testmiljö täcker alla miljöer som användaren skulle använda.

till exempel fungerar vissa funktioner som fungerar i Google Chrome inte i Internet Explorer. Funktionen av funktioner skiljer sig också beroende på programvaru-och hårdvarukrav. En funktion kan fungera smidigt på 4 GB RAM men kan skapa problem med 1 GB RAM. Forskning om miljöer som används av slutanvändare skulle hjälpa dig att prioritera dina testmiljöer.

det är QA-chefens uppgift att övervaka laget för att ta hand om att ställa in testmiljön.

för att sammanfatta det:

  • förstå minimikrav
  • lista ner programvara och hårdvara som krävs för olika prestandanivåer.
  • prioritera testmiljöer
  • Setup testmiljöer
  • röktest de byggda miljöerna

testkörning

en applikation är klar för testning när teamet är klart med alla tidigare faser. Enligt testplanen utför testarna testfall. De identifierar, upptäcker och loggar också defekterna och rapporterar därmed buggarna. Teamet ansvarar också för att jämföra förväntade resultat med det verkliga resultatet. Om några fel hittas, de måste dokumenteras för att vidarebefordra den till utvecklingsteamet för en fix.

När utvecklingsteamet tar bort en bugg börjar regressionstestning. Regressionstestning är att säkerställa att programvaran eller applikationen fungerar även efter att ha implementerat en förändring. När du testar efter en buggfix, testa hela produkten igen. Eftersom en fix för en bugg kan skapa en bugg på någon annan del av produkten. Och eftersom samma tester måste köras om och om igen efter varje fix och distribution rekommenderas det att använda skript eller automatiserade testverktyg.

för att sammanfatta det:

  • kör testfall.
  • identifiera avvikelse från förväntat beteende hos produkten.
  • Log misslyckade fall med detaljer
  • testa igen efter buggfixar.

Teststängning

och det leder oss till det sista steget i STLC: teststängning.

slutet på provkörningen och leveransen av slutprodukten markerar början av teststängningsfasen. QA-teamet kontrollerar testresultaten och diskuterar dem med andra teammedlemmar. Några andra faktorer som de anser är produktkvalitet, testtäckning och projektkostnad. Om det finns en avvikelse från uppskattade värden kan ytterligare analyser göras för att identifiera vad som inte gick som förväntat.

det är en viktig praxis för testare att komma samman och diskutera slutsatsen efter testning. Eventuella problem som står inför under testning, brister i strategier kan diskuteras här. Du kan också arbeta med att komma med ett bättre tillvägagångssätt för testning baserat på lärdomarna under testningen. Om du följer DevOps eller canary release practice är testning ofta. Du kan bestämma hur ofta du ska skicka rapporter och vilka detaljer du ska nämna när du skickar rapporter till olika intressenter.

bortsett från det överväger laget också testmått, uppfyllandet av mål och deras efterlevnad av tidsfrister. När de har ett totalt grepp om vad som hände kan de utvärdera hela teststrategin och processen.

för att sammanfatta det:

  • kontrollera att alla tester är klara.
  • utvärdera faktorer som kvalitet, testtäckning, tidslinje och kostnad.
  • dokumentera slutsatsen.
  • diskutera inlärningen och ta reda på om testprocessen kan förbättras.
  • Förbered teststängningsrapport.

vilka är in – och Utgångskriterierna för testning?

alla sex faser av en livscykel för programvarutestning har in-eller utgångskriterier associerade med dem. Testare måste slutföra utförandet av testfallen inom en bestämd tid. De måste också upprätthålla slutproduktens kvalitet, funktionalitet och effektivitet. Därför är det ett måste att definiera in-och utgångskriterier. Det är vad vi ska göra nu.

Inmatningskriterier

Inmatningskriterier ange vilka krav teamet måste ta hand om innan testproceduren påbörjas. Innan testningen börjar är det obligatoriskt att korsa alla krav.

det finns några pågående aktiviteter och villkor som måste vara närvarande innan testningen börjar. Först behöver du input från utvecklingsteamet. Du vill också undersöka testplanen, testfall och data, testmiljön och din kod.

Exit Criteria

Exit criteria ange de krav och åtgärder som ska slutföras innan testningen avslutas. Med andra ord innehåller de objekt som ska korsas av uppgiftslistan och processer som ska slutföras innan testningen stannar.

Exitkriterier inkluderar identifiering av högprioriterade fel. Du måste fixa dem direkt. Testare måste klara olika testfall och säkerställa full funktionell täckning.

slutsats

att bara identifiera fel i det sista steget i en SDLC är inte en effektiv praxis längre. Det finns olika andra dagliga aktiviteter som ett företag måste fokusera på. Att ägna för mycket av din dyrbara tid åt att testa och fixa buggar kan hämma effektiviteten. När allt kommer omkring tar du mer tid att generera mindre produktion.

för att underlätta testprocessen är det viktigt att använda tid och resurser effektivt. Efter en systematisk STLC resulterar inte bara i snabb buggfixning utan det förbättrar också produktkvaliteten. Genom att öka kundnöjdheten får du en ökad ROI och förbättrad varumärkesnärvaro.

det här inlägget skrevs av Arnab Roy Chowdhury. Arnab är en UI-utvecklare av yrke och en bloggentusiast. Han har stark kompetens inom de senaste UI/UX-trenderna, projektmetoder, testning och skript.

vad läser du nästa

vad är Skift vänster testning? En Guide för att förbättra din QA