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:

  1. Softwareintegrationstest
  2. 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.