Hva er innebygd testing i programvaretesting?

Innholdsfortegnelse:

Anonim

I denne veiledningen vil du lære

  • Hva er innebygde systemer?
  • Hva er innebygd testing?
  • Embedded Software Testing Typer
  • Forskjell: innebygd testing og programvaretesting
  • Utfordringer: Embedded Software Testing

Hva er innebygde systemer?

Innebygde systemer er de elektronisk kontrollerte enhetene der programvare og maskinvare er tett koblet. Innebygde systemer kan inneholde en rekke databehandlingsenheter. Dette er PC-er som er innlemmet i andre enheter for å betjene applikasjonsspesifikke funksjoner. Sluttbrukeren er vanligvis ikke engang klar over deres eksistens.

Innebygd testing

Embedded Testing er en testprosess for å kontrollere funksjonelle og ikke-funksjonelle attributter for både programvare og maskinvare i et innebygd system og sikre at det endelige produktet er feilfritt. Hovedformålet med innebygd testing er å verifisere og validere om det endelige produktet av innebygd maskinvare og programvare oppfyller kravene til klienten eller ikke.

Innebygd programvaretesting sjekker og sørger for at den aktuelle programvaren er av god kvalitet og oppfyller alle kravene den skal oppfylle. Innebygd programvaretesting er en utmerket tilnærming for å garantere sikkerhet i kritiske applikasjoner som medisinsk utstyr, jernbane, luftfart, kjøretøyindustri, etc. Streng og nøye testing er avgjørende for å gi programvaresertifisering.

Hvordan utføre innebygd programvaretesting

Generelt tester du av fire grunner:

  • For å finne feil i programvaren
  • Hjelper med å redusere risikoen for både brukere og selskapet
  • Kutt ned utviklings- og vedlikeholdskostnader
  • For å forbedre ytelsen

I Embedded Testing utføres følgende aktiviteter:

1. Programvaren er utstyrt med noen innganger.

2. En del av programvaren kjøres.

3. Programvaretilstanden blir observert, og utgangene blir sjekket for forventede egenskaper, for eksempel om utgangen samsvarer med forventet utfall, samsvar med kravene og fravær av systemkrasj.

Embedded Software Testing Typer

Fundamentalt er det fem nivåer av testing som kan brukes på innebygd programvare

Testing av programvareenhet

Enhetsmodulen er enten en funksjon eller klasse. Enhetstesting utføres av utviklingsteamet, først og fremst utvikleren, og utføres vanligvis i en peer-review-modell. Basert på spesifikasjonene til modulen blir testsaker utviklet.

Integrasjonstesting

Integrasjonstesting kan klassifiseres i to segmenter:

  1. Testing av programvareintegrasjon
  2. Testing av programvare / maskinvare.

Til slutt testes samspillet mellom maskinvaredomenet og programvarekomponentene. Dette kan omfatte å undersøke samspillet mellom innebygde eksterne enheter og programvare.

Innebygd programvareutvikling har en unik egenskap som fokuserer på det faktiske miljøet der programvaren kjøres, blir vanligvis opprettet parallelt med programvaren. Dette medfører ulempe for testing siden omfattende testing ikke kan utføres i simulert tilstand.

System Unit Testing

Nå er modulen som skal testes et fullstendig rammeverk som består av komplett programvarekode i tillegg til alle sanntidsoperativsystemer (RTOS) og plattformrelaterte deler som avbrudd, oppgavemekanismer, kommunikasjon og så videre. Point of Control-protokollen er ikke lenger et kall til en funksjon eller en metodeinnkallelse, men snarere en melding sendt / fått ved bruk av RTOS-meldingskøene.

Systemressurser blir observert for å evaluere systemets evne til å støtte innebygd systemutførelse. For dette aspektet er testing av grå bokser den foretrukne testmetoden. Avhengig av organisasjon, er testing av systemenheter enten plikten til utvikleren eller et dedikert systemintegrasjonsteam.

Systemintegrasjonstesting

