Ce este testarea încorporată în testarea software-ului?
⚡ Rezumat inteligent
Testarea încorporată verifică comportamentul funcțional și nefuncțional al software-ului și hardware-ului împreună, deoarece într-un sistem încorporat cele două sunt strâns legate între ele și niciunul nu poate fi validat corespunzător de unul singur.
Ce sunt sistemele încorporate?
Sisteme încorporate sunt dispozitive controlate electronic în care software-ul și hardware-ul sunt strâns legate între ele. Sistemele integrate 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 funcționalității și nefuncțional atributele atât ale software-ului, cât și ale hardware-ului dintr-un sistem integrat și asigurarea faptului că produsul final nu conține defecte. Scopul principal al testării integrate este de a verifica și valida dacă produsul final format din hardware și software integrat îndeplinește sau nu cerințele clientului.
Testarea software-ului încorporat verifică și 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 precum echipamentele medicale, căile ferate, aviația, industria auto etc. Testarea strictă și atentă este crucială pentru acordarea certificării software-ului.
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ă, se efectuează următoarele activități:
- Software-ul este furnizat cu câteva intrări.
- O parte a software-ului este executată.
- Starea software-ului este observată, iar ieșirile sunt verificate pentru proprietățile așteptate, cum ar fi dacă ieșirea corespunde rezultatului așteptat, conformitatea cu cerințele și absența erorilor de sistem.
Tipuri de testare software încorporat
Fundamental, există cinci niveluri de testare care pot fi aplicate software-ului încorporat.
Testarea unității software
Modulul unitar este fie o funcție, fie o clasă. Testarea unitară este efectuată de echipa de dezvoltare, în principal de dezvoltator, și se desfășoară de obicei într-un model de evaluare inter pares. Cazurile de testare sunt dezvoltate pe baza specificațiilor modulului.
Testare de integrare
Testarea integrării pot fi clasificate în două segmente:
- Testare de integrare software
- Testarea integrării software/hardware
În final, se testează interacțiunea dintre domeniul hardware și componentele software. Aceasta poate include examinarea interacțiunii dintre dispozitivele periferice încorporate și software.
Dezvoltarea de software embedded are o caracteristică unică: mediul real în care rulează software-ul este, în general, creat în paralel cu software-ul. Acest lucru cauzează inconveniente pentru testare, deoarece testarea completă nu poate fi efectuată într-o condiție simulată.
Testarea unității de sistem
Acum, modulul care urmează să fie testat este un framework complet care constă din codul software complet plus toate sistem de operare în timp real (RTOS) și componente legate de platformă, cum ar fi întreruperi, mecanisme de tasking, comunicații și așa mai departe. Protocolul Punct de Control nu mai este un apel către o funcție sau o invocare a unei metode, ci mai degrabă un mesaj trimis sau 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 cutiei gri este metoda de testare preferată. În funcție de organizație, testarea unității de sistem este fie sarcina dezvoltatorului, fie a unei echipe dedicate de integrare a sistemului.
Testarea integrării sistemului
Modulul care urmează să fie testat pornește de la un set de componente dintr-un singur nod. Punctele de control și observații (PCO) sunt o combinație de protocoale de comunicație legate de rețea și evenimente RTOS, cum ar fi mesajele de rețea. Pe lângă o componentă, un tester virtual poate juca și rolul unui nod.
Testarea de validare a sistemului
Modulul care urmează să fie testat este un subsistem cu o implementare completă sau sistemul încorporat complet. Obiectivul acestui test final este de a îndeplini cerințele funcționale ale entității externe. Rețineți că o entitate externă poate fi o persoană, un dispozitiv dintr-o rețea de telecomunicații sau ambele.
Diferență: testare încorporată și testare software
Tabelul de mai jos compară testarea încorporată cu cea convențională 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 pur manuale. testare cutie neagră. | Testarea integrată se face pe sisteme sau cipuri integrate și poate fi de tip cutie neagră sau testarea cutiei albe. |
| 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 numărul de intrări care îi sunt date. |
| Testarea software-ului este efectuată în principal pe aplicații client-server, web și mobile. | Testarea încorporată se efectuează, î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 cineva în timpul testării software-ului încorporat:
Dependența de hardware
Dependența de hardware este printre principalele dificultăți întâmpinate în timpul testării software-ului embedded, din cauza accesului limitat la hardware. Cu toate acestea, emulatoarele și simulatoarele pot să nu reprezinte cu precizie comportamentul dispozitivului real și ar putea oferi o imagine greșită a performanței sistemului și a utilizabilității aplicației.
Software-ul open source
Majoritatea componentelor software încorporate sunt de tip open source, nu sunt create intern și nu există o suită completă de teste disponibilă pentru acestea. 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 dezvoltat pentru hardware nou creat. În timpul acestui proces poate fi identificată o rată 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 sau recreat în cazul unui sistem integrat. Acest lucru obligă procedura de testare integrată să evalueze fiecare apariție a defectelor substanțial mai mult decât într-un caz standard și să colecteze cât mai multe date posibil necesare pentru a găsi cauza principală a defectului.
Actualizări continue de software
Sistemele integrate necesită actualizări regulate de software, cum ar fi upgrade-uri ale kernel-ului, corecții de securitate, diferite drivere de dispozitiv etc. Restricțiile asociate cu actualizările de software îngreunează identificarea erorilor. În plus, acest lucru sporește importanța procedurii de construire și implementare.
