Tässä opetusohjelmassa opit
- Mitä sulautetut järjestelmät ovat?
- Mikä on upotettu testaus?
- Sulautettujen ohjelmistojen testaustyypit
- Ero: Sulautettu testaus ja ohjelmistojen testaus
- Haasteet: Sulautettujen ohjelmistojen testaus
Mitä sulautetut järjestelmät ovat?
Sulautetut järjestelmät ovat elektronisesti ohjattuja laitteita, joihin ohjelmistot ja laitteistot on kytketty tiukasti. Sulautetut järjestelmät voivat sisältää useita tietokonelaitteita. Nämä ovat tietokoneita, jotka on sisällytetty muihin laitteisiin sovelluskohtaisten toimintojen käyttämiseksi. Loppukäyttäjä ei yleensä edes ole tietoinen heidän olemassaolostaan.
Upotettu testaus
Sulautettu testaus on testausprosessi, jolla tarkistetaan sekä ohjelmiston että laitteiston toiminnalliset ja ei-toiminnalliset ominaisuudet sulautetussa järjestelmässä ja varmistetaan, että lopputuotteessa ei ole vikoja. Sulautetun testauksen päätarkoitus on tarkistaa ja vahvistaa, vastaako upotettujen laitteiden ja ohjelmistojen lopputuote asiakkaan vaatimuksia vai ei.
Sulautettujen ohjelmistojen testaus tarkistaa ja varmistaa, että kyseinen ohjelmisto on laadukas ja täyttää kaikki vaatimukset, jotka sen on täytettävä. Sulautettujen ohjelmistojen testaus on erinomainen tapa varmistaa turvallisuus kriittisissä sovelluksissa, kuten lääketieteellisissä laitteissa, rautateillä, ilmailussa, ajoneuvoteollisuudessa jne. Tiukka ja huolellinen testaus on ratkaisevan tärkeää ohjelmistosertifikaatin myöntämiseksi.
Kuinka suorittaa sulautettujen ohjelmistojen testaus
Testaat yleensä neljästä syystä:
- Ohjelmistovirheiden löytäminen
- Auttaa vähentämään sekä käyttäjille että yritykselle aiheutuvia riskejä
- Vähennä kehitys- ja ylläpitokustannuksia
- Suorituskyvyn parantamiseksi
Upotetussa testauksessa suoritetaan seuraavat toiminnot:
1. Ohjelmisto toimitetaan joidenkin tulojen kanssa.
2. Suoritetaan pala ohjelmistoa.
3. Ohjelmiston tila havaitaan ja lähdöt tarkistetaan odotettujen ominaisuuksien suhteen, kuten onko tulos vastaava odotettu lopputulos, vaatimustenmukaisuus ja järjestelmän kaatumisten puuttuminen.
Sulautettujen ohjelmistojen testaustyypit
Pohjimmiltaan on viisi testaustasoa, joita voidaan soveltaa sulautettuihin ohjelmistoihin
Ohjelmistoyksikön testaus
Yksikköyksikkö on joko funktio tai luokka. Yksikkötestauksen suorittaa kehitystiimi, pääasiassa kehittäjä, ja se suoritetaan yleensä vertaisarviointimallissa. Moduulin määrittelyn perusteella kehitetään testitapauksia.
Integraation testaus
Integraatiotestaus voidaan luokitella kahteen segmenttiin:
- Ohjelmistojen integrointitestaus
- Ohjelmiston / laitteiston integroinnin testaus.
Loppujen lopuksi testataan laitteistoalueen ja ohjelmistokomponenttien vuorovaikutus. Tähän voi sisältyä sisäisten oheislaitteiden ja ohjelmistojen vuorovaikutuksen tutkiminen.
Sulautettujen ohjelmistojen kehityksellä on ainutlaatuinen ominaisuus, joka keskittyy todelliseen ympäristöön, jossa ohjelmistoa käytetään, joka luodaan yleensä rinnakkain ohjelmiston kanssa. Tämä aiheuttaa haittaa testauksessa, koska kattavaa testausta ei voida suorittaa simuloidussa tilassa.
Järjestelmäyksikön testaus
Nyt testattava moduuli on täydellinen kehys, joka koostuu täydellisestä ohjelmistokoodista, lisäksi kaikista reaaliaikaisista käyttöjärjestelmistä (RTOS) ja alustoihin liittyvistä kappaleista, kuten keskeytyksistä, tehtävämekanismeista, viestinnästä ja niin edelleen. Point of Control -protokolla ei ole enää kutsu funktioon tai menetelmän kutsu, vaan pikemminkin RTOS-viestijonoja hyödyntävä lähetetty / saatu viesti.
Järjestelmän resursseja havaitaan arvioimaan järjestelmän kykyä tukea sulautetun järjestelmän suoritusta. Tässä suhteessa harmaata laatikkoa koskeva testaus on suosittu testausmenetelmä. Organisaatiosta riippuen järjestelmäyksikötestaus on joko kehittäjän tai erillisen järjestelmän integraatiotiimin tehtävä.
Järjestelmän integraation testaus
Testattava moduuli alkaa komponenttisarjasta yhdessä solmussa. Ohjauspisteet ja havainnot (PCO) ovat sekoitus verkkoon liittyviä yhteyskäytäntöjä ja RTOS: eja, kuten verkkoviestit ja RTOS-tapahtumat. Komponentin lisäksi virtuaalitesteri voi myös toimia solmun roolissa.
Järjestelmän validointitestaus
Testattava moduuli on osajärjestelmä, jossa on täydellinen toteutus, tai täydellinen sulautettu järjestelmä. Tämän testin tavoitteena on täyttää ulkoisen yksikön toiminnalliset vaatimukset. Huomaa, että ulkoinen yksikkö voi olla joko henkilö tai puhelinverkon laite tai molemmat.
Ero: Sulautettu testaus ja ohjelmistojen testaus
Ohjelmistojen testaus | Upotettu testaus |
---|---|
Ohjelmistojen testaus liittyy vain ohjelmistoihin. | Sulautettu testaus liittyy sekä ohjelmistoihin että laitteistoihin. |
Keskimäärin 90% testeistä maailmassa on puhtaasti manuaalista mustan laatikon testausta. | Upotettu testaus tehdään sulautetuissa järjestelmissä tai siruissa, se voi olla mustan tai valkoisen laatikon testaus. |
Testauksen ensisijaisia alueita ovat graafisen käyttöliittymän tarkastukset, toiminnallisuus, validointi ja tietyn tason tietokantatestaus. | Ensisijaiset testausalueet ovat laitteiston käyttäytyminen sille annetuista panoksista. |
Ohjelmistojen testaus suoritetaan pääasiassa asiakas-palvelin-, verkko- ja mobiilisovelluksissa. | Sulautettu testaus suoritetaan yleensä laitteistolle. |
esim. Google Mail, Yahoo Mail, Android-sovellukset. | esim. terveydenhuollon koneet, tietokoneissa käytettävät mikrokontrollerit. |
Haasteet: Sulautettujen ohjelmistojen testaus
Joitakin haasteita, joita voi kohdata sulautettujen ohjelmistojen testauksen aikana:
Laitteiden riippuvuus
Laitteiden riippuvuus on yksi suurimmista ongelmista sulautettujen ohjelmistojen testauksessa, koska laitteistoon on rajoitetusti pääsy. Emulaattorit ja simulaattorit eivät kuitenkaan välttämättä edusta tarkasti todellisen laitteen käyttäytymistä ja voivat antaa väärän käsityksen järjestelmän suorituskyvystä ja sovelluksen käytettävyydestä.
Avoimen lähdekoodin ohjelmisto
Suurin osa upotetuista ohjelmistokomponenteista on luonteeltaan avointa lähdekoodia, joita ei ole luotu sisäisesti, eikä täydellistä testiä ole käytettävissä. Testiyhdistelmiä ja niistä johtuvia skenaarioita on laaja valikoima.
Ohjelmisto vs. laitteistoviat
Toinen näkökohta on, kun ohjelmistoa kehitetään juuri luotua laitteistoa varten, tämän prosessin aikana voidaan havaita suuri laitteistovikojen suhde. Löydetty vika ei vain rajoitu ohjelmistoihin. Se voi liittyä myös laitteistoon.
Uusittavat viat
Vikoja on vaikeampaa toistaa / luoda uudelleen sulautetun järjestelmän tapauksessa. Tämä pakottaa sulautetun testausmenettelyn arvostamaan jokaisen vikatapahtuman huomattavasti korkeammalle kuin tavallisessa tapauksessa, paitsi keräämään niin paljon tietoa kuin mitä järkevästi tarvittaisiin järjestelmän muuttamiseksi vian perustan löytämiseksi.
Jatkuva ohjelmistopäivitys
Sulautetut järjestelmät edellyttävät säännöllisiä ohjelmistopäivityksiä, kuten ytimen päivitystä, tietoturvakorjauksia, erilaisia laiteohjaimia jne. Ohjelmistopäivityksiin vaikuttavat rajoitukset vaikeuttavat virheen tunnistamista. Lisäksi se lisää rakennus- ja käyttöönottomenettelyjen merkitystä.
Yhteenveto
Sulautettujen ohjelmistojen testauksessa on joitain vaikeuksia, mikä vaikeuttaa sitä kuin tavallinen ohjelmistojen testaus. Pohjimmiltaan ongelmana on tiukka luottamus laitteistoympäristöön, joka valmistetaan samanaikaisesti ohjelmiston kanssa ja jota vaaditaan säännöllisesti luotettavan ohjelmistotestauksen suorittamiseksi. Joskus on jopa vaikeaa testata ohjelmistoa ilman mukautettuja työkaluja, mikä tekee keskittymisestä myöhempien vaiheiden testaamiseen vaivattomasti poikkeuksellisen houkuttelevaa.
Yksi tärkeimmistä asioista on, että sinun pitäisi ajatella, on se, että sinun pitäisi usein valita automaattinen ohjelmistojen testaus. Sulautettu automaattinen testaus on nopeampi prosessi, jonka suorittaminen vie muutaman tunnin, ja tällä tavoin ohjelmistosi ongelma on ratkaistu.