În acest tutorial, veți învăța
- Ce sunt sistemele încorporate?
- Ce este testarea încorporată?
- Tipuri de testare software încorporat
- Diferență: testare încorporată și testare software
- Provocări: Testarea software-ului încorporat
Ce sunt sistemele încorporate?
Sistemele încorporate sunt dispozitivele controlate electronic în care software-ul și hardware-ul sunt strâns legate. Sistemele încorporate pot conține o varietate de dispozitive de calcul. Acestea sunt PC-uri încorporate în alte dispozitive pentru a opera funcții specifice aplicației. Utilizatorul final de obicei nici măcar nu este conștient de existența sa.
Testare încorporată
Testarea încorporată este un proces de testare pentru verificarea atributelor funcționale și nefuncționale ale software-ului și hardware-ului într-un sistem încorporat și asigurarea faptului că produsul final nu prezintă defecte. Scopul principal al testării încorporate este de a verifica și valida dacă produsul final al hardware-ului și software-ului încorporat îndeplinește sau nu cerințele clientului.
Testarea software-ului încorporat verifică și asigură faptul că software-ul în cauză este de bună calitate și respectă toate cerințele pe care ar trebui să le îndeplinească. Testarea software încorporată este o abordare excelentă pentru a garanta securitatea în aplicații critice, cum ar fi echipamentele medicale, căile ferate, aviația, industria vehiculelor, etc. Testarea strictă și atentă este crucială pentru acordarea certificării software.
Cum se efectuează testarea software-ului încorporat
În general, testați din patru motive:
- Pentru a găsi erori în software
- Ajută la reducerea riscului atât pentru utilizatori, cât și pentru companie
- Reduceți costurile de dezvoltare și întreținere
- Pentru a îmbunătăți performanța
În Testarea încorporată, sunt efectuate următoarele activități:
1. Software-ul este furnizat cu unele intrări.
2. Se execută o parte din software.
3. Starea software-ului este observată, iar ieșirile sunt verificate pentru proprietățile așteptate, cum ar fi dacă ieșirea se potrivește cu rezultatul așteptat, conformitatea cu cerințele și absența blocării sistemului.
Tipuri de testare software încorporat
În principiu, există cinci niveluri de testare care pot fi aplicate software-ului încorporat
Testarea unității software
Modulul unității este fie o funcție, fie o clasă. Testarea unitară este realizată de echipa de dezvoltare, în primul rând de dezvoltator și este de obicei efectuată într-un model de evaluare inter pares. Pe baza specificațiilor modulului sunt dezvoltate cazuri de testare.
Testarea integrării
Testarea integrării poate fi clasificată în două segmente:
- Testarea integrării software-ului
- Testarea integrării software / hardware.
În cele din urmă, interacțiunea dintre domeniul hardware și componentele software sunt testate. Aceasta poate include examinarea interacțiunii dintre dispozitivele periferice încorporate și software.
Dezvoltarea software-ului încorporat are o caracteristică unică care se concentrează pe mediul real, în care este rulat software-ul, fiind în general creat în paralel cu software-ul. Acest lucru cauzează inconveniente pentru testare, deoarece testarea cuprinzătoare nu poate fi efectuată într-o stare simulată.
Testarea unității de sistem
Acum modulul care urmează să fie testat este un cadru complet care constă din cod software complet, în plus, toate sistemele de operare în timp real (RTOS) și piesele legate de platformă, cum ar fi întreruperi, mecanisme de sarcini, comunicații și așa mai departe. Protocolul Point of Control nu mai este un apel către o funcție sau o invocare a unei metode, ci mai degrabă un mesaj trimis / primit folosind cozile de mesaje RTOS.
Resursele sistemului sunt observate pentru a evalua capacitatea sistemului de a sprijini execuția sistemului încorporat. Pentru acest aspect, testarea cu cutie gri este metoda de testare preferată. În funcție de organizație, testarea unității de sistem este fie datoria dezvoltatorului, fie a unei echipe dedicate de integrare a sistemului.
Testarea integrării sistemului
Modulul de testat începe de la un set de componente dintr-un singur nod. Punctele de control și observații (PCO) sunt un amestec de protocoale de comunicații legate de rețea și RTOS, cum ar fi mesaje de rețea și evenimente RTOS. În plus față de o componentă, un Virtual Tester poate juca, de asemenea, rolul unui nod.
Testarea validării sistemului
Modulul de testat este un subsistem cu o implementare completă sau sistemul complet încorporat. Obiectivul acestui test final este de a îndeplini cerințele funcționale ale entității externe. Rețineți că o entitate externă fie este o persoană, fie un dispozitiv dintr-o rețea de telecomunicații, fie ambele.
Diferență: testare încorporată și testare software
Testarea software-ului | Testare încorporată |
---|---|
Testarea software-ului este legată numai de software. | Testarea încorporată este legată atât de software, cât și de hardware. |
În medie, 90% teste efectuate în lume sunt teste pur manuale de cutie neagră. | Testarea încorporată se face pe sisteme încorporate sau cipuri, poate fi o testare cutie neagră sau albă. |
Domeniile principale de testare sunt verificările GUI, funcționalitatea, validarea și un anumit nivel de testare a bazei de date. | Principalele domenii de testare sunt comportamentul hardware-ului pentru nr. de intrări date acestuia. |
Testarea software-ului este efectuată în principal pe aplicații client-server, web și mobile. | Testarea încorporată efectuată în general pe hardware. |
de exemplu, Google Mail, Yahoo Mail, aplicații Android. | de exemplu, Mașini din domeniul asistenței medicale, Microcontrolere utilizate în computere. |
Provocări: Testarea software-ului încorporat
Unele dintre provocările cu care se poate confrunta în timpul testării software-ului încorporat:
Dependența hardware
Dependența hardware este una dintre principalele dificultăți cu care se confruntă în timpul testării software încorporat din cauza accesului limitat la hardware. Cu toate acestea, emulatoarele și simulatoarele pot să nu reprezinte cu exactitate comportamentul dispozitivului real și ar putea da un sentiment greșit de performanță a sistemului și de utilizare a aplicației.
Software open source
Majoritatea componentelor software încorporate sunt open source în natură, nu sunt create intern și nu există test complet pentru aceasta. Există o gamă largă de combinații de testare și scenarii rezultate.
Defecte software vs. hardware
Un alt aspect este atunci când se dezvoltă software pentru un hardware proaspăt creat, în timpul acestui proces poate fi identificat un raport ridicat de defecte hardware. Defectul găsit nu se limitează doar la software. Poate fi legat și de hardware.
Defecte reproductibile
Defectele sunt mai greu de reprodus / recreat în cazul sistemului încorporat. Acest lucru impune procedura de testare încorporată pentru a aprecia fiecare apariție a defectului mult mai mare decât într-un caz standard, altul decât pentru a aduna cât de multe date ar putea fi necesare în mod sensibil pentru a modifica sistemul pentru a găsi fundamentul defectului.
Actualizări software continue
Sistemele încorporate necesită actualizări de software regulate, cum ar fi actualizarea kernel-ului, remedieri de securitate, diferite drivere de dispozitiv etc. Constrângerile identificate cu influența actualizărilor de software îngreunează identificarea erorilor. În plus, crește semnificația procedurii de construire și implementare.
rezumat
Există unele dificultăți în testarea testelor software încorporate, ceea ce îl face mai dificil decât testarea software obișnuită. Cea mai fundamentală problemă este dependența strânsă de mediul hardware care este pregătit simultan cu software-ul și care este necesar în mod regulat pentru a efectua teste software fiabile. Uneori este chiar dificil să testați software-ul fără instrumente personalizate, ceea ce face ca concentrarea asupra testării în etapele târzii să fie extrem de atrăgătoare.
Unul dintre cele mai importante lucruri la care ar trebui să vă gândiți este faptul că ar trebui să optați adesea pentru testarea automată a software-ului. Testarea automată încorporată este un proces mai rapid, care ar dura câteva ore pentru a fi finalizat și, în acest fel, problema software-ului dvs. este soluționată.