
Sammenligningstabel
Grundlag for sammenligning | Enhedstestning | Systemtestning |
---|---|---|
Grundlæggende | Fokuserer på den funktionelle verifikation af komponenterne. | Validerer systemet, efter at det er integreret i det større system. |
følger | Modul specifikation | Kravspecifikation |
Synlighed af koden detaljer | Stillet til rådighed | Ikke med |
Stilladser | Nødvendig | Intet behov for drivere / stub |
Vægt | På opførelsen af det enkelte modul. | Systemfunktionaliteter. |
Definition af Unit Testing
Enhedstestning er teknikken til at underbygge de mindste enheder i softwaren. Disse mindste komponenter i softwaren testes isoleret. En førerkomponent er ansvarlig for at generere metodeopkald for at komponenterne testes. Komponenten, der anvender en metode, imiteres som stubben . Disse stubber er den første erstatning for de fejlplacerede metoder.
Enhedstesten er rettet ved hvidboksprøvning, og trinene i enhedstesten udføres for flere komponenter samtidigt. Det understreger på, at teste den korrekte strøm af data langs modulgrænsefladerne, fordi hvis det ignoreres, vil de andre tests blive usikre.
Operationer af stub
- Stubben kan udføre en klart skrevet efterligning af komponentens opgave.
- Det kan vise meddelelsen efter komponentens udførelse.
Enten af ovenstående operationer kunne udføres ad gangen. Enhedstesten er en vigtig del af softwaretesten, der sikrer hurtigere udvikling, fejlfinding, lyddesign, dokumentation og feedbackmekanisme og yderligere reducerer de samlede omkostninger.
Definition af systemtestning
Systemtesten verificerer systemets opførsel fuldstændigt. Det udfører forskellige tests i progression. Imidlertid har disse tests den tydelige hensigt og kontroller, om alle systemkomponenterne fungerer korrekt på en integreret måde eller ej.
I denne test er testsagerne designet i overensstemmelse med kravspecifikationen, og dens kode siges at svare til den sorte boks. Udviklerne med den brede viden og synlighed om systemets struktur udfører normalt systemtesten.
Typer systemtest:
Der er flere former for systemtest, hvoraf nogle få er beskrevet nedenfor.
- Recovery Testing : Denne type test gør softwaren til at falde på flere måder for at kontrollere den korrekte genoprettelsesproces.
- Sikkerhedsprøvning : Sikkerhedsprøvningen verificerer sikkerhedsmekanismen og forhindrer systemet i indtrængen.
- Stresstest : Det er en testteknik, hvor de unormale betingelser for ressourcer som mængde, frekvens og volumen er påkrævet.
- Præstationsprøvning : Præstationsprøvning fokuserer på softwareens runtime ydeevne i relevans for hele systemet.
Nøgleforskelle mellem Unit Testing og System Testing
- Enhedsprøvningen virker på modulspecifikation. I modsætning hertil følger systemtesten den integrerede kravspecifikation for softwaren såvel som hardware.
- I enhedstestningen er koden detaljerne synlige for testeren, mens dette ikke er tilfældet i systemtesten. Årsagen bag dette er, at enhedstest kan udføres af modulets udvikler, men systemtesten er en større opgave, hvor testeren og udvikleren er to forskellige personer til at udføre de forskellige operationer.
- Enhedsprøvningen anvender stilladseteknik, hvor den genererede kode ikke er en del af softwaren, og hvis eneste formål er at afprøve testen. Tværtimod bruger systemtesten ikke stilladseteknikken.
- I enhedstestningen er der lagt vægt på det enkelte modul, mens systemets test i hele systemet tages i betragtning.
Forholdet mellem enhedsprøvning og systemtest i forbindelse med software teststrategi:
Ifølge nedenstående diagram starter enhedstesten fra midten og fokuserer på hver af softwareenheden (komponenten) i henhold til implementeringen. Derefter kommer integrationstest, hvor design og konstruktion af softwarearkitekturen undersøges. Når vi går udad, møder valideringstesten, hvor kravene til kravspecifikationen valideres. Systemtest til stede i den yderste del, som tester softwaren og dens øvrige systemdele som en integreret komponent.

Konklusion
Enhedstesten er testteknikken, hvor den mindste enhed af programmet testes. På den anden side er System Testing afhængig af designspecifikationen på højt plan og kontrollerer, om systemimplementeringen opfylder systemkravsspecifikationen eller ej.