Vad är testmetod för programvara?
Testmetod för programvara definieras som strategier och testtyper som används för att intyga att applikationen under test uppfyller kundernas förväntningar. Testmetoder inkluderar funktionella och icke-funktionella test för att validera AUT. Exempel på testmetoder är Unit Testing, Integration Testing, System Testing, Performance Testing etc. Varje testmetodik har ett definierat testmål, teststrategi och resultat.
Obs : Eftersom programvarutestning är en integrerad del av alla utvecklingsmetoder använder många företag termen utvecklingsmetoder och testmetoder i allmänhet. Därför kan testmetoder också hänvisa till vattenfall, smidig och andra QA-modeller i motsats till ovanstående definition av testmetoder. Diskussioner om olika testtyper tillför inte läsarna värde. Därför kommer vi att diskutera de olika utvecklingsmodellerna.
I den här handledningen lär du dig-
- Vattenfall modell
- Iterativ utveckling
- Agil metodik
- Extrem programmering
- Vilken programvarumetod ska du välja
- Hur ställer jag in testmetoder för programvara?
Vattenfallsmodell
Vad är det?
I vattenfallsmodellen utvecklas mjukvaruutveckling genom olika faser som kravanalys, design etc - sekventiellt .
I den här modellen börjar nästa fas först när den tidigare fasen är klar.
Vad är testmetoden?
Den första fasen i vattenfallsmodellen är kravfasen där alla projektkrav definieras fullständigt innan testningen påbörjas. Under denna fas brainstormar testteamet omfattningen av testning, teststrategi och utarbetar en detaljerad testplan.
Först när designen av programvaran är klar kommer teamet att gå vidare till utförandet av testfallet för att säkerställa att den utvecklade programvaran beter sig som förväntat.
I denna metod fortsätter testteamet till nästa fas först när föregående fas är klar.
Fördelar
Denna programvaruteknikmodell är mycket enkel att planera och hantera. Därför kan projekt, där kraven definieras tydligt och anges i förväg, enkelt testas med hjälp av en vattenfallsmodell.
Nackdelar
I vattenfallsmodellen kan du bara börja med nästa fas när den föregående fasen är klar. Därför kan denna modell inte rymma oplanerade händelser och osäkerhet.
Denna metod är inte lämplig för projekt där kraven ofta ändras.
Iterativ utveckling
Vad är det?
I den här modellen är ett stort projekt uppdelat i små delar, och varje del utsätts för flera iterationer av vattenfallsmodellen. I slutet av en iteration utvecklas en ny modul eller en befintlig modul förbättras. Denna modul är integrerad i programvaruarkitekturen och hela systemet testas tillsammans
Vad är testmetoden?
Så snart iterationen är klar testas hela systemet. Feedback från testning är omedelbart tillgänglig och införlivas i nästa cykel. Testtiden som krävs i successiv iteration kan minskas baserat på erfarenheterna från tidigare iterationer.
Fördelar
Den största fördelen med iterativ utveckling är att teståterkopplingen är omedelbart tillgänglig i slutet av varje cykel.
Nackdelar
Denna modell ökar kommunikationsomkostnaderna avsevärt, eftersom i slutet av varje cykel måste feedback om leveranser, ansträngning etc ges.
Agil metodik
Vad är det?
Traditionella programvaruutvecklingsmetoder arbetar utifrån att programvarukraven är konstanta under hela projektet. Men med en ökad komplexitet genomgår kraven många förändringar och utvecklas kontinuerligt. Ibland är kunden inte säker på vad han vill ha. Även om den iterativa modellen behandlar denna fråga, baseras den fortfarande på vattenfallsmodellen.
I Agile-metodiken utvecklas programvara i stegvisa, snabba cykler. Interaktioner mellan kunder, utvecklare och klienter betonas snarare än processer och verktyg. Den smidiga metoden fokuserar på att svara på förändringar snarare än omfattande planering.
Vad är testmetoden?
Inkrementell testning används i smidiga utvecklingsmetoder och därför testas varje release av projektet noggrant. Detta säkerställer att eventuella fel i systemet fixas före nästa release.
Fördelar
Det är möjligt att göra ändringar i projektet när som helst för att uppfylla kraven.
Denna inkrementella test minimerar riskerna.
Nackdelar
Konstant klientinteraktion innebär ökad tidspress på alla intressenter inklusive klienten själva, programvaruutveckling och testteam.
Extrem programmering
Vad är det?
Extrem programmering är en typ av smidig metodik som tror på korta utvecklingscykler. Ett projekt är uppdelat i enkla tekniska uppgifter. Programmerare kodar en enkel mjukvara och återvänder till kunden för feedback. Granskningspunkter från kunden införlivas och utvecklarna fortsätter med nästa uppgift.
I extrema programmeringsutvecklare arbetar du vanligtvis parvis.
Extrem programmering används på platser där kundernas krav ständigt förändras.
Vad är testmetoden?
Extrem programmering följer en testdriven utveckling som beskrivs på följande sätt -
- Lägg till ett testfall i testpaketet för att verifiera den nya funktionaliteten som ännu inte har utvecklats
- Kör alla tester och uppenbarligen måste det nya testfallet som läggs till misslyckas eftersom funktionaliteten inte är kodad än
- Skriv lite kod för att implementera funktionen / funktionaliteten
- Kör testpaketet igen. Den här gången bör det nya testfallet passera eftersom funktionellt har kodats
Fördelar
Kunder som har en vag programvarudesign i åtanke kan använda extrem programmering
Kontinuerlig testning och kontinuerlig integration av små versioner säkerställer att mjukvarukod levereras är av hög kvalitet
Nackdelar
Möten mellan programvaruutvecklingsteamet och kunderna ökar tidskraven.
Vilken programvarumetod ska du välja
Det finns massor av metoder tillgängliga för programutveckling och dess motsvarande test. Varje testteknik och metodik är utformad för ett specifikt syfte och har sina relativa fördelar och nackdelar.
Valet av en viss metod beror på många faktorer såsom projektets karaktär, kundkrav, projektschema etc.
Ur ett testperspektiv driver vissa metoder för testingångar tidigt i utvecklingslivscykeln, medan andra väntar tills en arbetsmodell för systemet är klar.
Hur ställer jag in testmetoder för programvara?
Programvarutestningsmetoder bör inte ställas in bara för att testa programvarukod. Helhetsbilden bör övervägas och huvudmålet för projektet bör vara nöjd med testmetoden.
Schemaläggning
Realistisk schemaläggning är nyckeln till implementeringen av framgångsrik testmetodik och schemat bör uppfylla behoven hos varje medlem i teamet.
Definierade leveranser
För att hålla alla medlemmar i teamet på samma sida bör väldefinierade leveranser tillhandahållas. Leveranserna bör innehålla direkt innehåll utan tvetydighet.
Testmetod
När schemaläggningen är klar och definierade leveranser görs tillgängliga bör testteamet kunna formulera rätt testmetod. Definitionsdokument och utvecklarmöten bör ange teamet om det bästa testmetoden som kan användas för projektet.
Rapportering
Transparent rapportering är mycket svår att uppnå, men detta steg avgör effektiviteten i testmetoden som används i projektet.