Accelerare la conformità agli standard di sicurezza per C ... · Viene fornita gratuitamente una...

6
Accelerare la conformità agli standard di sicurezza per C & C++ con il test di unità e di integrazione automatizzato di Cantata CERTIFIED Testing Dinamico Driving embedded software quality

Transcript of Accelerare la conformità agli standard di sicurezza per C ... · Viene fornita gratuitamente una...

Accelerare la conformità agli standard di sicurezza per C & C++

con il test di unità e di integrazione automatizzato di Cantata

CERTIFIED

Test ing Dinamico

Driving embedded software quality

Perché i leader di settore utilizzano Cantata

Ridurre il rischio di guasti del software

Il richiamo di prodotti e la contaminazione della più ampia fama aziendale e del marchio possono superare di gran lunga i costi di sviluppo delle singole applicazioni. Il test di Unità è il modo più completo per testare il codice dell‘applicazione e prevenire i bug nei dispositivi che vengono distribuiti.

Gli slittamenti del progetto possono essere attenuati spostando l‘attività di verifica alle prime fasi del ciclo di vita di sviluppo del software. Ciò riduce i rischi di ritardi nel corso delle successive fasi di test, perché i componenti testati con il test di unità sono più facili e prevedibili da integrare.

Le vertenze contro le aziende e i privati oggi rappresentano un rischio sempre maggiore. Quando le aziende non si servono di consu-etudini di settore ampiamente accettate, come un approfondito test di unità con Cantata, in tali contenziosi esse non possono avva-lersi della difesa legale basata sullo „stato dell‘arte“.

Minori costi di test

Effettuare i test in anticipo riduce i costi, minimizzando il lavoro di rielaborazione del codice nelle fasi successive dello sviluppo. Gli sviluppa-tori possono identificare i difetti con il test di unità e di integrazione di Cantata non appena è disponibile ogni componente.

L‘elevato costo per la conformità alle norme del test di unità e di integrazione può essere drasticamente ridotto attraverso l‘automazione. I requisiti di test dinamico per le norme di sicurezza vengono soddisfatti in modo più veloce e conveniente con l’automazione di Cantata di:

› Generazione di Test Framework › Esecuzione di Test su Host o su Target› Generazione di Test Case › Generazione di Diagnostiche e di Report sui risultati

L‘integrazione di strumenti in una toolchain può fare aumentare i costi di test nascosti. La stretta integrazione di Cantata con gli ambienti di cross-compilazione, e i suoi test intuitivi in codice C / C ++ in Eclipse® o editor di codice, lo rendono di facile inserimento in qualsiasi toolchain. È più rapido da imparare e più conveniente da utilizzare, come lo vogliono gli sviluppatori.

Ridurre i tempi di lancio sul mercato

I leader di settore riconoscono l‘esigenza di spedire rapidamente senza mettere a rischio la qualità. I test di Cantata offrono due vantaggi fondamentali in termini di tempo per i direttori dello sviluppo.

› La collaborazione e l’efficienza del team sono migliorate con test strutturati uniformi e report pronti per la certificazione. › I tempi di integrazione sono più brevi e più prevedibili quando si integrano componenti software collaudati singolarmente.

Taglio dei costi di conformità alle norme

Cantata soddisfa i requisiti dei test dinamici delle norme di sicurezza del software. È una soluzione unica per il test dinamico di unità e di integrazione su piattaforme target e host.

La certificazione degli strumenti di sviluppo può rappresentare un onere pesante a livello di costi di conformità. Cantata è stato certificato in maniera indipendente da SGS-TÜV SAAR GmbH, e fornisce gratuitamente un kit di certificazione degli strumenti con tutto l’occorrente già pronto e disponibile gratuitamente. Capire come rispettare le norme di sicurezza del software è complesso e richiede tempo.

Viene fornita gratuitamente una guida completa all’uso delle potenti funzioni di Cantata per soddisfare ogni requisito di test dinamico di specifiche norme. Questa combinazione di consulenza e di capacità permette a Cantata di dimostrare la conformità alle norme in modo più rapido e più economico.

