Konventionell testning vs objektorienterad testning
Programvarutestning är ett av de viktigaste stegen i mjukvaruutvecklingsprocessen. Programvarutestning säkerställer att den utvecklade mjukvaran uppfyller alla kundkrav och körs utan fel. I takt med att programvaruutvecklingens paradigm och tekniker har skiftat från den initiala mjukvaruutvecklingen för vattenfall till OOD/Agile och andra nyare koncept, har testning också skiftat från konventionell (traditionell) testning mot objektorienterad testning (OOT). Men eftersom vattenfallsutveckling fortfarande används, används konventionella tester fortfarande av testarna.
Vad är konventionell testning?
Konventionell testprocess sker mestadels när vattenfalls livscykel används för att utveckla mjukvara i organisationer. Konventionell testning sker alltid under testfasen av livscykeln, som vanligtvis följer utvecklingsfasen och fortsätter med implementeringsfasen. Under denna testfas kommer huvudsakligen tre typer av tester att genomföras. Systemtester kommer att säkerställa att systemfunktionerna uppfyller kundkraven som dokumenteras i SRS (Software Requirements Specification), vanligtvis med en svart låda. Integrationstestning testar den preliminära designen genom att ta ett funktionellt och nedbrytande tillvägagångssätt. Integrationstestning baseras på designens struktur genom att använda antingen ett uppifrån och ner eller ett nedifrån och upp-upplägg. Slutligen kontrollerar enhetstester att den detaljerade designen är korrekt.
Vad är objektorienterad testning?
Användning av objektorienterad (OO) analys och design tillsammans med Agile och andra nya metoder för mjukvaruutveckling leder till objektorienterad testning. OO-utveckling är vanligtvis fokuserad på beteendet. Testning görs med tonvikten på sammansättning. Det betyder att design skapas bit för bit och komponeras tillsammans för att fullborda hela systemet. Eftersom rapid prototyping och någon form av inkrementell metod används för OO-utveckling idag, är de tre konventionella testnivåerna (system, integration och enhetstestning) inte tydligt synliga i OO-design (men de existerar oftast). Systemtestning (under OO-testning) kommer att ta mycket av samma (svarta låda) tillvägagångssätt som konventionella tester och kommer att kontrollera kravspecifikationen (eftersom kraven måste verifieras oavsett utvecklingsprocessen). Enhetstestning under objektorienterad testning liknar konventionell enhetstestning, men den grundläggande skillnaden är definitionen av den enhet som används. För närvarande accepterade enheter som används för enhetstestning är klasser och metoder.
Vad är skillnaden mellan konventionell testning och objektorienterad testning?
Konventionell testning är den traditionella metoden för testning som oftast görs när vattenfalls livscykel används för utveckling, medan objektorienterad testning används när objektorienterad analys och design används för att utveckla företagsprogramvara. Konventionell testning fokuserar mer på nedbrytning och funktionella metoder i motsats till objektorienterad testning, som använder komposition. De tre testnivåerna (system, integration, enhet) som används i konventionella tester är inte klart definierade när det kommer till objektorienterad testning. Den främsta anledningen till detta är att OO-utveckling använder inkrementell metod, medan traditionell utveckling följer en sekventiell metod. När det gäller enhetstestning tittar objektorienterad testning på mycket mindre enheter jämfört med konventionella tester.