Što je ugrađeno testiranje u testiranju softvera?
Što su ugrađeni sustavi?
Ugrađeni sustavi su elektronički kontrolirani uređaji u kojima su softver i hardver čvrsto povezani. Ugrađeni sustavi mogu sadržavati različite računalne uređaje. To su računala ugrađena u druge uređaje za upravljanje funkcijama specifičnim za aplikaciju. Krajnji korisnik najčešće nije ni svjestan njihovog postojanja.
Ugrađeno testiranje
Ugrađeno testiranje je postupak testiranja 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 potvrditi ispunjava li konačni proizvod ugrađenog hardvera i softvera zahtjeve klijenta ili ne.
Testiranje ugrađenog softvera provjerava i osigurava da je dotični softver dobre kvalitete i da je u skladu sa svim zahtjevima koje treba ispuniti. Testiranje ugrađenog softvera izvrstan je pristup jamčenju sigurnosti u kritičnim aplikacijama kao što su medicinska oprema, željeznice, zrakoplovstvo, industrija vozila itd. Strogo i pažljivo testiranje ključno je za dodjelu certifikacije softvera.
Kako izvršiti testiranje ugrađenog softvera
Općenito, testirate iz četiri razloga:
- Za pronalaženje grešaka u softveru
- Pomaže smanjiti rizik za korisnike i 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. Dio softvera je izvršen.
3. Promatra se stanje softvera, a izlazi se provjeravaju za očekivana svojstva kao što je podudara li se izlaz s očekivanim ishodom, usklađenost sa zahtjevima i odsutnost pada sustava.
Vrste testiranja ugrađenog softvera
U osnovi, postoji pet razina testiranja koje se mogu primijeniti na ugrađeni softver
Testiranje programske jedinice
Jedinični modul je ili funkcija ili klasa. Jedinično testiranje provodi razvojni tim, prvenstveno programer i obično se provodi u modelu recenzije. Na temelju specifikacije modula razvijaju se testni slučajevi.
Ispitivanje integracije
Integracijsko testiranje može se klasificirati u dva segmenta:
- Testiranje integracije softvera
- Testiranje integracije softvera/hardvera.
Na kraju se testira 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 izvodi, općenito se stvara paralelno sa softverom. To uzrokuje neugodnosti za testiranje jer se sveobuhvatno testiranje ne može izvesti u simuliranim uvjetima.
Testiranje jedinice sustava
Sada je modul koji se testira puni okvir koji se sastoji od kompletnog softverskog koda dodatno sve operativni sustav u stvarnom vremenu (RTOS) i dijelove koji se odnose na platformu kao što su prekidi, mehanizmi zadavanja, komunikacije i tako dalje. Protokol Point of Control više nije poziv funkciji ili poziv metode, već poruka poslana/dobivena korištenjem RTOS redova poruka.
Promatraju se resursi sustava kako bi se procijenila sposobnost sustava da podrži izvršenje ugrađenog sustava. Za ovaj aspekt, testiranje u sivoj kutiji je omiljena metoda ispitivanja. Ovisno o organizaciji, testiranje sistemske jedinice dužnost je programera ili posebnog tima za integraciju sustava.
Testiranje integracije sustava
Modul koji se testira počinje od skupa komponenti unutar jednog čvora. Točke kontrole i promatranja (PCO) su mješavina mrežnih komunikacijskih protokola i RTOS-a, kao što su mrežne poruke i RTOS događaji. Osim komponente, Virtualni tester također može igrati ulogu čvora.
Testiranje valjanosti sustava
Modul koji se testira je podsustav s potpunom implementacijom ili kompletan ugrađeni sustav. Cilj ovog konačnog testa je ispuniti funkcionalne zahtjeve vanjskog entiteta. Imajte na umu da vanjski entitet može biti ili osoba, ili uređaj u telekom 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 odnosi se i na softver i na hardver. |
U prosjeku 90% testiranja u svijetu je čisto ručno testiranje crne kutije. | Ugrađeno testiranje provodi se na ugrađenim sustavima ili čipovima, a može biti testiranje pomoću crne ili bijele kutije. |
Primarna područja testiranja su provjere GUI-ja, funkcionalnost, provjera valjanosti i određena razina testiranja baze podataka. | Primarna područja testiranja su ponašanje hardvera za br. inputa koji su mu dati. |
Testiranje softvera uglavnom se provodi na klijent-poslužitelj, web i mobilnim aplikacijama. | Ugrađeno testiranje općenito se provodi na hardveru. |
npr. Google Mail, Yahoo Mail, Android aplikacija. | npr. Strojevi u zdravstvenoj domeni, Mikrokontroleri koji se koriste u računalima. |
Izazovi: testiranje ugrađenog softvera
Neki od izazova s kojima se možete suočiti tijekom testiranja ugrađenog softvera:
Ovisnost o hardveru
Ovisnost o hardveru jedna je od glavnih poteškoća s kojima se susreću tijekom testiranja ugrađenog softvera zbog ograničenog pristupa hardveru. Međutim, emulatori i simulatori možda neće točno predstavljati ponašanje stvarnog uređaja i mogu dati pogrešan dojam o performansama sustava i upotrebljivosti aplikacije.
Softver otvorenog izvora
Većina ugrađenih softverskih komponenti po prirodi je otvorenog koda, nisu izrađene unutar tvrtke i za njih nema dostupnog cjelovitog testa. Postoji širok raspon testnih kombinacija i rezultirajućih scenarija.
Softver naspram hardverskih nedostataka
Drugi aspekt je kada se softver razvija za svježe kreirani hardver, tijekom ovog procesa može se identificirati visok omjer hardverskih nedostataka. Pronađeni nedostatak jednostavno nije ograničen na softver. To također može biti povezano s hardverom.
Ponovljivi nedostaci
Nedostatke je teže reproducirati/ponovno stvoriti u slučaju ugrađenog sustava. To nameće ugrađenu proceduru testiranja za vrednovanje svake pojave kvara znatno više nego u standardnom slučaju, osim prikupljanja onoliko podataka koliko bi razumno moglo biti potrebno za promjenu sustava kako bi se pronašao temelj kvara.
Stalna ažuriranja softvera
Ugrađeni sustavi zahtijevaju redovita ažuriranja softvera kao što su nadogradnja kernela, sigurnosni popravci, različiti upravljački programi uređaja itd. Ograničenja identificirana s utjecajem ažuriranja softvera otežavaju identifikaciju grešaka. Dodatno, povećava značaj postupka izgradnje i postavljanja.
rezime
Postoje neke poteškoće u testiranju testiranja ugrađenog softvera koje ga čine težim od običnog testiranja softvera. Najosnovniji problem je usko oslanjanje na hardversko okruženje koje se priprema istovremeno sa softverom i koje je redovito potrebno za izvođenje pouzdanog testiranja softvera. Ponekad je čak i teško testirati softver bez prilagođenih alata, što bez napora čini koncentriranje na testiranje u kasnim fazama iznimno primamljivim.
Jedna od najvažnijih stvari o kojoj biste trebali razmišljati jest činjenica da se često trebate odlučiti za automatizirano testiranje softvera. Ugrađeno automatizirano testiranje je brži proces za koji bi trebalo nekoliko sati da se dovrši, i na taj način je problem vašeg softvera riješen.