TÜV certificato per: › ISO 26262:2011 (Automotive) › EN 50128:2011 (Ferroviario) › IEC 62304:2006 (Medico) › IEC 61508:2010 (Industriale) › IEC 60880:2006 (Nucleare)

Qualificabile per: › DO-178B› DO-178C / DO-330› Altri standard a seconda delle

esigenze

Caratteristiche di Cantatain evidenza

› Creazione di casi di test e test har-ness automatizzati.

› Ampio supporto di piattaforme e integrazioni di toolchain.

› Interfaccia Utente Eclipse® di facile utilizzo e test scritti in C/C++ .

› Tracciabilità bidirezionale dei requisiti.

› Comando esclusivo di interfaccia delle chiamate per simulare e intercettare le chiamate.

› Analisi di copertura del codice integ-rata.

› Test di regressione automatizzato.

› Kit gratuito di certificazione degli strumenti per tutti i principali stan-dard di sicurezza.

Tipi di test supportati

black-box / white-box

positivo / negativo

requisiti / robustezza

set di dati in ingresso singoli / grandi

procedurale / object oriented

intercettazione delle chiamate /

simulazione

isolamento / integrazione

esecuzione su host / su target

di nuovo genere / di regressione

Cantata si installa su sistemi operativi Windows® e Linux®, con un IDE Eclipse® integrato, o come un set di plug-in per Eclipse®. Supporta i compilatori GCC e Microsoft Developer Studio® ed è integrato anche con un ampio set di toolchain di sviluppo embedded:

IDEs / RTOSs Cross-compilatori Debugger

Per avere conferma degli strumenti e delle piattaforme supportate, contattare QA Systems.

Utilizzo illimitato di target embedded

Per gli ambienti target, un wizard incorporato consente installazioni illimitate e l’utilizzo senza alcuna restrizione di licenza. I deployment di Cantata sono costituiti da librerie e opzioni di configurazione compatibili a livello binario con il proprio codice. Gli stessi sono testati e verificati per l’uso certificato su progetti relativi alla sicurezza.

Test agevole e flessibile su target

I test di Cantata (script di test in C/C++ indipendenti dalla piattaforma e deployment spe-cifici per le singole piattaforme) vengono generati come eseguibili in C/C++, scaricati ed eseguiti su una piattaforma target, proprio come si farebbe con il proprio codice, mediante:

Simulatore Emulatore Board Target fisico

I risultati dei test funzionali e di copertura del codice vengono rimandati all‘host per la diagnostica e la reportistica. Il processo è completamente automatizzato utilizzando i Makefile di Cantata, gli script di test e le personalizzazioni di piattaforma per un test facile e flessibile su target, dalle interfacce utente o a linee di comando.

Il codice utente è gestito tramite script di test portatili con librerie compatibili con il target, e costruito come un unico file di test eseguibile per potere essere eseguito su mol-teplici piattaforme host o target. La strumentazione viene utilizzata per l‘accesso white-box e la copertura, per cui il codice di produzione non viene mai modificato per i test.

Build / Integrazione continua Gestione della configurazione software Gestione dei requisiti

Cantata funziona con il vostro ambiente

Host di Sviluppo Target

Build

Copia del Codice

Sorgente

Ogge� Chiama�

Esecuzionea�

Specifica per il Target

Indipendente vdal Target

Strumenta� per il Tes�ng

Libreria di Cantata

Script di Test

Eseguibile del Test

Struttura di test flessibile

Una struttura di test flessibile (script di test e una libreria di supporto) consente qualsiasi combinazione di stili di test per entrambi test di unità e test di integrazione scalabile. I test pos-sono essere editati in una GUI o direttamente come codice C / C ++, e vengono eseguiti come eseguibili sia su host che su diverse piattaforme target.

Testing Black/White-box