Modulen som skal testes begynner fra et sett med komponenter i en enkelt node. Points of Control and Observations (PCOs) er en blanding av nettverksrelaterte kommunikasjonsprotokoller og RTOS, for eksempel nettverksmeldinger og RTOS-hendelser. I tillegg til en komponent, kan en Virtual Tester på samme måte spille rollen som en node.

Systemvalideringstesting

Modulen som skal testes er et delsystem med en komplett implementering eller det komplette innebygde systemet. Målet med denne avsluttende testen er å møte funksjonelle krav til eksterne enheter. Merk at en ekstern enhet enten er en person, eller en enhet i et telenett, eller begge deler.

Forskjell: innebygd testing og programvaretesting

Programvaretesting Innebygd testing
Programvaretesting er kun relatert til programvare. Innebygd testing er relatert til både programvare og maskinvare.
I gjennomsnitt er 90% testing utført i verden rent manuell testing av svart boks. Innebygd testing utføres på innebygde systemer eller sjetonger, det kan være en svart boks eller en hvit boks testing.
Primære testområder er GUI-kontroller, funksjonalitet, validering og noe nivå av databasetesting. Primære testområder er oppførselen til maskinvaren for nr. av innganger gitt til den.
Programvaretesting utføres hovedsakelig på klientserver-, nett- og mobilbaserte applikasjoner. Innebygd testing som vanligvis utføres på maskinvaren.
for eksempel Google Mail, Yahoo Mail, Android-applikasjoner. f.eks. maskiner for helsevesenet, mikrokontrollere som brukes i datamaskiner.

Utfordringer: Embedded Software Testing

Noen av utfordringene man kan møte under Embedded software testing:

Maskinvareavhengighet

Maskinvareavhengighet er blant de største vanskelighetene som står overfor under innebygd programvaretesting på grunn av begrenset tilgang til maskinvare. Imidlertid kan det hende at emulatorer og simulatorer ikke nøyaktig representerer oppførselen til den faktiske enheten, og de kan gi en feilaktig følelse av systemytelsen og applikasjonens brukervennlighet.

Programvare med åpen kildekode

Flertallet av de innebygde programvarekomponentene er av åpen kildekode, ikke opprettet internt og fravær av fullstendig test tilgjengelig for den. Det er et bredt spekter av testkombinasjoner og resulterende scenarier.

Programvare mot maskinvarefeil

Et annet aspekt er når programvare utvikles for en nyopprettet maskinvare, under denne prosessen kan det identifiseres et høyt forhold mellom maskinvarefeil. Den funnet feilen er bare ikke begrenset til programvare. Det kan også være relatert til maskinvare.

Reproduserbare feil

Mangler er vanskeligere å reprodusere / gjenskape i tilfelle det innebygde systemet. Dette håndhever den innebygde testprosedyren for å verdsette enhver defektforekomst vesentlig høyere enn i et vanlig tilfelle, annet enn å samle inn så mye data som det fornuftig kan være nødvendig å endre systemet for å finne grunnlaget for feilen.

Kontinuerlige programvareoppdateringer

Innebygde systemer krever regelmessige programvareoppdateringer som kjerneoppgradering, sikkerhetsoppdateringer, forskjellige enhetsdrivere osv. Begrensninger som er identifisert med innflytelsen på programvareoppdateringer, gjør det vanskelig å identifisere feil. I tillegg øker det betydningen av prosedyre for bygging og distribusjon.

Sammendrag

Det er noen vanskeligheter med å teste innebygd programvaretesting som gjør det vanskeligere enn vanlig programvaretesting. Det mest grunnleggende problemet er den stramme avhengigheten av maskinvaremiljøet som forberedes samtidig med programvaren, og som regelmessig kreves for å utføre pålitelig programvaretesting. Noen ganger er det til og med vanskelig å teste programvaren uten spesialtilpassede verktøy, noe som uanstrengt gjør det å konsentrere seg om testing i sene stadier unntakelig fristende.

En av de viktigste tingene er at du bør tenke på er det faktum at du ofte bør velge automatisert programvaretesting. Den innebygde automatiserte testen er en raskere prosess som det vil ta noen timer å fullføre, og på denne måten er problemet med programvaren din avgjort.