Hvad er indlejret test i softwaretest?
Hvad er indlejrede systemer?
Indlejrede systemer er de elektronisk styrede enheder, hvor software og hardware er tรฆt forbundet. Indlejrede systemer kan indeholde en rรฆkke forskellige computerenheder. Disse er pc'er indbygget i andre enheder til at betjene applikationsspecifikke funktioner. Slutbrugeren er normalt ikke engang klar over deres eksistens.
Indlejret test
Indlejret test er en testproces til at kontrollere funktionelle og ikke-funktionelle egenskaber for bรฅde software og hardware i et indlejret system og sikre, at det endelige produkt er fejlfrit. Hovedformรฅlet med Embedded test er at verificere og validere, om det endelige produkt af indlejret hardware og software opfylder kundens krav eller ej.
Test af Embedded Software kontrollerer og sikrer, at den pรฅgรฆldende software er af god kvalitet og overholder alle de krav, den skal opfylde. Indlejret softwaretest er en fremragende tilgang til at garantere sikkerhed i kritiske applikationer som medicinsk udstyr, jernbaner, luftfart, kรธretรธjsindustri osv. Strenge og omhyggelige test er afgรธrende for at tildele softwarecertificering.
Sรฅdan udfรธres Embedded Software Testing
Generelt tester du af fire grunde:
- For at finde fejl i software
- Hjรฆlper med at reducere risikoen for bรฅde brugere og virksomheden
- Skรฆr ned pรฅ udviklings- og vedligeholdelsesomkostninger
- For at forbedre ydeevnen
I Embedded Testing udfรธres fรธlgende aktiviteter:
1. Softwaren er forsynet med nogle input.
2. Et stykke af softwaren udfรธres.
3. Softwaretilstanden observeres, og udgangene kontrolleres for forventede egenskaber, sรฅsom om outputtet matcher det forventede resultat, overensstemmelse med kravene og fravรฆr af systemnedbrud.
Indlejrede softwaretesttyper
Grundlรฆggende er der fem niveauer af test, der kan anvendes pรฅ indlejret software
Test af softwareenheder
Enhedsmodulet er enten en funktion eller klasse. Unit Testing udfรธres af udviklingsteamet, primรฆrt udvikleren og udfรธres normalt i en peer-review-model. Baseret pรฅ specifikationen af โโmodulet udvikles testcases.
Integrationstest
Integrationstest kan klassificeres i to segmenter:
- Softwareintegrationstest
- Software/hardware integrationstest.
Til sidst testes interaktionen mellem hardwaredomรฆnet og softwarekomponenterne. Dette kan omfatte undersรธgelse af samspillet mellem indbyggede perifere enheder og software.
Embedded softwareudvikling har en unik egenskab, som fokuserer pรฅ, at det faktiske miljรธ, som softwaren kรธres i, generelt skabes parallelt med softwaren. Dette medfรธrer besvรฆr for test, da omfattende test ikke kan udfรธres i en simuleret tilstand.
Systemenhedstest
Nu er modulet, der skal testes, en fuld ramme, der bestรฅr af komplet softwarekode, derudover alt real-time operativsystem (RTOS) og platformsrelaterede dele sรฅsom interrupts, opgavemekanismer, kommunikation og sรฅ videre. Point of Control-protokollen er ikke lรฆngere et kald til en funktion eller en metodeankaldelse, men snarere en besked sendt/fรฅet ved hjรฆlp af RTOS-meddelelseskรธerne.
Systemressourcer observeres for at evaluere systemets evne til at understรธtte indlejret systemudfรธrelse. For dette aspekt, grรฅ-boks test er den foretrukne testmetode. Afhรฆngigt af organisationen er systemenhedstest enten udviklerens eller et dedikeret systemintegrationsteams pligt.
Systemintegrationstest
Modulet, der skal testes, starter fra et sรฆt komponenter inden for en enkelt node. Points of Control and Observations (PCO'er) er en blanding af netvรฆrksrelaterede kommunikationsprotokoller og RTOS, sรฅsom netvรฆrksmeddelelser og RTOS-hรฆndelser. Ud over en komponent kan en virtuel tester ligeledes spille rollen som en node.
Systemvalideringstest
Modulet, der skal testes, er et delsystem med en komplet implementering eller det komplette indlejrede system. Formรฅlet med denne afsluttende test er at opfylde eksterne enheders funktionskrav. Bemรฆrk, at en ekstern enhed enten er en person eller en enhed i et telenetvรฆrk eller begge dele.
Forskel: Indlejret test og softwaretest
| Software Testing | Indlejret test |
|---|---|
| Softwaretest er kun relateret til software. | Indlejret test er relateret til bรฅde software og hardware. |
| I gennemsnit er 90 % test udfรธrt i verden rent manuel black box test. | Indlejret test udfรธres pรฅ indlejrede systemer eller chips, det kan vรฆre en sort boks eller hvid boks test. |
| Primรฆre testomrรฅder er GUI-tjek, funktionalitet, validering og et vist niveau af databasetest. | Primรฆre testomrรฅder er opfรธrselen af โโhardwaren for nr. af input givet til det. |
| Softwaretest udfรธres hovedsagelig pรฅ klient-server, web- og mobilbaserede applikationer. | Indlejret test udfรธres generelt pรฅ hardwaren. |
| fx Google Mail, Yahoo Mail, Android applikationer. | f.eks. maskiner i sundhedsdomรฆnet, mikrocontrollere, der bruges i computere. |
Udfordringer: Embedded Software Testing
Nogle af de udfordringer, man kan stรฅ over for under test af Embedded software:
Hardware afhรฆngighed
Hardwareafhรฆngighed er blandt de stรธrste vanskeligheder under test af indlejret software pรฅ grund af begrรฆnset adgang til hardware. Imidlertid reprรฆsenterer emulatorer og simulatorer muligvis ikke nรธjagtigt den faktiske enheds adfรฆrd og kan give en forkert fornemmelse af systemets ydeevne og applikationens anvendelighed.
Open Source Software
Stรธrstedelen af โโde indlejrede softwarekomponenter er open source i naturen, ikke skabt internt og fravรฆr af komplet test tilgรฆngelig for det. Der er en bred vifte af testkombinationer og resulterende scenarier.
Software vs. hardwarefejl
Et andet aspekt er, nรฅr software udvikles til en nyskabt hardware, under denne proces kan et hรธjt forhold mellem hardwarefejl identificeres. Den fundne defekt er bare ikke begrรฆnset til software. Det kan ogsรฅ vรฆre relateret til hardware.
Reproducerbare defekter
Defekter er svรฆrere at genskabe/genskabe i tilfรฆlde af det indlejrede system. Det tvinger den indlejrede testprocedure til at vรฆrdisรฆtte enhver defektforekomst vรฆsentligt hรธjere end i et standardtilfรฆlde, bortset fra at indsamle sรฅ mange data, som det med rimelighed kunne krรฆves for at รฆndre systemet for at finde grundlaget for defekten.
Lรธbende softwareopdateringer
Indlejrede systemer krรฆver regelmรฆssige softwareopdateringer som kerneopgraderingen, sikkerhedsrettelser, forskellige enhedsdrivere osv. Begrรฆnsninger identificeret med softwareopdateringernes indflydelse gรธr fejlidentifikation vanskelig. Derudover รธger det betydningen af โโbygge- og implementeringsprocedurer.
Resumรฉ
Der er nogle vanskeligheder med at teste indlejret softwaretest, der gรธr det svรฆrere end almindelig softwaretest. Det mest fundamentale problem er den tรฆtte afhรฆngighed af hardwaremiljรธet, der er forberedt samtidigt med softwaren, og som regelmรฆssigt krรฆves for at udfรธre pรฅlidelig softwaretest. Nogle gange er det endda svรฆrt at teste softwaren uden brugerdefinerede vรฆrktรธjer, hvilket ubesvรฆret gรธr det usรฆdvanligt fristende at koncentrere sig om at teste i sene stadier.
En af de vigtigste ting er, at du bรธr tรฆnke over, er det faktum, at du ofte bรธr vรฆlge automatiseret softwaretest. Den indlejrede automatiserede test er en hurtigere proces, som vil tage nogle timer at gennemfรธre, og pรฅ denne mรฅde er problemet med din software afgjort.
