Il testing nei progetti software

CHE COS’È

L’identificazione tempestiva di difetti nella definizione dei requisiti, nella progettazione e nella realizzazione del software è un tassello imprescindibile per la salvaguardia degli investimenti IT. Attraverso un processo di testing strutturato, è possibile gestire proattivamente i rischi legati allo sviluppo e garantire il rispetto dei requisiti del cliente, mantenendo al contempo il controllo dei vincoli, dei tempi e del budget progettuali.

All’interno del corso, il testing viene proposto come una vera e propria professione e inquadrato in una dimensione organizzativa più ampia, che comprenda le responsabilità specifiche all’interno del processo e le relazioni con il Project Management e la gestione del rischio.

OBIETTIVI DEL CORSO

  • Approfondire i principi, l’approccio e le attività riguardanti il processo di testing.
  • Fornire le competenze per pianificare ed eseguire i test in modo compatibile con la gestione del ciclo di vita del software.
  • Promuovere l’utilizzo di un linguaggio comune per migliorare la comunicazione con gli stakeholder di progetto.

“La qualità non è mai casuale, è sempre il risultato di uno sforzo intelligente.” (John Ruskin)

Calendario dei corsi

PERSONALE DOCENTE

I docenti HSPI sono certificati CTFL® (Certified Tester Foundation Level) e sono formatori anche per le tematiche di IT Governance, Ingegneria dei Requisiti ed Enterprise Architecture. Hanno maturato un’esperienza pluriennale nella gestione di progetti IT presso clienti nei settori Banking, Transportation e Pubblica Amministrazione, il che permette di portare in aula esempi pratici di applicazione dei concetti trattati.

CONTENUTI DEL CORSO

-Introduzione al Software Testing

  • Perché è necessario testare: casi pratici, differenze tra le root cause e i suoi sintomi, impatti sulla qualità
  • Che cos’è il Software Testing: obiettivi e scopo
  • I principi: descrizione delle sette regole fondamentali del testing
  • Le attività del processo
  • Aspetti psicologici e codice etico

-Il testing nel ciclo di vita del software

  • Modelli di sviluppo del software: V-model, modello iterativo
  • Livelli di test: component testing, integration testing, system testing, acceptance testing
  • Tipologie di test: funzionale, non-funzionale, strutturale, re-testing e regression testing

-Tecniche statiche

  • Importanza delle tecniche statiche nel processo di assessment
  • Processo di ispezione: fasi, ruoli e responsabilità di un processi di verifica formale
  • Strumenti per l’analisi statica: obiettivi e differenze rispetto all’analisi dinamica

-Tecniche di progettazione dei test

  • Processo di sviluppo dei test
  • Definizione dei test: differenze tra i vari approcci e relative applicazioni
  • Tecniche basate su specifiche (Black-box), su aspetti strutturali (White-box), su esperienza
  • Criteri per la scelta delle tecniche adatte per le diverse situazioni

-Test Management

  • Come organizzare, pianificare e stimare i test
  • Monitoraggio dell’avanzamento e controllo
  • Relazioni con il processo di Configuration Management
  • Risk Management: perché il testing viene influenzato da e influenza i rischi del progetto

-Benefici e rischi legati all’utilizzo dei tool di testing