Ercole Colonese

Consulenza di direzione e IT

Home |  Sviluppo software | Gestione servizi IT | Gestione progetti | Test e collaudi | Competenze relazionali | Servizi | Pubblicazioni | Chi sono | Info

ISO/IEC 29119 Software Testing

Sito Web

Home > Testing ...

Software testing

> ISO/IEC 29119 Software Testing

TMMi, Testing Maturity Model

TPI, Test Process Improvement

SWEBOK e Testing

Testing come "best practice"

 

Necessità di uno standard specifico per il testing

La nuova norma nasce dall'esigenza di mettere ordine alla pletora di standard esistente sul testing. Fino a poco tempo prima, infatti, l'attività di test era documentata da diversi standard, alcuni incompleti e altri contradditori come, ad esempio, IEEE 829 che trattava la documentazione sul testing in maniera incompleta, IEEE 1008, uno standard limitato allo Unit Testing, BS 7925-1 e -2, anch'essi dedicati al test unitario.

Era evidente, quindi, la necessità di sopperire a mancanze evidenti e definire:

  • in maniera completa e strutturata anche dei test di integrazione, di sistema e di accettazione;

  • un modello esplicito di processo di test;

  • strategie e politiche per il testing;

  • un processo, in particolare, di gestione del testing nei progetti software;

  • tecniche specifiche di testing;

  • test non-funzionali. che coprano l'intero ciclo di vita;

I professionisti del software che si dedicano alle attività di testing hanno finalmente uno standard - ISO/IEC 29119 Software Testing - che indirizza tutti gli aspetti mancanti in maniera completa ed efficace (a mio avviso). Uno standard "scritto dai professionisti del testing per i professionisti del testing".

Struttura dello standard ISO/IEC 29119

Lo standard ISO/IEC 29119 è composto da quattro parti cui si è aggiunta una quinta parte dedicata alla valutazione del processo:

  • Part 1: Concepts & Vocabulary

  • Part 2: Processes

  • Part 3: Documentation

  • Part 4: Testing Techniques

  • Part 5: Test Process Assessment

La figura che segue mostra le relazioni tra le parti della norma con riferimento agli altri standard da cui ha preso spunto e che ricopre (e rende obsoleti).

ISO/IEC 29119

Alla data solo le parti 2 e 3 sono disponibili e a pagamento; la parte 4 sarà disponibile entro la fine di quest'anno e la parte 1 l'anno prossimo.

Part 1: Concepts & Vocabulary

La prima parte, non ancora disponibile, prevede di fornire un'introduzione al testing del software e la descrizione delle sue relazioni con le atre attività di sviluppo e di manutenzione. Fornirà inoltre una panoramica sulle implicazioni delle attività di testing nei vari modelli di ciclo di vita del software, inclusi i modelli "agili". Fornirà inoltre una descrizione dei vari approcci al testing. Sarà fornito, infine, un utile vocabolario dei termini utilizzati nel testing al fine di creare una base comune di comprensione tra i vari addetti al settore.

Part 2: Testing Processes

Il modello dei processi che sottendono alle attività di testing copre l'intero perimetro delle attività, dando rilievo al processo organizzativo (strategia e politiche di testing), a quelli gestionali (gestione dei test nel progetto) e a quelli di esecuzione vera e propria (test statico e test dinamico).

La figura che segue mostra il modello dei processi definiti dallo standard in oggetto.

Test Process Model

Ciascun'area di processo prevede più processi definiti nei loro componenti di base e negli input e output che li relazionano gli uni agli altri. La figura che segue mostra le relazioni tra le aree di processo (Test Process Model, a sinistra) e i vari processi contenuti in ciascun'area (a destra).

Processi e stottoprocessi

Lo standard fornisce ulteriori scomposizioni per ciascun processo. A titolo di esempio si mostra nella figura che segue il dettaglio del processo "Test Management Process", il processo di gestione del testing nei progetti. Si può notare come vengano evidenziati gli input/output del processo e le relazioni con gli altri processi. 

  ISO29119_TestManagementProcesses

