Conventioneel testen versus objectgericht testen
Software testen is een van de belangrijkste stappen in het softwareontwikkelingsproces. Softwaretests zorgen ervoor dat de ontwikkelde software aan alle eisen van de klant voldoet en zonder fouten wordt uitgevoerd. Naarmate de paradigma's en technieken voor softwareontwikkelingen zijn verschoven van de initiële waterval-softwareontwikkeling naar OOD / Agile en andere nieuwere concepten, is het testen ook verschoven van conventioneel (traditioneel) testen naar Object Oriented Testing (OOT). Maar omdat de watervalontwikkeling nog steeds in gebruik is, wordt de conventionele test nog steeds gebruikt door de testers.
Wat is conventioneel testen?
Conventioneel testproces vindt meestal plaats wanneer de levenscyclus van een waterval wordt gebruikt voor het ontwikkelen van software bij organisaties. Conventionele testen vinden altijd plaats tijdens de testfase van de levenscyclus, die meestal de ontwikkelingsfase volgt en de implementatiefase doorloopt. Tijdens deze testfase zullen hoofdzakelijk drie soorten testen worden uitgevoerd. Systeemtests zullen ervoor zorgen dat de systeemfuncties voldoen aan de klantvereisten die zijn gedocumenteerd in de SRS (Software Requirements Specification), meestal met een black box-benadering. Integratietesten testen het voorlopige ontwerp door een functionele en decompositiebenadering te nemen. Integratietests zijn gebaseerd op de structuur van het ontwerp met een top-down of een bottom-up benadering. Ten slotte zorgen unit tests ervoor dat het gedetailleerde ontwerp correct is.
Wat is objectgericht testen?
Het gebruik van objectgeoriënteerde (OO) analyse en ontwerp samen met Agile en andere recente softwareontwikkelingsmethodologieën leiden tot Object Oriented Testing. OO-ontwikkeling is meestal gericht op het gedrag. Testen is gedaan met de nadruk op compositie. Dat betekent dat het stuk voor stuk wordt gemaakt en samen wordt samengesteld om het volledige systeem te voltooien. Omdat rapid prototyping en enige vorm van incrementele aanpak vandaag worden gebruikt voor OO-ontwikkeling, zijn de drie conventionele testniveaus (systeem, integratie en unit testing) niet duidelijk zichtbaar in OO-ontwerp (maar ze bestaan meestal). Systeemtesten (onder OO-tests) zullen veel van dezelfde (zwarte doos) benadering als conventionele testen vereisen en zullen de vereiste specificatie controleren (omdat vereisten moeten worden gecontroleerd ongeacht het ontwikkelingsproces). Eenheidstest onder objectgeoriënteerd testen is vergelijkbaar met conventionele unit-testen, maar het basisverschil is de definitie van de gebruikte eenheid. Momenteel geaccepteerde eenheden die worden gebruikt voor het testen van eenheden zijn klassen en methoden.
Wat is het verschil tussen conventioneel testen en objectgericht testen?
Conventioneel testen is de traditionele benadering van testen die meestal wordt uitgevoerd wanneer de levenscyclus van water wordt gebruikt voor ontwikkeling, terwijl objectgerichte testen worden gebruikt wanneer objectgeoriënteerde analyse en ontwerp worden gebruikt voor het ontwikkelen van bedrijfssoftware. Conventioneel testen richt zich meer op decompositie en functionele benaderingen in tegenstelling tot objectgeoriënteerde testen, waarbij gebruik wordt gemaakt van samenstelling. De drie niveaus van testen (systeem, integratie, eenheid) die worden gebruikt in conventionele tests zijn niet duidelijk gedefinieerd als het gaat om objectgerichte testen. De belangrijkste reden hiervoor is dat OO-ontwikkeling een incrementele aanpak gebruikt, terwijl traditionele ontwikkeling een sequentiële benadering volgt. Op het gebied van unit-testen wordt bij objectgeoriënteerde testen gekeken naar veel kleinere eenheden in vergelijking met conventionele testen.