La creazione altamente automatizzata di test case offre potenza e precisione per i test black-box e i test white-box più efficienti e approfonditi. Il potente test black-box è attivato con un loop di test parametrizzati selezionabili dall’utente o predefiniti, un cal-colatore a effetto combinatorio e l’import / export CSV per grandi insiemi di dati. Il preciso test white-box attraverso la strumenta-zione di Cantata accede automaticamente al codice incapsulato direttamente dallo script di test, senza compilazione condizionale, consentendo il controllo di funzioni e dati statici e privati.

Test di solidità

Il test di solidità è agevolato grazie ai Set di Regole di Cantata dei valori predefiniti per i tipi di dati di base, in un loop di Test Case. Tutti i dati globali accessibili vengono controllati automaticamen-te alla ricerca di modifiche accidentali.

Test object oriented

I test in stile object oriented di Cantata sono implementati come classi per i metodi di test, modelli o gruppi di classi. Includono funzioni automatizzate di:

› riutilizzo dei test case attraverso una gerarchia di eredità parallela

› struttura di eredità delle classi di test per classi ereditate.› attuazione concreta di classi astratte di base (ABC) o metodi

puramente virtuali.

Per spezzare la catena di dipendenza delle classi e agevolare il test di segregazione C ++, Cantata rileva e risolve automaticamente le dipendenze da riferimenti indefiniti non chiamati direttamente dal software soggetto a test.

AutoTest

L’AutoTest di Cantata genera script di test di unità completi. I vettori dei test case possono esercitare la copertura del 100% del codice durante la verifica dei dati, dei parametri e dell‘ordine delle chiamate. L’AutoTest crea una rete di sicurezza dei test di regres-sione per ridurre la dipendenza da costosi sistemi di test, e chiude automaticamente i vuoti nella copertura del codice.

Un controllo unico delle chiamate

Cantata genera automaticamente i controlli di test sia per simula-re (stub) che intercettare (wrap) tutte le chiamate di funzione dal software soggetto a test, fornendo:

› controlli automatici opzionali su parametri e dati› molteplici casi per comportamenti di chiamata differenziati› verifica flessibile degli ordini di chiamata in ogni test case› rilevamento errori nell‘interfaccia e introduzione di errori › test di accoppiamento

I Wrapper intercettano le chiamate per verificare il comportamen-to simulato effettivo, non presunto, dell’oggetto chiamato. Qualora la simulazione non sia possibile o auspicabile (chiamate interne all‘integrazione, chiamate del sistema operativo, interfac-ce hardware, ecc.), i wrapper forniscono un potente controllo delle chiamate, unico di Cantata

Tracciamento dei requisiti

La tracciabilità bidirezionale dei requisiti o dei piani di test è richiesta da tutte le norme relative alla sicurezza. I requisiti o i set di piani di test vengono importati in un server Cantata, i rap-porti vengono assegnati con una interfaccia drag-and-drop e poi esportati con la situazione dei risultati dei test di Cantata e le informazioni sulla copertura del codice.

L’import/export può avvenire tramite CSV, XML, Microsoft Excel® oppure tramite un‘integrazione on-site diretta di un‘interfaccia applicativa (API) di strumenti che configura la Trace perché si adatti al flusso di lavoro e la specifica versione dello strumento di gestione dei requisiti (ad esempio IBM DOORS, PTC Integrity®, Polarion®). Il server è anche dotato di una API REST completa.

Copertura del codice

La copertura di codice in Cantata fornisce la misurazione oggettiva della profondità raggiunta dai test nell‘esecuzione del codice sorgente (guidato o meno dai test di Cantata). I set di regole di copertura di Cantata specifici per ogni Norma lo rendono facile da usare, automatizzando la strumentazione, la presentazione dei dati e il controllo integrato dei livelli di copertura del codice richiesti.

La copertura del codice è misurata utilizzando i seguenti parame-tri:

› Punti di Entrata› Ritorni di Chiamata› Dichiarazioni› Blocchi di Base› Decisioni (rami)› Condizioni› MC/DC (Mascheratura e varianti di cause uniche)› Loop› Operatori relazionali

