konventionel test vs objektorienteret test
Softwaretest er et af de vigtigste trin i softwareudviklingsprocessen. Softwaretest sikrer, at den udviklede software opfylder alle kundekrav og udføres uden fejl. Efterhånden som softwareudviklingens paradigmer og teknikker er skiftet fra den indledende vandfaldssoftwareudvikling til OOD/Agile og andre nyere koncepter, er test også skiftet fra konventionel (traditionel) test til Object Oriented Testing (OOT). Men fordi vandfaldsudvikling stadig er i brug, bruges konventionel testning stadig af testerne.
Hvad er konventionel test?
Konventionel testproces finder for det meste sted, når vandfaldets livscyklus bruges til at udvikle software i organisationer. Konventionel test finder altid sted i testfasen af livscyklussen, som norm alt følger udviklingsfasen og fortsætter implementeringsfasen. I løbet af denne testfase vil der hovedsageligt blive udført tre slags test. Systemtest vil sikre, at systemfunktionerne opfylder kundekravene, der er dokumenteret i SRS (Software Requirements Specification), som norm alt tager en black box-tilgang. Integrationstest tester det foreløbige design ved at tage en funktionel og nedbrydningstilgang. Integrationstest er baseret på designets struktur 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 objektorienteret (OO) analyse og design sammen med Agile og andre nyere softwareudviklingsmetoder fører til objektorienteret test. OO-udvikling er norm alt fokuseret på adfærden. Testning udføres med vægt på sammensætning. Det betyder, at design skabes stykke for stykke og komponeres sammen for at fuldende hele systemet. Fordi hurtig prototyping og en form for inkrementel tilgang bruges til OO-udvikling i dag, er de tre konventionelle testniveauer (system, integration og enhedstestning) ikke tydeligt synlige i OO-design (men de eksisterer de fleste gange). Systemtest (under OO-test) vil tage meget af den samme (sort boks) tilgang som konventionel test og vil kontrollere kravspecifikationen (fordi krav skal verificeres uanset udviklingsprocessen). Enhedstest under objektorienteret test ligner konventionel enhedstest, 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 testning og objektorienteret test?
Konventionel test er den traditionelle tilgang til test, der for det meste udføres, når vandfaldslivscyklus bruges 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, som 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 til dette er, at OO-udvikling bruger inkrementel tilgang, mens traditionel udvikling følger en sekventiel tilgang. Med hensyn til enhedstest, ser objektorienteret test på meget mindre enheder sammenlignet med konventionel test.