Verifica, Validazione e Testing del Software

L’evoluzione e il progresso tecnologico stanno portando ad un progressivo incremento della complessità dei sistemi utilizzati in ogni campo (impianti, macchine, veicoli, sistemi automatizzati, sistemi di controllo…). In particolare, poi, la crescente automatizzazione rende il software più fondamentale, spesso anche con importanti funzioni di sicurezza.

In tale contesto, assicurare elevati standard di qualità e sicurezza diventa ogni giorno più sfidante: è indispensabile affiancare ai progettisti e ai sviluppatori software, un team indipendente che svolga attività di verifica, validazione e testing del Software.

In tal modo, è possibile rilevare “bachi”, errori e criticità già in fase di progettazione, prima del deployment del sistema, massimizzandone quindi la qualità, l’efficienza e la sicurezza.

Da oltre 15 anni NIER Ingegneria svolge attività di verifica, validazione e testing software embedded per applicazioni safety-critical e non, contribuendo allo sviluppo di prodotti efficienti, efficaci e sicuri.

In generale, vengono sviluppati “Cicli a V”, in accordo con la normativa applicabile, partendo dalle attività di verifica e/o stesura dei documenti di design, passando per l’ispezione del codice sorgente per verifiche di sicurezza, l’analisi statica e dinamica del codice sorgente al fine di verificarne l’aderenza alle Coding Rules, fino allo svolgimento di test di componente software, di integrazione software e di Integrazione software/hardware, arrivando infine alla validazione del software.

I test funzionali in laboratorio completano le attività di validazione, testando il software sulla piattaforma hardware “target” al fine di far emergere i problemi di integrazione tra moduli differenti, non rilevabili mediante test eseguiti solo sul software.

A tale scopo, il team di test progetta gli scenari da verificare sulla base delle specifiche dei requisiti, definisce le procedure di test del software, esegue il set-up e la configurazione dell’ambiente di test in laboratorio, analizzando poi le cause di eventuali anomalie o deviazioni.

 

Servizi offerti

  • Verifica dei documenti di design:
    • Requisiti SW
    • Architettura SW
    • Specifiche di componente
  • Test del SW, mediante test di Componente Sw, di Integrazione SW e di Integrazione SW/HW, con in particolare:
    • Definizione di specifiche e procedure di Test
    • Esecuzione di Test e redazione di Test Report
    • Assistenza al Debug e analisi anomalie
    • Gestione anomalie e Change Request (Configuration Management)
  • Ispezione statica del codice sorgente per sistemi safety critical
  • Analisi statica della qualità del codice sorgente in accordo alle Coding Rules ritenute applicabili (ad esempio, norme MISRA C/C++ o coding rules interne)
  • Validazione SW
  • Verifica e Validazione di dati applicativi e dati di configurazione di sistemi safety-critical
  • Test Funzionali e di Integrazione di Sistema in laboratorio
  • Set up e configurazione dell’ambiente di test
  • Progettazione degli scenari e dei casi di test
  • Specifica delle procedure di test
  • Esecuzione test in laboratorio (ambiente simulato / target reali)
  • Redazione del Test Report
  • Debug e analisi anomalie
  • Gestione anomalie e Change Request (Configuration Management)
  • Sviluppo di simulatori per test funzionali in laboratorio
  • Sviluppo di script per automatizzazione dei test
  • Sviluppo di tool di analisi customizzati all’applicazione
  • Redazione Analisi di impatto

 

Metodologie/tecniche

  • Checklist
  • Input Partitioning and Equivalence Classes
  • Boundary Value Analysis
  • Static Analysis
  • Dynamic Analysis
  • Functional/Black-box Testing
  • White Box testing
  • Interface Testing
  • Performance Testing
  • Regression testing
  • System Acceptance testing
  • Accessibility/Usability testing
  • System Integration testing
  • Hardware in the Loop testing
  • Software Error Effect Analysis
  • Matrici di tracciabilità
  • Code Coverage
  • Impact Analysis
  • Modelling

Tools

  • Microsoft Visual Studio
  • IBM Rational Test Real Time
  • VectorCAST
  • Microsoft SQL Server R2 con Microsoft SQL Server Management Studio (SSMS)
  • Understand
  • PCLint
  • FxCop
  • Protocols analyzer (Ethernet / Seriale)
  • Linguaggi di programmazione e scripting (C,C++,python,VBasic)
  • Gestione di Strumentazione da laboratorio (Biomedicali, telecomunicazioni)
  • Strumenti di debug codice sorgente
  • Matlab
  • Sw processing ed analisi immagini
  • Sw gestione Database (SqLite)

Standard di riferimento

EN50126, EN50128, MISRA C/C++, ISO 26262, IEC 62304

NEWS: 

Articolo del 11/02/2023: Railway Simulation Tools: simulazione delle comunicazioni in ambito ERTMS.

Articolo 15/11/2022: Verifica e Validazione Interfaccia Uomo-Macchina Vitale (V-HMI) per il segnalamento ferroviario.

Articolo 17/05/2022: Critical Code Review: il software nato per la sicurezza di tutti.

Articolo 14/12/2021: Software Testing – Intervista ad alta velocità

 

CASI DI SUCCESSO:

ERTMS/ETCS: SIMULATORI PER LO SCAMBIO DI MESSAGGI TRA IL RADIO BLOCK CENTER ED ENTI DI SEGNALAMENTO.

RICHIEDI INFORMAZIONI .

    CASI DI SUCCESSO .