TESTING

Il testing è l’attività formale volta a verificare la completa realizzazione da parte del sistema (hardware + software) di quanto richiesto nella specifica dei requisiti. Esso viene eseguito nell’ambito di un piano di test redatto sin dall’inizio del progetto assieme alla specifica dei requisiti.

Il piano di test prevede un insieme di procedure dalle seguenti caratteristiche fondamentali:

  • Presenza di passi chiari e precisi, comprensibili ed eseguibili anche da chi non abbia partecipato alla progettazione.
  • Presenza di metodi di registrazione e documentazione scritta dei risultati.

Il testing viene da noi realizzato nelle seguenti forme:

Testing software a livello di modulo

  • Durante lo sviluppo software ogni modulo viene caratterizzato dalla sua funzione di ingresso-uscita.
  • Ogni modulo può pertanto essere verificato fornendogli ogni ingresso previsto e verificando l’uscita attesa.
  • Questa procedura viene eseguita con moduli software di test appositamente progettati.
    Inoltre:
  • Il testing viene eseguito sul microcontrollore previsto sull’hardware finale.
  • Il modulo di test, sfruttando le risorse di input-output del microcontrollore, invia le uscite del modulo oggetto del test ad un PC, dove, tramite appostio software, i dati raccolti possono essere ulteriormente elaborati ed archiviati ai fini della certificazione.

Testing di integrazione software

  • L’intero software o parti di esso possono poi essere testate con modalità analoghe alle precedenti.
  • In questo caso, oltre a quanto descritto in precedenza, il testing assume le seguenti caratteristiche:
  • Il microcontrollore viene utilizzato nella configurazione (memorie, tempi di accesso, ecc.) finale.
  • Può essere utilizzato parte dell’hardware finale, per permettere il fuzionamento del software in condizioni reali.
  • Moduli hardware di test possono essere progettati, in modo da sollecitare il software nelle condizioni reali di funzionamento.

Testing hardware

Per un esaustivo testing dell’hardware sono adottate le seguenti soluzioni:

  • Costruzione di moduli harware di collaudo.
  • Progetto di apposito software di collaudo.

Questa strumentazione può poi essere utilizzata anche durante il processo produttivo, per il collaudo delle singole schede, gruppi, ecc.

Testing di integrazione hardware – software

  • In questo caso si adotta un approccio di tipo black-box: il sistema viene quindi visto come una entità inscindibile della quale si deve verificare il comportamento.
  • In questo caso, il riferimento sono le specifiche dei requisiti di sistema.
  • Come nei casi precedenti, possono comunque essere utilizzati sistemi hardware e software appositamente progettati al fine di fornire al sistema tutti gli ingressi possibile e di registrarne le uscite.

Altre suddivisioni del processo di testing, trasvesali rispetto alle precedenti, poste in atto al fine di una efficacia e copertura ancora meggiori, sono:

  • Testing delle sicurezze
  • Testing delle funzionalità utente
  • Testing delle funzionalità per il personale di servizio