Home Hardware Networking Programmazione Software Domanda Sistemi
Conoscenza del computer >> software >> ingegneria del Software >> .

Quali sono gli strumenti comuni utilizzati per l'automazione dei test software nel campo tecnologico incorporato e le aziende di sistema li utilizzano?

Gli strumenti utilizzati per l'automazione dei test software nei sistemi incorporati sono diversi, spesso a seconda delle esigenze di hardware, architettura software e test specifiche. Le aziende di sistema utilizzano assolutamente questi strumenti, poiché i test manuali di sistemi incorporati sono incredibilmente che richiedono tempo e sono soggetti all'errore, soprattutto date le interazioni hardware spesso complesse.

Ecco una ripartizione delle categorie ed esempi di strumenti comuni:

1. Framework di test: Questi forniscono la struttura e l'organizzazione per test automatizzati.

* Google Test (GTest): Un framework di test C ++ ampiamente utilizzato noto per la sua semplicità ed estensibilità. Comunemente usato in progetti incorporati che utilizzano C ++.

* Unity: Un framework di test unitari leggero e multipiattaforma adatto per progetti C e C ++. Popolare nei sistemi incorporati a causa della sua piccola impronta.

* cpputest: Un altro framework di test unitari C ++ specificamente progettato per sistemi incorporati, enfatizzando l'uso minimo delle risorse.

* CUNIT: Un framework di test unitari per C.

* TestComplete: Un quadro commerciale che supporta lo scripting in varie lingue e può automatizzare i test della GUI (anche se meno comuni direttamente in sistemi incorporati a metallo nudo)

2. Ambienti di esecuzione di test/corridori: Questi gestiscono la gestione delle suite di prova e la segnalazione dei risultati.

* Molti ides incorporano i corridori di test: Ad esempio, Eclipse CDT può integrarsi con framework come Google Test.

* Script personalizzati: Spesso, i team di sistemi incorporati scrivono i propri script (ad es. Usando Python o Bash) per orchestrare l'esecuzione dei test, in particolare per i test a livello di integrazione e a livello di sistema.

* Sistemi di integrazione continua/distribuzione continua (CI/CD): Jenkins, Gitlab CI, Azure DevOps, ecc., Sono comunemente usati per automatizzare il processo di build e test, anche per i sistemi incorporati. Questi spesso si integrano con i framework e i corridori di prova.

3. Strumenti specifici per hardware: Questi strumenti spesso colmano il divario tra il software di automazione dei test e l'hardware incorporato.

* Debugger JTAG: Strumenti come quelli di Segger, Lauterbach o ARM forniscono interfacce per debug e testare l'hardware a basso livello. Possono anche attivare test e catturare i risultati.

* Emulatori in circuito (ICE): Gli ICE consentono scenari di test più sofisticati rispetto a JTAG, spesso compresi le capacità di tracciamento e emulazione in tempo reale. Queste sono in genere soluzioni di fascia alta.

* Simulatori hardware-in-the-loop (HIL): Questi sono sistemi avanzati che simulano l'ambiente esterno del sistema incorporato, consentendo un test approfondito dell'interazione del sistema con il mondo reale senza la necessità di componenti fisici o situazioni potenzialmente pericolose.

* analizzatori di bus CAN/LIN/Ethernet: Questi strumenti acquisiscono e analizzano la comunicazione su autobus automobilistici e industriali, cruciali per testare sistemi incorporati che comunicano su questi protocolli.

* Analizzatori di oscilloscopio/logica: Per esame del segnale hardware diretto.

4. Strumenti di analisi della copertura del test: Questi misurano quanto accuratamente la suite di prova copra il codice.

* GCOV (GCC): Uno strumento integrato all'interno del compilatore GCC che fornisce informazioni sulla copertura del codice.

* Strumenti commerciali: Strumenti più sofisticati forniscono rapporti di copertura dettagliati, tra cui copertura della filiale, copertura delle condizioni e MC/DC (condizione modificata/copertura decisionale), che è spesso obbligatoria dagli standard di sicurezza (come ISO 26262).

5. Strumenti di gestione dei test: Questi aiutano a organizzare e gestire il processo di test.

* Jira, Azure Devops, TestRail: Questi sono strumenti comuni per la gestione dei casi di test, dei bug di monitoraggio e della segnalazione sui risultati dei test.

quali strumenti usano le aziende: La scelta dipende fortemente da fattori come:

* Budget: Strumenti open source come Google Test e Unity sono interessanti per motivi di costo. Gli strumenti commerciali offrono funzionalità più avanzate ma hanno un prezzo.

* Complessità del progetto: I progetti semplici possono richiedere solo un framework di test unitari, mentre i sistemi complessi richiederanno una suite più ampia di strumenti.

* Standard di sicurezza: Le applicazioni critiche sulla sicurezza (automobilistiche, aerospaziali, mediche) spesso richiedono l'uso di strumenti conformi a standard specifici e offrono analisi avanzate di copertura.

* Piattaforma hardware: Le interfacce di debug e hardware disponibili influenzeranno la scelta degli strumenti.

* Competenza del team: Le competenze del team di ingegneria determineranno la fattibilità dell'adozione e dell'utilizzo di strumenti particolari.

In sintesi, le aziende di sistema coinvolte nello sviluppo di sistemi incorporati utilizzano una vasta gamma di strumenti, spesso combinando opzioni open source e commerciali per creare un'infrastruttura di test su misura che soddisfi le loro esigenze specifiche e i requisiti del progetto. La tendenza è verso una maggiore automazione e integrazione con pipeline CI/CD.

 

software © www.354353.com