Vergelijkingstabel
Basis voor vergelijking | Testen van een eenheid | Systeemtesten |
---|---|---|
basis- | Richt zich op de functionele verificatie van de componenten. | Valideert het systeem nadat het is geïntegreerd in het grotere systeem. |
volgt | Modules specificatie | Vereisten specificatie |
Zichtbaarheid van de codedetails | Mits | Niet voorzien |
Stellingen | Verplicht | Geen stuurprogramma's / stub nodig |
Nadruk | Over het gedrag van de enkele module. | Systeemfunctionaliteiten. |
Definitie van eenheidstesten
Unit-testen is de techniek om de kleinste eenheden in de software te onderbouwen. Deze kleinste componenten van de software worden afzonderlijk getest. Een drivercomponent is verantwoordelijk voor het genereren van methodeaanroepen voor de componenten die worden getest. De component die een methode gebruikt, wordt geïmiteerd als de stub . Deze stubs zijn de eerste vervanging voor de misplaatste methoden.
De test van de unit wordt geleid door testen in een witte doos en de stappen in de test van de unit worden gelijktijdig uitgevoerd voor meerdere componenten. Het legt de nadruk op het testen van de juiste gegevensstroom langs de module-interfaces, omdat als het wordt genegeerd, de andere tests onzeker worden.
Bewerkingen van stub
- De stub kan een duidelijk geschreven imitatie van de taak van het onderdeel uitvoeren.
- Het kan het bericht weergeven na de uitvoering van het onderdeel.
Elk van de hierboven genoemde bewerkingen kan tegelijkertijd worden uitgevoerd. Het testen van de unit is een essentieel onderdeel van de softwaretest die zorgt voor een snellere ontwikkeling, debugging, degelijk ontwerp, documentatie en feedbackmechanisme en verlaagt verder de algehele kosten.
Definitie van systeemtesten
De systeemtest controleert het gedrag van het systeem volledig. Het voert verschillende tests in progressie uit. Deze tests hebben echter de duidelijke bedoeling en controleren of alle systeemcomponenten correct werken op een geïntegreerde manier of niet.
Bij deze tests zijn de testcases ontworpen volgens de vereiste specificatie, en de code ervan lijkt vergelijkbaar te zijn met de zwarte doos. De ontwikkelaars met de brede kennis en zichtbaarheid over de structuur van het systeem voeren meestal de systeemtests uit.
Typen systeemtesten:
Er zijn verschillende vormen van systeemtest, waaronder een paar hieronder.
- Hersteltesten : dit type test zorgt ervoor dat de software op verschillende manieren kan worden geweigerd om het juiste herstelproces te controleren.
- Beveiligingstests : de beveiligingstest verifieert het beveiligingsmechanisme en voorkomt dat het systeem binnendringt.
- Stresstesten : het is een testtechniek waarbij de abnormale omstandigheden van hulpbronnen zoals hoeveelheid, frequentie en volume vereist zijn.
- Prestatietests : prestatietests zijn gericht op de runtime-prestaties van de software die relevant zijn voor het hele systeem.
Belangrijkste verschillen tussen unittesten en systeemtesten
- Het testen van de unit werkt op module-specificatie. Daarentegen voldoet de systeemtest aan de geïntegreerde behoeftespecificatie voor zowel de software als de hardware.
- Tijdens het testen van de unit zijn de codedetails zichtbaar voor de tester, terwijl dit bij de systeemtest niet het geval is. De reden hierachter is dat eenheidstests kunnen worden uitgevoerd door de ontwikkelaar van de module, maar het testen van het systeem is een grotere taak waarbij de tester en de ontwikkelaar twee verschillende personen zijn om de verschillende bewerkingen uit te voeren.
- Het testen van eenheden maakt gebruik van steigertechniek waarbij de gegenereerde code geen deel uitmaakt van de software en uitsluitend bedoeld is om testen uit te lokken. Integendeel, bij het testen van het systeem wordt de steigertechniek niet gebruikt.
- Bij het testen van de unit ligt de nadruk op de enkele module, terwijl bij systeemtesten de volledige systeemfunctionaliteiten in overweging worden genomen.
Relatie tussen het testen van eenheden en systeemtesten in de context van een strategie voor het testen van software:
Volgens het onderstaande schema begint het testen van de unit vanuit het midden en concentreert het zich op elk van de software-eenheden (componenten) volgens de implementatie. Daarna komen integratietesten waarbij het ontwerp en de constructie van de softwarearchitectuur worden onderzocht. Wanneer we naar buiten gaan, komen de validatietests tegen waar de vereisten ten opzichte van de vereiste specificatie zijn gevalideerd. Systeemtesten die aanwezig zijn in het buitenste gedeelte en die de software en de andere systeemgedeelten testen als een geïntegreerd onderdeel.
Conclusie
De eenheidstest is de testtechniek waarbij de kleinste eenheid van het programma wordt getest. Aan de andere kant is de systeemtest gebaseerd op de ontwerpspecificatie op hoog niveau en wordt gecontroleerd of de systeemimplementatie voldoet aan de specificatie van de systeemvereisten of niet.