Mitä on sulautettu testaus ohjelmistotestauksessa?
Mitä sulautetut järjestelmät ovat?
Sulautetut järjestelmät ovat elektronisesti ohjattuja laitteita, joissa ohjelmistot ja laitteistot ovat tiiviisti kytkettyjä. Sulautetut järjestelmät voivat sisältää erilaisia tietokonelaitteita. Nämä ovat tietokoneita, jotka on sisällytetty muihin laitteisiin sovelluskohtaisten toimintojen suorittamiseksi. Loppukäyttäjä ei yleensä edes tiedä niiden olemassaolosta.
Sulautettu testaus
Sulautettu testaus on testausprosessi, jolla tarkistetaan sekä ohjelmiston että laitteiston toimivia ja ei-toiminnallisia ominaisuuksia sulautetussa järjestelmässä ja varmistetaan, että lopputuote on virheetön. Sulautetun testauksen päätarkoitus on varmistaa ja validoida, täyttääkö sulautetun laitteiston ja ohjelmiston lopputuote asiakkaan vaatimukset vai ei.
Sulautetun ohjelmiston testaus tarkistaa ja varmistaa, että kyseessä oleva ohjelmisto on laadukas ja täyttää kaikki vaatimukset, jotka sen tulee täyttää. Sulautettujen ohjelmistojen testaus on erinomainen tapa taata tietoturva kriittisissä sovelluksissa, kuten lääketieteellisissä laitteissa, rautateillä, lentoliikenteessä, ajoneuvoteollisuudessa jne. Tarkka ja huolellinen testaus on ratkaisevan tärkeää ohjelmistosertifioinnin myöntämisessä.
Kuinka suorittaa sulautettujen ohjelmistojen testaus
Yleensä testaat neljästä syystä:
- Ohjelmistojen vikojen etsiminen
- Auttaa vähentämään riskejä sekä käyttäjille että yritykselle
- Vähennä kehitys- ja ylläpitokustannuksia
- Suorituskyvyn parantamiseksi
Sulautetussa testauksessa suoritetaan seuraavat toiminnot:
1. Ohjelmistossa on joitakin tuloja.
2. Ohjelmiston osa suoritetaan.
3. Ohjelmiston tilaa tarkkaillaan ja tulosteista tarkistetaan odotetut ominaisuudet, kuten onko tulos odotettua tulosta, vaatimustenmukaisuus ja järjestelmän kaatumisen puuttuminen.
Sulautetun ohjelmiston testaustyypit
Periaatteessa on viisi testaustasoa, joita voidaan soveltaa sulautettuihin ohjelmistoihin
Ohjelmistoyksikkötestaus
Yksikkömoduuli on joko funktio tai luokka. Yksikkötestauksen suorittaa kehitystiimi, ensisijaisesti kehittäjä, ja se suoritetaan yleensä vertaisarviointimallissa. Moduulin spesifikaatioiden perusteella kehitetään testitapauksia.
Integraation testaus
Integraatiotestaus voidaan luokitella kahteen segmenttiin:
- Ohjelmistojen integraatiotestaus
- Ohjelmistojen/laitteistojen integraation testaus.
Lopuksi testataan laitteistoalueen ja ohjelmistokomponenttien vuorovaikutusta. Tämä voi sisältää sisäisten oheislaitteiden ja ohjelmistojen välisen vuorovaikutuksen tutkimisen.
Sulautetulla ohjelmistokehityksellä on ainutlaatuinen ominaisuus, joka keskittyy todelliseen ympäristöön, jossa ohjelmistoa ajetaan, yleensä luodaan ohjelmiston rinnalla. Tämä vaikeuttaa testausta, koska kattavaa testausta ei voida suorittaa simuloidussa tilassa.
Järjestelmäyksiköiden testaus
Nyt testattava moduuli on täydellinen kehys, joka koostuu täydellisestä ohjelmistokoodista kaiken lisäksi reaaliaikainen käyttöjärjestelmä (RTOS) ja alustaan liittyvät osat, kuten keskeytykset, tehtävämekanismit, viestintä ja niin edelleen. Point of Control -protokolla ei ole enää kutsu funktiolle tai menetelmän kutsu, vaan pikemminkin viesti, joka on lähetetty/saatu RTOS-sanomajonoja hyödyntäen.
Järjestelmäresursseja tarkkaillaan, jotta voidaan arvioida järjestelmän kykyä tukea sulautetun järjestelmän suorittamista. Tästä näkökulmasta harmaalaatikkotestaus on suosituin testausmenetelmä. Organisaatiosta riippuen järjestelmäyksiköiden testaus on joko kehittäjän tai omistetun järjestelmäintegraatiotiimin tehtävä.
Järjestelmäintegraation testaus
Testattava moduuli alkaa joukosta komponentteja yhden solmun sisällä. Ohjaus- ja havaintopisteet (PCO) ovat sekoitus verkkoon liittyviä viestintäprotokollia ja RTOS-protokollia, kuten verkkoviestejä ja RTOS-tapahtumia. Komponentin lisäksi virtuaalinen testaaja voi toimia myös solmun roolissa.
Järjestelmän validointitestaus
Testattava moduuli on alijärjestelmä, jossa on täydellinen toteutus tai täydellinen sulautettu järjestelmä. Tämän lopputestin tavoitteena on täyttää ulkoisen kokonaisuuden toiminnalliset vaatimukset. Huomaa, että ulkoinen kokonaisuus voi olla joko henkilö tai laite tietoliikenneverkossa tai molemmat.
Ero: sulautettu testaus ja ohjelmistotestaus
| Ohjelmistojen testaus | Sulautettu testaus |
|---|---|
| Ohjelmistojen testaus koskee vain ohjelmistoja. | Sulautettu testaus liittyy sekä ohjelmistoihin että laitteistoihin. |
| Keskimäärin 90 % maailmassa tehdyistä testeistä on puhtaasti manuaalista mustan laatikon testausta. | Sulautettu testaus tehdään sulautetuille järjestelmille tai siruille, se voi olla musta laatikko tai valkoinen laatikko -testaus. |
| Ensisijaisia testausalueita ovat GUI-tarkistukset, toiminnallisuus, validointi ja jonkinasteinen tietokantatestaus. | Ensisijaisia testausalueita ovat laitteiston käyttäytyminen no. sille annetuista syötteistä. |
| Ohjelmistojen testaus suoritetaan pääosin asiakaspalvelin-, web- ja mobiilipohjaisissa sovelluksissa. | Sulautettu testaus suoritetaan yleensä laitteistolle. |
| esimerkiksi, Google MailYahoo Mail, Android sovelluksissa. | esim. terveydenhuollon koneet, tietokoneissa käytettävät mikro-ohjaimet. |
Haasteet: Sulautetun ohjelmiston testaus
Joitakin haasteita, joita voi kohdata sulautettujen ohjelmistojen testauksen aikana:
Laitteistoriippuvuus
Laitteistoriippuvuus on yksi suurimmista ongelmista sulautettujen ohjelmistojen testauksen aikana, koska laitteistoon pääsy on rajoitettu. Emulaattorit ja simulaattorit eivät kuitenkaan välttämättä edusta tarkasti todellisen laitteen käyttäytymistä ja voivat antaa väärän kuvan järjestelmän suorituskyvystä ja sovelluksen käytettävyydestä.
Avoimen lähdekoodin ohjelmisto
Suurin osa sulautetuista ohjelmistokomponenteista on luonteeltaan avointa lähdekoodia, joita ei ole luotu talon sisällä, eikä niille ole saatavilla täydellistä testiä. On olemassa laaja valikoima testiyhdistelmiä ja niistä saatavia skenaarioita.
Ohjelmisto vs. laitteistovirheet
Toinen näkökohta on, kun ohjelmistoa kehitetään juuri luodulle laitteistolle, tämän prosessin aikana voidaan tunnistaa suuri määrä laitteistovikoja. Havaittu vika ei vain rajoitu ohjelmistoon. Se voi liittyä myös laitteistoon.
Toistettavat viat
Sulautetun järjestelmän tapauksessa vikoja on vaikeampi toistaa/luoda uudelleen. Tämä pakottaa sulautetun testausmenettelyn arvostamaan jokaisen vian esiintymisen huomattavasti korkeammaksi kuin tavallisessa tapauksessa, paitsi kerätä niin paljon tietoa kuin järkevästi voidaan vaatia järjestelmän muuttamiseksi vian perustan löytämiseksi.
Jatkuvat ohjelmistopäivitykset
Sulautetut järjestelmät vaativat säännöllisiä ohjelmistopäivityksiä, kuten ytimen päivitys, tietoturvakorjaukset, erilaiset laiteohjaimet jne. Ohjelmistopäivitysten vaikutuksesta tunnistetut rajoitukset tekevät virheiden tunnistamisesta vaikeaa. Lisäksi se lisää rakennus- ja käyttöönottoprosessin merkitystä.
Yhteenveto
Sulautetun ohjelmiston testaamisessa on joitain vaikeuksia, mikä tekee siitä vaikeampaa kuin tavallinen ohjelmistotestaus. Perimmäisin ongelma on tiukka riippuvuus laitteistoympäristöstä, joka valmistetaan samanaikaisesti ohjelmiston kanssa ja jota vaaditaan säännöllisesti luotettavan ohjelmistotestauksen suorittamiseksi. Joskus on jopa vaikeaa testata ohjelmistoa ilman räätälöityjä työkaluja, mikä tekee vaivattomasti keskittymisestä loppuvaiheessa tapahtuvaan testaukseen poikkeuksellisen houkuttelevaa.
Yksi tärkeimmistä asioista on se, että sinun pitäisi usein valita automaattinen ohjelmistotestaus. Sulautettu automaattinen testaus on nopeampi prosessi, jonka suorittaminen vie useita tunteja, ja tällä tavalla ohjelmistosi ongelma on ratkaistu.
