Ce este testarea încorporată în testarea software-ului?
Ce sunt sistemele încorporate?
Sistemele încorporate sunt dispozitivele controlate electronic în care software-ul și hardware-ul sunt strâns cuplate. 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 lor.
Testare încorporată
Testare î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 pentru a se asigura că produsul final nu are defecte. Scopul principal al testării Embedded este de a verifica și valida dacă produsul final de hardware și software încorporat îndeplinește sau nu cerințele clientului.
Testarea software-ului încorporat verifică și se asigură că software-ul în cauză este de bună calitate și respectă toate cerințele pe care ar trebui să le îndeplinească. Testarea software-ului încorporat este o abordare excelentă pentru a garanta securitatea în aplicații critice, cum ar fi echipamente medicale, căi ferate, aviație, 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 prevăzut cu unele intrări.
2. O bucată din software este executată.
3. Starea software-ului este observată și ieșirile sunt verificate pentru proprietățile așteptate, cum ar fi dacă rezultatul se potrivește cu rezultatul așteptat, conformitatea cu cerințele și absența blocărilor 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 efectuată 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.
Testare de integrare
Testarea de integrare poate fi clasificată în două segmente:
- Testare de integrare software
- Testare de integrare software/hardware.
În final, interacțiunea dintre domeniul hardware și componentele software sunt testate. Aceasta poate include examinarea interacțiunii dintre dispozitivele periferice încorporate și software.
Dezvoltarea de software încorporat are o caracteristică unică care se concentrează pe mediul real, în care software-ul este rulat, este î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 codul software complet și în plus tot sistem de operare în timp real (RTOS) și piese 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 la o funcție sau o invocare a unei metode, ci mai degrabă un mesaj trimis/primit utilizând cozile de mesaje RTOS.
Resursele sistemului sunt observate pentru a evalua capacitatea sistemului de a sprijini execuția sistemului încorporat. Pentru acest aspect, testare cu caseta gri este metoda de testare preferată. În funcție de organizație, testarea unității de sistem este fie datoria dezvoltatorului, fie o echipă dedicată de integrare a sistemului.
Testarea integrării sistemului
Modulul de testat începe de la un set de componente într-un singur nod. Punctele de control și observații (PCO) sunt o combinație de protocoale de comunicații legate de rețea și RTOS, cum ar fi mesajele de rețea și evenimentele RTOS. În plus față de o componentă, un tester virtual poate juca, de asemenea, rolul unui nod.
Testarea de validare a 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 o persoană, fie un dispozitiv dintr-o rețea de telecomunicații, sau ambele.
Diferență: testare încorporată și testare software
Testare software | 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% din testele efectuate în lume sunt testari pur manuale ale cutiei negre. | Testarea încorporată se face pe sisteme sau cipuri încorporate, poate fi o cutie neagră sau o cutie albă. |
Domeniile principale de testare sunt verificările GUI, funcționalitatea, validarea și un anumit nivel de testare a bazei de date. | Domeniile principale de testare sunt comportamentul hardware-ului pentru nr. de intrări care îi sunt date. |
Testarea software-ului este efectuată în principal pe aplicații client-server, web și mobile. | Testarea încorporată este efectuată în general pe Hardware. |
de exemplu, Google Mail, Yahoo Mail, Android aplicatii. | de exemplu, mașini din domeniul sănătății, microcontrolere utilizate în computere. |
Provocări: testarea software-ului încorporat
Câteva dintre provocările cu care se poate confrunta în timpul testării software-ului încorporat:
Dependența de hardware
Dependența de hardware este printre principalele dificultăți cu care se confruntă în timpul testării software-ului î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 oferi un sentiment greșit al performanței sistemului și al gradului de utilizare a aplicației.
Software-ul open source
Majoritatea componentelor software încorporate sunt de natură open source, nu sunt create intern și nu există un test complet disponibil pentru acesta. Există o gamă largă de combinații de teste și scenarii rezultate.
Defecte software vs. hardware
Un alt aspect este atunci când software-ul este în curs de dezvoltare pentru un hardware proaspăt creat, în timpul acestui proces se poate identifica un raport mare 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 evalua fiecare apariție a defectului substanțial mai mult decât într-un caz standard, în afară de a colecta cât mai multe date ar putea fi necesare în mod sensibil pentru a modifica sistemul pentru a găsi fundamentul defectului.
Actualizări continue de software
Sistemele încorporate necesită actualizări regulate de software, cum ar fi actualizarea kernelului, remedieri de securitate, diferite drivere de dispozitiv etc. Constrângerile identificate cu influența actualizărilor software fac identificarea erorilor dificilă. În plus, crește importanța procedurii de construire și implementare.
Rezumat
Există unele dificultăți în testarea testării software-ului încorporat, ceea ce o face mai dificilă decât testarea obișnuită a software-ului. 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 excepțional de atrăgătoare.
Unul dintre cele mai importante lucruri la care ar trebui să vă gândiți este faptul că deseori ar trebui să optați pentru testarea automată a software-ului. Testarea automată încorporată este un proces mai rapid, care ar dura câteva ore pentru a se finaliza și, în acest fel, problema software-ului dvs. este rezolvată.