Il livello di dettaglio cui si giunge per ciascun processo del modello è molto accurato e completo. Oltre a figure chiarificatrici con i flussi dei processi (Workflow), si fornisce una descrizione molto ampia di ciascun processo in termini di Scopo, Artefatti prodotti, Attività e compiti, Informazioni di dettaglio.

Part 3: Documentation

La parte relativa alla documentazione è molto ricca e fornisce nelle appendici esempi pratici di come costruire i vari documenti previsti dallo standard. La descrizione della documentazione è organizzata secondo la loro tipologia:

  • Organizational: descrive la documentazione relativa alle politiche e alle strategie per il testing.

  • Project: descrive la documentazione richiesta a livello di progetto: Project Test Plan e Test Completion Report .

  • Testing: descrive la documentazione tecnica più specifica del testing: Test Specification, Test Results, Incident Reports, Test Environment Report, Test Status Report, Test Completion Report .

  • Appendices: fornisce esempi di documenti da produrre.

Part 4: Testing Techniques

La parte relativa alle tecniche di testing è molto ricca e le descrive raggruppandole secondo categorie specifiche:

  • Specification-Based Testing Techniques: qui sono descritte le tecniche di testing guidate dalle specifiche del prodotto: Equivalent Partitioning, Classification Tree Method, Boundary Value Analysis, State Transition Testing, Cause-Effect Graphing e molte altre.

  • Structure-Based Testing Techniques: qui sono descritte invece le tecniche di testing basate sulla struttura del  codice: Statement Testing, Branch Testing, Decisione Testing, Condition Testing, Data Flow Testing.

  • Quality-Related Types of Testing: qui sono infine descritte le tecniche di testing relative alle caratteristiche del prodotto e al suo utilizzo e alla sua gestione: Accessibility Testing, Backup/Recovery Testing, ecc. 

Part 5: Testing Process Assessment

Durante lo sviluppo dello standard è stato deciso di aggiungere una quinta parte dedicata alla valutazione del processo di testing. Essa sarà inclusa (quasi certamente, a meno di modifiche durante lo sviluppo in corso) in una nuova versione dello standard ISO/IEC 15504 Information Technology - Process Assessment (meglio conosciuto come SPICE) nella serie 33000:

  • ISO/IEC 33063 Process Assessment Model for Software testing Processes

Conclusioni

Il nuovo standard internazionale fornisce ai professionisti del testing delle linee guida che coprono tutti gli aspetti del ciclo di vita. Esso fornisce un insieme consistente di definizioni, processi, procedure, tecniche e modelli per la documentazione del testing. Sarà adottato da IEEE, BSI, ISO/IEC e da altri standard nazionali. Lo standard è stato rivisto da moltissimi specialisti del settore delle nazioni che hanno partecipato (chi scrive ha avuto il piacere di partecipare alle attività di revisione dello standard, anche se in maniera indiretta).

News/Articoli/Libri

Collaudo e qualità del software

ISO/IEC 29119 Software Testing (articolo)

Psicologia ed economicità del testing (articolo)

 

Workshop sul testing (02/03/2012)

Locandina

ISO/IEC 29119 Software Testing

Testing Techniques

 

Sviluppo software nelle piccole organizzazioni (06/12/2011)

Locandina

ISO/IEC 29110 Software Engineering for VSE

 

Seminario sul testing (29/11/2010)

Locandina

Presentazione del seminario

Introduzione al testing

Organizzazione del testing

Il testing nel ciclo di vita del software

Quali test eseguire

Metodi e tecniche del testing

Continuous Integration & Testing

 

Collegamenti utili/Links

ISO/IEC 29119 Software Testing

Software Testing Portal (Wikipedia)

Guide to SWEBOK (ISO/IEC 19759)

Testing Maturity Model (TMMi)

Software Testing Forum (STF) 2012

Italian Software testing Qualification Board (ITA STQB)

International Software Testing Qualification Board (ISTQB)

Glossary of Testing Terms

Association for Software Testing (AST)

 

Ercole Colonese © 2005-2012 | Home | Mappa del sito | Pubblicazioni | Chi sono | Info |