Hvad er System Integration Testing (SIT) Eksempel
Hvad er systemintegrationstest?
Systemkrav Integrationstest er defineret som en type softwaretest, der udfรธres i et integreret hardware- og softwaremiljรธ for at verificere det komplette systems opfรธrsel. Det er test udfรธrt pรฅ et komplet, integreret system for at evaluere systemets overensstemmelse med dets specificerede krav.
System Integration Testing (SIT) udfรธres for at verificere interaktionerne mellem modulerne i et softwaresystem. Den omhandler verifikationen af โโsoftwarekravene pรฅ hรธjt og lavt niveau, der er specificeret i softwarekravspecifikationen/dataene og softwaredesigndokumentet. Det verificerer ogsรฅ et softwaresystems sameksistens med andre og tester grรฆnsefladen mellem modulerne i softwareapplikationen. I denne type test testes moduler fรธrst individuelt og kombineres derefter til et system. For eksempel kombineres software- og/eller hardwarekomponenter og testes gradvist, indtil hele systemet er blevet integreret.
Hvorfor tester man systemintegration?
I Software Engineering udfรธres systemintegrationstest fordi,
- Det hjรฆlper at opdage Defekt tidligt
- Tidligere feedback om accept af det enkelte modul vil vรฆre tilgรฆngelig
- Planlรฆgning af fejlrettelser er fleksibel, og den kan overlappes med udvikling
- Korrekt dataflow
- Korrekt kontrolflow
- Korrekt timing
- Korrekt hukommelsesbrug
- Korrekt med softwarekrav
Sรฅdan laver du systemintegrationstest
Det er en systematisk teknik til at konstruere programstrukturen, mens der udfรธres tests for at afdรฆkke fejl forbundet med grรฆnseflader.
Alle moduler er integreret pรฅ forhรฅnd, og hele programmet testes som en helhed. Men under denne proces vil der sandsynligvis opstรฅ et sรฆt fejl.
Korrektion af sรฅdanne fejl er vanskelig, fordi isolationsรฅrsager er kompliceret af den store udvidelse af hele programmet. Nรฅr disse fejl er rettet og rettet, vil en ny dukke op, og processen fortsรฆtter problemfrit i en endelรธs slรธjfe. For at undgรฅ denne situation anvendes en anden tilgang, Incremental Integration. Vi vil se flere detaljer om en inkrementel tilgang senere i selvstudiet.
Der er nogle trinvise metoder, sรฅsom integrationstestene udfรธres pรฅ et system baseret pรฅ mรฅlprocessoren. Den anvendte metode er Sort Box Test. Enten bottom-up eller top-down integration kan bruges.
Testcases defineres udelukkende ved hjรฆlp af softwarekravene pรฅ hรธjt niveau.
Softwareintegration kan ogsรฅ opnรฅs i vid udstrรฆkning i vรฆrtsmiljรธet, hvor enheder, der er specifikke for mรฅlmiljรธet, fortsรฆtter med at blive simuleret i vรฆrten. Det vil igen vรฆre nรธdvendigt at gentage test i mรฅlmiljรธet til bekrรฆftelse.
Bekrรฆftelsestest pรฅ dette niveau vil identificere miljรธspecifikke problemer, sรฅsom fejl i hukommelsestildeling og deallokering. Det praktiske ved at lede software integration i vรฆrtsmiljรธet vil afhรฆnge af, hvor meget mรฅlspecifik funktionalitet der er. For nogle indlejrede systemer vil koblingen til mรฅlmiljรธet vรฆre meget stรฆrk, hvilket gรธr det upraktisk at udfรธre softwareintegration i vรฆrtsmiljรธet.
Store softwareudviklinger vil opdele softwareintegration i en rรฆkke niveauer. De lavere niveauer af softwareintegration kunne overvejende vรฆre baseret i vรฆrtsmiljรธet, hvor senere niveauer af softwareintegration bliver mere afhรฆngige af mรฅlmiljรธet.
Bemรฆrk: Hvis kun software bliver testet, kaldes det Software Software Integration Testing [SSIT], og hvis bรฅde hardware og software bliver testet, kaldes det Hardware Software Integration Testing [HSIT].
Ind- og udgangskriterier for integrationstest
Normalt bruges ETVX (Entry Criteria, Task, Validation og Exit Criteria) strategi under udfรธrelse af integrationstest.
Adgangskriterier:
- Fรฆrdiggรธrelse af Enhedstest
Indgange:
- Software Krav Data
- Software design dokument
- Softwareverifikationsplan
- Softwareintegrationsdokumenter
Aktiviteter:
- Opret testcases og -procedurer baseret pรฅ hรธj- og lavniveaukravene
- Kombiner moduler pรฅ lavt niveau, der implementerer en fรฆlles funktionalitet
- Udvikl en testsele
- Test bygningen
- Nรฅr testen er bestรฅet, kombineres buildet med andre builds og testes, indtil systemet er integreret som en helhed.
- Genudfรธr alle testene pรฅ den mรฅlprocessorbaserede platform, og fรฅ resultaterne
Afgangskriterier:
- Succesfuld afslutning af integrationen af โโsoftwaremodulet pรฅ mรฅlhardwaren
- Korrekt ydeevne af softwaren i henhold til de specificerede krav
Udgange
- Integrationstestrapporter
- Softwaretestsager og -procedurer [SVCP].
Hardware Software Integration Test
Hardware Software Integration Test er en proces til at teste computersoftwarekomponenter (CSC) for funktionaliteter pรฅ hรธjt niveau pรฅ mรฅlhardwaremiljรธet. Mรฅlet med hardware/software integrationstest er at teste adfรฆrden af โโudviklet software integreret pรฅ hardwarekomponenten.
Kravbaseret hardware-software-integrationstest
Formรฅlet med kravbaseret hardware/software-integrationstest er at sikre, at softwaren i mรฅlcomputeren opfylder de hรธje krav. Typiske fejl afslรธret af denne testmetode omfatter:
- Hardware/software interface fejl
- Overtrรฆdelser af softwarepartitionering.
- Manglende evne til at opdage fejl ved indbygget test
- Forkert svar pรฅ hardwarefejl
- Fejl pรฅ grund af sekvensering, transiente inputbelastninger og inputeffekttransienter
- Feedback slรธjfer forkert adfรฆrd
- Forkert eller ukorrekt kontrol af hukommelsesstyringshardware
- Problem med databusstrid
- Forkert betjening af mekanismen til at verificere kompatibiliteten og korrektheden af โโfeltindlรฆsbar software
Hardware Software Integration beskรฆftiger sig med verifikation af de hรธje krav. Alle test pรฅ dette niveau udfรธres pรฅ mรฅlhardwaren.
- Black box-testning er den primรฆre testmetode, der bruges pรฅ dette testniveau.
- Definere test tilfรฆlde kun fra de hรธje krav
- En test skal udfรธres pรฅ produktionsstandard hardware (pรฅ mรฅl)
Ting at overveje, nรฅr man designer testcases til HW/SW-integration
- Korrekt indhentning af alle data af softwaren
- Skalering og rรฆkkevidde af data som forventet fra hardware til software
- Korrekt output af data fra software til hardware
- Data inden for specifikationer (normalt omrรฅde)
- Data uden for specifikationer (unormalt omrรฅde)
- Grรฆnsedata
- Afbryder behandlingen
- Timing
- Korrekt hukommelsesbrug (adressering, overlapninger osv.)
- Statsovergange
Bemรฆrk: For afbrydelsestestning vil alle afbrydelser blive verificeret uafhรฆngigt af den fรธrste anmodning gennem fuld service og frem til fรฆrdiggรธrelsen. Testcases vil blive specielt designet til at teste afbrydelser tilstrรฆkkeligt.
Software til softwareintegrationstest
Det er test af computersoftwarekomponenten, der fungerer pรฅ vรฆrts-/mรฅlcomputeren
Miljรธ, mens du simulerer hele systemet [andre CSC'er], og pรฅ hรธjt niveau funktionalitet.
Den fokuserer pรฅ adfรฆrden af โโen CSC i et simuleret vรฆrt/mรฅlmiljรธ. Den tilgang, der bruges til softwareintegration, kan vรฆre en inkrementel tilgang (top-down, en bottom-up tilgang eller en kombination af begge).
Inkrementel tilgang
Inkrementel test er en mรฅde at integrere integrationstest pรฅ. I denne type testmetode tester du fรธrst hvert modul i softwaren individuelt og fortsรฆtter derefter med at teste ved at tilfรธje andre moduler til det og derefter et andet og sรฅ videre.
Inkrementel integration er kontrasten til big bang-tilgangen. Programmet er opbygget og testet i smรฅ segmenter, hvor fejl er nemmere at isolere og rette. Grรฆnseflader er mere tilbรธjelige til at blive testet fuldstรฆndigt, og en systematisk testmetode kan anvendes.
Der er to typer inkrementel test
- Top down tilgang
- Bottom Up tilgang
Top-down tilgang
I denne type tilgang, start individuelt med kun at teste brugergrรฆnsefladen, med den underliggende funktionalitet simuleret af stubs, derefter bevรฆger du dig nedad og integrerer lavere og lavere lag som vist pรฅ billedet nedenfor.
- Fra hovedkontrolmodulet integreres modulerne ved at bevรฆge sig nedad gennem kontrolhierarkiet
- Undermoduler til hovedstyringsmodulet er inkorporeret i strukturen enten pรฅ en bredde-fรธrst mรฅde eller dybde-fรธrst mรฅde.
- Depth-first integration integrerer alle moduler pรฅ en stรธrre kontrolsti af strukturen som vist i fรธlgende diagram:
Modulintegrationsprocessen udfรธres pรฅ fรธlgende mรฅde:
- Hovedkontrolmodulet bruges som testdriver, og stubbene erstattes af alle moduler direkte underordnet hovedkontrolmodulet.
- De underordnede stubber udskiftes en ad gangen med faktiske moduler afhรฆngigt af den valgte tilgang (bredde fรธrst eller dybde fรธrst).
- Test udfรธres, efterhรฅnden som hvert modul er integreret.
- Efter afslutningen af โโhvert sรฆt af tests, erstattes en anden stub med et rigtigt modul efter afslutningen af โโhvert sรฆt af tests
- For at sikre, at der ikke er indfรธrt nye fejl Regressionstest kan udfรธres.
Processen fortsรฆtter fra trin 2, indtil hele programstrukturen er bygget. Top-down-strategien lyder relativt ukompliceret, men i praksis opstรฅr der logistiske problemer.
De mest almindelige af disse problemer opstรฅr, nรฅr behandling pรฅ lave niveauer i hierarkiet er pรฅkrรฆvet for at teste de รธvre niveauer tilstrรฆkkeligt.
Stubber erstatter moduler pรฅ lavt niveau i begyndelsen af โโtop-down test, og derfor kan ingen vรฆsentlige data flyde opad i programstrukturen.
Udfordringer, som testeren kan stรฅ over for:
- Forsink mange tests, indtil stubberne er erstattet med faktiske moduler.
- Udvikle stubbe, der udfรธrer begrรฆnsede funktioner, der simulerer det faktiske modul.
- Integrer softwaren fra bunden af โโhierarkiet og opad.
Bemรฆrk: Den fรธrste tilgang fรฅr os til at miste en vis kontrol over korrespondance mellem specifikke test og inkorporering af specifikke moduler. Dette kan resultere i vanskeligheder med at fastslรฅ รฅrsagen til fejl, som har en tendens til at overtrรฆde den meget begrรฆnsede karakter af top-down-tilgangen.
Den anden tilgang er brugbar, men kan fรธre til betydelige overhead, da stubbe bliver mere og mere komplekse.
Bottom-up tilgang
Bottom-up integration begynder konstruktion og test med moduler pรฅ det laveste niveau i programstrukturen. I denne proces integreres modulerne fra bunden til toppen.
I denne tilgang er behandling pรฅkrรฆvet for de moduler, der er underordnet et givet niveau, altid tilgรฆngelig, og behovet for stubberne er elimineret.
Denne integrationstestproces udfรธres i en rรฆkke af fire trin
- Moduler pรฅ lavt niveau kombineres i klynger, der udfรธrer en specifik software-underfunktion.
- En driver er skrevet for at koordinere testcase input og output.
- Klyngen eller buildet testes.
- Drivere fjernes, og klynger kombineres ved at bevรฆge sig opad i programstrukturen.
Efterhรฅnden som integrationen bevรฆger sig opad, er behovet for separate testkรธrertimer. Faktisk, hvis de to รธverste niveauer af programstruktur er integreret top-down, kan antallet af drivere reduceres vรฆsentligt, og integrationen af โโklynger forenkles betydeligt. Integration fรธlger mรธnsteret vist nedenfor. Efterhรฅnden som integrationen bevรฆger sig opad, er behovet for separate testkรธrertimer.
Bemรฆrk: Hvis de to รธverste niveauer af programstruktur er integreret Top-down, kan antallet af drivere reduceres vรฆsentligt, og integrationen af โโbuilds forenkles betydeligt.
Big Bang tilgang
I denne tilgang integreres alle moduler ikke fรธr og medmindre alle moduler er klar. Nรฅr de er klar, integreres alle moduler og udfรธres derefter for at vide, om alle de integrerede moduler fungerer eller ej.
I denne tilgang er det svรฆrt at kende รฅrsagen til fejlen pรฅ grund af at integrere alt pรฅ รฉn gang.
Der vil ogsรฅ vรฆre en stor chance for forekomst af de kritiske fejl i produktionsmiljรธet.
Denne tilgang anvendes kun, nรฅr integrationstest skal udfรธres pรฅ รฉn gang.
Resumรฉ
- Integration udfรธres for at verificere interaktionerne mellem modulerne i et softwaresystem. Det hjรฆlper med at opdage defekter tidligt
- Integrationstest kan udfรธres for Hardware-Software eller Hardware-Hardware Integration
- Integrationstest udfรธres ved to metoder
- Inkrementel tilgang
- Big bang tilgang
- Under udfรธrelse af integrationstest bruges generelt ETVX-strategien (Entry Criteria, Task, Validation og Exit Criteria).