Una diagnostica di precisione può filtrare o aggregare la copertura di interi alberi di codice di progetto, fare sondaggi a livello di singole strutture di codice, all‘interno di ogni linea di codice, per test case, test run e tipo metrico e contesto di codice (eredità, fili, Stati, accoppiamento di dati, eccetera). L‘ottimizzazione automatica dei test case aiuta la scelta dei vettori dei test case da grandi set di dati e riduce i costi generali dei test di regressione.

Test Continui

I Makefile di Cantata sono generati automaticamente al momento della creazione del test per compilare, linkare, dislocare, eseguire, e recuperare i risultati per le suite dei test in modalità batch. Possono essere usati con make file esistenti, e sono facilmente integrabili con strumenti di integrazione continua open source o commerciali.

Test statici sincronizzati

Cantata è integrato con gli strumenti di analisi statica QA-C e QA-C ++ per mante-nere sincronizzati i processi di test dinami-ci e statici.

Qualora siano installati sia Cantata che QA Framework, si può lanciare automaticamente una rianalisi in QA-C++ del codice sor-gente modificato nel workspace di Cantata, per assicurarsi imme-diatamente che tali cambiamenti siano conformi ai requisiti di analisi statica.

Diagnostica e reporti

Cantata fornisce, all’interno dell’Interfaccia Eclipse, potenti dia-gnostiche filtrabili dei risultati di test e di copertura del codice, e report flessibili configurabili dall’utente in XML, HTML e testo ASCII pronti per la certificazione.

Add-on opzionale: Team Reporting

Il prodotto aggiuntivo Cantata Team Reporting, con un‘architettura client-server, interfaccia web e REST API, permette ai team distribuiti di lavorare in modo più efficace. Consultare la scheda tecnica di Team Reporting per maggiori dettagli.

Richiedi una demo

Contattaci per organizzare una demo di Cantata via web o in loco fatta su misura per le esi-genze del vostro team di test

Conoscilo meglio

Per maggiori informazioni, visita il sito web di Cantata.

Fai la prova gratuita

Inizia una prova gratuita di Cantata con il tuo codice. Prova il prodotto completo avvalendoti del supporto tecnico per tutto il peri-odo di valutazione.

Referenze dei Clienti

„Siamo molto colpiti dalla serie dei test del software ad alta integrità in campo all‘ionico, nelle applicazioni militari e, naturalmente in medicina. Per noi è stata una scelta naturale.“ Urs Reidt, Direttore Ricerche e Sviluppo

„Uso Cantata ormai da diversi anni per convalidare e testare software aereo critico per la sicurezza. Lo strumento si è dimostrato eccezionale e abbastanza semplice nella sua complessità generale.“ „Cantata è semplice da imparare e da utilizzare.“ Johnny Johansson, Direttore degli Strumenti di Convalida e di Verifica

„L‘impiego sistematico di Cantata ci ha consentito di avere la fase di test di unità più breve possibile con una grande efficienza in termini di costi.“

Philippe Lomazzi, Capo dello Sviluppo Software

„Dopo anni di esperienza nei test di unità utilizzando Cantata per varie piattaforme e diverse lingue ... siamo sicuri nel suggerire Cantata ai nostri clienti.“

Padmakumar TV, Tecnico specializzato senior

„Parlando in modo prudente, probabilmente questo prodotto si è ripagato già almeno due volte!“ John Duckett, Direttore Progetti Speciali

“Module testing early during development is becoming more important due to the increasing complexity of software. In

practice Cantata has proved successful and increased unit testing efficiency. Cantata from QA Systems offers an ideal solution for the creation and execution of unit and integration tests, including coverage analysis.“ Matthias Schmidt, Testmanagement, Verification and Validation

Bosch Engineering GmbH

www.qa-systems.it/tools/cantata

QA Systems Ltd • Tel +39 335 402888 • www.qa-systems.it With offices in Stuttgart, Germany | Bath, UK | Paris, France | Milan, Italy