U ovom ćete tutorijalu naučiti
- Što su ugrađeni sustavi?
- Što je ugrađeno testiranje?
- Vrste ugrađenog testiranja softvera
- Razlika: ugrađeno testiranje i testiranje softvera
- Izazovi: Testiranje ugrađenog softvera
Što su ugrađeni sustavi?
Ugrađeni sustavi su elektronički upravljani uređaji u kojima su softver i hardver usko povezani. Ugrađeni sustavi mogu sadržavati razne računalne uređaje. To su računala ugrađena u druge uređaje za rad funkcija specifičnih za aplikaciju. Krajnji korisnik obično nije ni svjestan svog postojanja.
Ugrađeno testiranje
Ugrađeno testiranje postupak je ispitivanja za provjeru funkcionalnih i nefunkcionalnih atributa softvera i hardvera u ugrađenom sustavu i osiguravanje da konačni proizvod nema nedostataka. Glavna svrha ugrađenog testiranja je provjeriti i provjeriti ispunjava li konačni proizvod ugrađenog hardvera i softvera zahtjeve klijenta ili ne.
Testiranje ugrađenog softvera provjerava i osigurava li dotični softver dobre kvalitete i udovoljava li svim zahtjevima koje bi trebao ispunjavati. Testiranje ugrađenog softvera izvrstan je pristup koji jamči sigurnost u kritičnim aplikacijama poput medicinske opreme, željeznica, zrakoplovstva, industrije automobila itd. Stroga i pažljiva ispitivanja presudna su za dodjelu certifikata softvera.
Kako izvesti testiranje ugrađenog softvera
Općenito, testirate iz četiri razloga:
- Da biste pronašli programske pogreške
- Pomaže smanjiti rizik i za korisnike i za tvrtku
- Smanjite troškove razvoja i održavanja
- Za poboljšanje performansi
U ugrađenom testiranju izvode se sljedeće aktivnosti:
1. Softver ima neke ulaze.
2. Izvršen je dio softvera.
3. Promatra se stanje softvera i provjeravaju se izlazi u pogledu očekivanih svojstava, poput toga podudara li se izlaz s očekivanim ishodom, usklađenosti sa zahtjevima i odsustva pada sustava.
Vrste ugrađenog testiranja softvera
U osnovi, postoji pet razina testiranja koje se mogu primijeniti na ugrađeni softver
Testiranje softverske jedinice
Modul jedinice je ili funkcija ili klasa. Jedinstveno testiranje provodi razvojni tim, prvenstveno programer i obično se provodi u modelu recenzije. Na temelju specifikacije modula razvijaju se test slučajevi.
Ispitivanje integracije
Integracijsko ispitivanje možemo klasificirati u dva segmenta:
- Ispitivanje integracije softvera
- Ispitivanje integracije softvera / hardvera.
Na kraju se ispituje interakcija hardverske domene i softverskih komponenti. To može uključivati ispitivanje interakcije između ugrađenih perifernih uređaja i softvera.
Razvoj ugrađenog softvera ima jedinstvenu karakteristiku koja se fokusira na stvarno okruženje u kojem se softver pokreće, a obično se stvara paralelno sa softverom. To stvara neugodnosti za ispitivanje, jer se sveobuhvatno ispitivanje ne može provesti u simuliranom stanju.
Ispitivanje sistemske jedinice
Sada je modul koji se testira cjeloviti okvir koji se sastoji od cjelovitog softverskog koda, kao i svih operativnih sustava u stvarnom vremenu (RTOS) i dijelova koji se odnose na platformu, poput prekida, mehanizama zadataka, komunikacija i tako dalje. Protokol Point of Control više nije poziv na funkciju ili poziv metode, već poruka poslana / primljena koristeći RTOS redove poruka.
Resursi sustava promatraju se kako bi se procijenila sposobnost sustava da podrži izvršavanje ugrađenog sustava. Za ovaj je aspekt preferirana metoda testiranja u sivoj kutiji. Ovisno o organizaciji, testiranje sistemske jedinice ili je dužnost programera ili namjenskog tima za integraciju sustava.
Ispitivanje integracije sustava
Modul koji se testira započinje od skupa komponenata unutar jednog čvora. Točke nadzora i promatranja (PCO) mješavina su mrežnih komunikacijskih protokola i RTOS-a, poput mrežnih poruka i RTOS događaja. Uz komponentu, virtualni ispitivač može također igrati ulogu čvora.
Ispitivanje provjere valjanosti sustava
Modul koji se testira je podsustav s cjelovitom implementacijom ili cjelovitim ugrađenim sustavom. Cilj ovog završnog testa je ispuniti vanjske funkcionalne zahtjeve entiteta. Imajte na umu da vanjski entitet može biti osoba ili uređaj u telekomunikacijskoj mreži ili oboje.
Razlika: ugrađeno testiranje i testiranje softvera
Testiranje softvera | Ugrađeno testiranje |
---|---|
Testiranje softvera odnosi se samo na softver. | Ugrađeno testiranje povezano je i sa softverom i sa hardverom. |
Prosječno 90% testiranja u svijetu je čisto ručno testiranje crnih kutija. | Ugrađeno testiranje vrši se na ugrađenim sustavima ili čipovima, to može biti testiranje u crnoj ili bijeloj kutiji. |
Primarna područja testiranja su GUI provjere, funkcionalnost, provjera valjanosti i određena razina testiranja baze podataka. | Primarna područja ispitivanja su ponašanje hardvera za br. inputa koji su mu dati. |
Testiranje softvera uglavnom se izvodi na klijent-poslužitelju, web i mobilnim aplikacijama. | Ugrađeno testiranje koje se obično izvodi na hardveru. |
npr. Google Mail, Yahoo Mail, Android aplikacije. | npr. Strojevi iz domene zdravstvene zaštite, mikrokontroleri koji se koriste u računalima. |
Izazovi: Testiranje ugrađenog softvera
Neki od izazova s kojima se čovjek može suočiti tijekom testiranja ugrađenog softvera:
Ovisnost o hardveru
Ovisnost o hardveru jedna je od glavnih poteškoća s kojima se susreće tijekom testiranja ugrađenog softvera zbog ograničenog pristupa hardveru. Međutim, emulatori i simulatori možda neće precizno predstavljati ponašanje stvarnog uređaja i mogli bi dati pogrešan osjećaj performansi sustava i upotrebljivosti aplikacije.
Softver otvorenog koda
Većina ugrađenih softverskih komponenti u prirodi je otvorenog koda, a ne kreirana je vlastito i nema cjelovitog testa koji je za nju dostupan. Širok je raspon kombinacija testova i scenarija koji rezultiraju.
Softverski i hardverski nedostaci
Sljedeći je aspekt kada se razvija softver za svježe stvoreni hardver, tijekom kojeg se može utvrditi visok omjer hardverskih nedostataka. Pronađeni nedostatak jednostavno nije ograničen na softver. Može biti povezano i s hardverom.
Ponovljivi nedostaci
U slučaju ugrađenog sustava teže je reproducirati / ponovno stvoriti nedostatke. To nameće ugrađeni postupak ispitivanja kako bi svaku pojavu kvara vrednovao znatno više nego u standardnom slučaju, osim prikupljanja onoliko podataka koliko bi moglo biti razumno potrebno za izmjenu sustava kako bi se pronašao temelj kvara.
Kontinuirano ažuriranje softvera
Ugrađeni sustavi zahtijevaju redovita ažuriranja softvera poput nadogradnje jezgre, sigurnosnih popravaka, različitih upravljačkih programa uređaja itd. Ograničenja identificirana utjecajem ažuriranja softvera otežavaju identifikaciju programskih pogrešaka. Uz to, povećava značaj postupka izrade i implementacije.
Sažetak
Postoje neke poteškoće u testiranju ugrađenog softverskog testiranja što ga čini težim od redovnog testiranja softvera. Najosnovnije pitanje je čvrsto oslanjanje na hardversko okruženje koje se priprema istovremeno sa softverom i koje je redovito potrebno za pouzdano testiranje softvera. Ponekad je čak teško testirati softver bez prilagođenih alata, što usredotočenje na testiranje u kasnim fazama čini izuzetno primamljivim.
Jedna od najvažnijih stvari je ono o čemu biste trebali razmisliti je činjenica da biste se često trebali odlučiti za automatizirano testiranje softvera. Ugrađeno automatizirano testiranje brži je postupak koji bi trebao potrajati nekoliko sati, a na taj je način riješen problem vašeg softvera.