Konventionel test vs objektorienteret test
Software Testing er et af de vigtigste trin i softwareudviklingsprocessen. Softwaretest sørger for, at den udviklede software opfylder alle kundens krav og udføres uden fejl. Da softwareudviklingsparadigmer og -teknikker er skiftet fra den oprindelige software til vandfaldsudvikling til OOD / Agile og andre nyere koncepter, er test også flyttet fra konventionel (traditionel) testning mod Object Oriented Testing (OOT). Men fordi vandfaldsudvikling stadig bruges, bruges stadig konventionel testning af testerne.
Hvad er konventionel testning?
Konventionel testproces finder hovedsageligt sted, når vandfaldets livscyklus bruges til at udvikle software hos organisationer. Konventionel test finder altid sted i testfasen af livscyklussen, som normalt følger udviklingsfasen og fortsætter implementeringsfasen. I denne testfase udføres hovedsageligt tre slags test. Systemtest vil sikre, at systemfunktionerne tilfredsstiller kundekravene, der er dokumenteret i SRS (Software Requirements Specification), normalt med en sort boks-tilgang. Integrationstest tester det foreløbige design ved at tage en funktionel og nedbrydningstilgang. Integrationstesting er baseret på strukturen i designet ved hjælp af enten en top-down eller en bottom-up tilgang. Endelig sikrer enhedstest, at det detaljerede design er korrekt.
Hvad er objektorienteret test?
Brug af Object Oriented (OO) analyse og design sammen med Agile og andre nyere softwareudviklingsmetodologier fører til Object Oriented Testing. OO-udvikling er normalt fokuseret på adfærden. Testning udføres med vægt på sammensætning. Det betyder, at design oprettes stykke for stykke og komponeres sammen for at fuldføre det komplette system. Da hurtig prototyping og en eller anden form for inkrementel tilgang anvendes til OO-udvikling i dag, er de tre konventionelle testniveauer (system, integration og enhedsprøvning) ikke tydeligt synlige i OO-design (men de findes de fleste af de gange). Systemtest (under OO-test) vil tage meget af den samme (sorte boks) tilgang som konventionel test og vil kontrollere kravspecifikationen (fordi krav skal verificeres uanset udviklingsprocessen). Enhedstestning under objektorienteret test svarer til konventionel enhedsafprøvning, men den grundlæggende forskel er definitionen af den anvendte enhed. Aktuelt accepterede enheder, der bruges til enhedstestning, er klasser og metoder.
Hvad er forskellen mellem konventionel test og objektorienteret test?
Konventionel test er den traditionelle tilgang til test, der for det meste udføres, når livscyklus for vandfald anvendes til udvikling, mens objektorienteret test bruges, når objektorienteret analyse og design bruges til at udvikle virksomhedssoftware. Konventionel test fokuserer mere på nedbrydning og funktionelle tilgange i modsætning til objektorienteret test, der bruger sammensætning. De tre testniveauer (system, integration, enhed), der bruges i konventionel test, er ikke klart defineret, når det kommer til objektorienteret test. Hovedårsagen hertil er, at OO-udvikling anvender inkrementel tilgang, mens traditionel udvikling følger en sekventiel tilgang. Med hensyn til enhedsprøvning ser objektorienteret test på meget mindre enheder sammenlignet med konventionel test.