← Tutti i programmi

Scheda Testing

Categoria Software engineering e architettura

MODALITÀ DI EROGAZIONE: Web Classroom

DURATA: 24 ore

DESCRIZIONE BREVE: Il corso integra i contenuti teorici del programma ISTQB Foundation Level con un modulo pratico dedicato agli strumenti per il testing e il collaudo di Web Services REST e SOAP. L’obiettivo generale è quello di acquisire padronanza dei concetti chiave del testing secondo gli standard ISTQB e capacità operative nell’uso degli strumenti di collaudo per progettare, automatizzare e gestire test di Web Services REST e SOAP.

METODOLOGIA DIDATTICA:

Lezioni teoriche con molte esercitazioni pratiche

MODULI DIDATTICI:

PROGRAMMA DIDATTICO

MODULO 1: Fondamenti del Testing

CONTENUTI

Cos’è il Testing: Obiettivi Tipici del Testing; Testing e Debugging

Perché il Testing è Necessario: Contributi del Testing al Successo; Quality Assurance e Testing; Errori, Difetti e Failure; Difetti, Root Cause ed Effetti

I Sette Principi del Testing

Il Processo di Test: Processo di Test nel Contesto; Attività e Compiti del Test; Prodotti di Lavoro del Test; Tracciabilità tra Base di Test e Prodotti di Lavoro del Test

La Psicologia del Testing: Psicologia Umana e Testing; Mentalità di Tester e Sviluppatori

OBIETTIVI

Fornire ai partecipanti una comprensione approfondita dei concetti fondamentali del testing del software, del suo ruolo nel ciclo di vita dello sviluppo e della differenza tra testing e debugging. Il modulo intende sviluppare la consapevolezza del valore del testing come strumento di prevenzione dei difetti, di garanzia della qualità e di supporto al miglioramento continuo del prodotto e dei processi.

SAPERE:

Al termine del modulo, i partecipanti conosceranno

Gli obiettivi e le finalità del testing e le sue differenze rispetto al debugging.

Le ragioni per cui il testing è necessario, il contributo alla qualità del software e al successo del progetto.

I concetti chiave di errore, difetto e failure, con la distinzione tra root cause ed effetti sul sistema.

I sette principi del testing e il loro impatto sulla progettazione e sull’esecuzione delle attività di test.

Il processo di test nel contesto del ciclo di vita del software: fasi, attività, prodotti di lavoro e tracciabilità tra base di test e risultati.

Gli aspetti di psicologia del testing, con particolare attenzione alla mentalità del tester e alle differenze di approccio rispetto allo sviluppatore.

SAPER FARE:

Al termine del modulo, i partecipanti saranno in grado di

Distinguere in modo corretto tra testing e debugging, identificando le responsabilità di ciascun ruolo.

Applicare i principi fondamentali del testing nella pianificazione e conduzione delle attività di test.

Analizzare un processo di sviluppo software e individuare punti di integrazione del processo di test.

Produrre e leggere prodotti di lavoro del test (es. casi di test, report, tracciabilità dei requisiti).

Riconoscere e classificare errori, difetti e failure, descrivendone cause ed effetti.

Adottare un atteggiamento critico e analitico, proprio della mentalità del tester, per migliorare la qualità del prodotto e del processo di sviluppo.

MODULO 2: Il Testing all’interno del Ciclo di Vita dello Sviluppo Software

CONTENUTI

Modelli del Ciclo di Vita dello Sviluppo Software: Sviluppo del Software e Testing del Software; Modelli del Ciclo di Vita dello Sviluppo Software nel Contesto

Livelli di Test: Testing di Componente; Testing di Integrazione; Testing di Sistema; Testing di Accettazione

Tipi di Test: Testing Funzionale; Testing Non-Funzionale; Testing White-box; Testing Relativo a Modifiche; Tipi di Test e Livelli di Test

Testing di Manutenzione: Trigger per la Manutenzione; Analisi degli Impatti per la Manutenzione

OBIETTIVI

Approfondire il ruolo del testing nel ciclo di vita dello sviluppo software e comprendere come i diversi modelli di sviluppo influenzino la pianificazione e l’esecuzione delle attività di test. Il modulo mira a fornire ai partecipanti una visione sistematica dei livelli e tipi di test, nonché delle attività di manutenzione e regressione, sviluppando la capacità di collocare il testing in modo efficace nel contesto organizzativo e tecnologico del progetto.

SAPERE:

Al termine del modulo, i partecipanti conosceranno

I principali modelli del ciclo di vita del software (a cascata, iterativo, agile, DevOps) e il ruolo del testing all’interno di ciascuno.

La relazione tra attività di sviluppo e attività di test nelle varie fasi del ciclo di vita.

I diversi livelli di test

Testing di componente (unit testing)

Testing di integrazione

Testing di sistema

Testing di accettazione

I tipi di test: funzionale, non-funzionale, white-box, regression e testing relativo a modifiche.

Le differenze tra i livelli di test e i tipi di test, e il modo in cui si combinano nelle strategie di collaudo.

Le caratteristiche del testing di manutenzione, i trigger che lo attivano e le modalità di analisi dell’impatto delle modifiche.

SAPER FARE:

Al termine del modulo, i partecipanti saranno in grado di

Identificare il punto di inserimento del testing nei diversi modelli di sviluppo (Waterfall, Agile, V-Model, ecc.).

Progettare e descrivere una strategia di test multilivello, coerente con il ciclo di vita adottato.

Selezionare e combinare tipi di test appropriati in funzione degli obiettivi di qualità e delle caratteristiche del sistema.

Analizzare un sistema software per definire attività di integrazione e accettazione coerenti con i requisiti.

Pianificare attività di testing di manutenzione e regressione a seguito di modifiche o correzioni.

Interpretare e comunicare i risultati del testing nel contesto del ciclo di vita, favorendo la collaborazione tra sviluppatori, tester e stakeholder.

MODULO 3: Testing Statico

CONTENUTI

Fondamenti del Testing Statico: Prodotti di Lavoro che possono essere Esaminati dalTesting Statico; Benefici del Testing Statico; Differenze fra Testing Statico e Dinamico

Processo di Review: Processo di Review dei Prodotti di Lavoro; Ruoli e Responsabilità in una Review Formale; Tipi di Review; Applicare Tecniche di Review; Fattori di Successo per le Review

OBIETTIVI

Far comprendere ai partecipanti il valore e le finalità del testing statico come attività preventiva per individuare difetti già nelle prime fasi del ciclo di sviluppo. Il modulo si propone di illustrare il processo di review dei prodotti di lavoro, le differenze tra tecniche statiche e dinamiche, e i fattori che ne determinano l’efficacia in termini di qualità, tempi e costi.

SAPERE:

Al termine del modulo, i partecipanti conosceranno

I fondamenti del testing statico e il suo ruolo nel processo di assicurazione qualità.

I tipi di prodotti di lavoro che possono essere esaminati tramite tecniche statiche (requisiti, design, codice, piani di test, documentazione).

I benefici del testing statico, in termini di prevenzione dei difetti e riduzione dei costi di manutenzione.

Le differenze tra testing statico e testing dinamico, sia in termini di obiettivi che di metodi applicativi.

Le fasi del processo di review e i relativi ruoli e responsabilità (autore, moderatore, revisore, scribe).

I principali tipi di review: informale, walkthrough, review tecnica, inspection.

Le tecniche di review e i fattori di successo che rendono efficace un processo di analisi statica.

SAPER FARE:

Al termine del modulo, i partecipanti saranno in grado di

Applicare tecniche di review appropriate in base al tipo di prodotto di lavoro da verificare.

Contribuire a una review formale, assumendo ruoli e responsabilità coerenti con le best practice ISTQB.

Identificare errori, omissioni e incongruenze nei documenti di analisi, requisiti o design prima della fase di esecuzione del test.

Utilizzare checklist e modelli di review per migliorare la qualità del processo di verifica.

Valutare l’impatto del testing statico sul miglioramento della qualità complessiva del software e sull’efficienza del ciclo di sviluppo.

Documentare correttamente i risultati di una review e comunicare in modo efficace le osservazioni agli stakeholder tecnici e funzionali.

MODULO 4: Tecniche di Test

CONTENUTI

Categorie di Tecniche di Test: Categorie di Tecniche di Test e loro Caratteristiche

Tecniche di Test Black-box: Partizionamento di Equivalenza; Analisi ai Valori Limite; Testing della Tabella delle Decisioni; Testing delle Transizioni di Stato; Testing degli Use Case

Tecniche di Test White-box: Testing e Copertura delle Istruzioni; Testing e Copertura delle Decisioni; Il Valore del Testing delle Istruzioni e delle Decisioni

Tecniche di Test Basate sull’Esperienza: Error Guessing; Testing Esplorativo; Testing Checklist-Based

OBIETTIVI

Fornire ai partecipanti la conoscenza e la padronanza delle principali tecniche di progettazione dei test, con l’obiettivo di migliorare la copertura, l’efficacia e l’efficienza delle attività di verifica. Il modulo mira a sviluppare la capacità di scegliere e applicare consapevolmente tecniche black-box, white-box e basate sull’esperienza, adattandole ai diversi contesti di test e agli obiettivi di qualità del progetto.

SAPERE:

Al termine del modulo, i partecipanti conosceranno

Le categorie di tecniche di test e le loro caratteristiche principali.

Le tecniche di test black-box, tra cui

Partizionamento di equivalenza

Analisi ai valori limite

Testing con tabelle decisionali

Testing delle transizioni di stato

Testing basato su use case

Le tecniche di test white-box, comprendenti

Copertura delle istruzioni e delle decisioni

Differenze tra test strutturale e test funzionale

Le tecniche basate sull’esperienza, come error guessing, testing esplorativo e checklist-based testing.

I criteri per selezionare la tecnica più adatta in base al tipo di software, ai requisiti, al livello di test e al contesto organizzativo.

SAPER FARE:

Al termine del modulo, i partecipanti saranno in grado di

Applicare tecniche di progettazione dei test black-box, costruendo casi di test efficaci a partire dai requisiti funzionali.

Utilizzare tecniche white-box per verificare la copertura del codice e identificare condizioni non testate.

Eseguire analisi dei valori limite e partizionamento di equivalenza per ottimizzare il numero di test mantenendo la copertura.

Costruire e interpretare tabelle delle decisioni e diagrammi di stato per testare comportamenti complessi.

Svolgere testing esplorativo e formulare ipotesi di difetto attraverso l’esperienza e la conoscenza del dominio.

Documentare correttamente i casi di test derivati dalle diverse tecniche e integrarli in un piano di test complessivo.

Valutare la copertura dei test e migliorare la strategia complessiva di verifica del software.

MODULO 5: Test Management (Gestione del Test)

CONTENUTI

Organizzazione del Test: Testing Indipendente; Compiti di un Test Manager e di un Tester

Pianificazione e Stima dei Test: Scopo e Contenuto di un Test Plan; Strategia di Test e Approccio di Test; Criteri di Ingresso e Criteri di Uscita (Definition of Ready e Definition of Done); Schedulazione di Esecuzione dei Test; Fattori che Influenzano l’Effort del Test; Tecniche di Stima del Test

Monitoraggio e Controllo dei Test: Metriche Usate nel Testing; Scopo, Contenuto e Destinatari dei Test Report

Configuration Management (Gestione della Configurazione)

Rischi e Testing: Definizione di Rischio; Rischi di Prodotto e di Progetto; Testing basato sul Rischio e Qualità del Prodotto

Defect Management (Gestione dei Difetti)

OBIETTIVI

Fornire ai partecipanti le competenze per organizzare, pianificare, monitorare e controllare in modo efficace le attività di testing, con una visione integrata tra qualità, rischio e gestione del progetto. Il modulo mira a sviluppare una solida comprensione dei principi di Test Management, della gestione dei difetti e dei rischi, e dell’utilizzo di metriche e strumenti a supporto delle decisioni strategiche nel testing.

SAPERE:

Al termine del modulo, i partecipanti conosceranno

I principi dell’organizzazione del testing e il valore dell’indipendenza del test.

I ruoli e le responsabilità del Test Manager e del Tester nelle diverse fasi del processo di test.

Gli elementi fondamentali della pianificazione e stima dei test:

Scopo e contenuto di un Test Plan

Strategia di test e approccio di test

Criteri di ingresso e di uscita (Definition of Ready e Definition of Done)

Schedulazione e fattori che influenzano l’effort

Tecniche di stima per il testing

Le attività di monitoraggio e controllo, incluse le principali metriche di test e la redazione dei Test Report.

I concetti chiave di Configuration Management e la sua relazione con il testing.

I principi del risk-based testing e la distinzione tra rischi di prodotto e rischi di progetto.

Il processo di Defect Management, dalla rilevazione del difetto alla sua risoluzione e chiusura.

SAPER FARE:

Al termine del modulo, i partecipanti saranno in grado di

Redigere e gestire un Test Plan coerente con obiettivi, tempi e risorse di progetto.

Stimare l’effort e pianificare le attività di test in funzione delle priorità e dei rischi.

Applicare tecniche di prioritizzazione dei test basate su analisi del rischio e impatto sul business.

Definire criteri di ingresso e di uscita per ciascun livello di test.

Utilizzare metriche di test per monitorare l’avanzamento e valutare la qualità dei risultati.

Gestire difetti e anomalie con strumenti di tracking, garantendo la tracciabilità tra requisito, test case e bug.

Collaborare efficacemente con sviluppatori, analisti e stakeholder nella gestione del ciclo di vita del test.

Integrare il processo di test nella pipeline di Continuous Integration / Continuous Delivery (CI/CD).

MODULO 6: Strumenti a Supporto del Testing

CONTENUTI

Considerazioni sugli Strumenti di Test: Classificazione degli Strumenti di Test; Benefici e Rischi del Test Automation; Considerazioni speciali per gli Strumenti di Esecuzione dei Test e di Test Management

Utilizzo Efficace degli Strumenti: Principi principali per la selezione di uno strumento; Progetti Pilota per l'Introduzione di uno Strumento in un'Organizzazione; Fattori di Successo per gli Strumenti

OBIETTIVI

Fornire ai partecipanti una visione completa degli strumenti a supporto delle attività di testing, dalle soluzioni per la gestione dei test a quelle per l’automazione, la tracciabilità e l’analisi dei risultati. Il modulo mira a sviluppare la capacità di selezionare, introdurre e utilizzare efficacemente strumenti di testing in contesti reali, massimizzandone i benefici e riducendo i rischi associati all’automazione e alla gestione della qualità.

SAPERE:

Al termine del modulo, i partecipanti conosceranno

Le principali categorie di strumenti di test e le relative finalità (gestione dei requisiti, gestione dei test, automazione, performance testing, defect tracking, CI/CD).

I benefici e i rischi legati all’adozione di strumenti di test automation.

Le caratteristiche degli strumenti di esecuzione dei test e dei tool di Test Management.

I criteri di selezione di uno strumento in funzione delle esigenze organizzative e tecniche.

Le fasi di un progetto pilota per l’introduzione di uno strumento di test in azienda.

I fattori di successo e le criticità organizzative connesse all’adozione di strumenti di supporto al testing.

Le linee guida ISTQB per un utilizzo efficace degli strumenti e per la loro integrazione nei processi di qualità del software.

SAPER FARE:

Al termine del modulo, i partecipanti saranno in grado di

Identificare e classificare gli strumenti di test in base alla fase del processo di testing in cui vengono impiegati.

Valutare l’idoneità di un tool rispetto alle esigenze di progetto e all’ambiente di sviluppo utilizzato.

Configurare e utilizzare strumenti di gestione dei test per pianificare, tracciare e monitorare l’esecuzione dei casi di test.

Eseguire in modo controllato test automatizzati utilizzando tool di esecuzione e framework di automazione.

Documentare i risultati e integrarli in un sistema di reporting e metriche di qualità.

Contribuire alla definizione di un piano di introduzione di strumenti di test (progetto pilota, formazione, supporto e miglioramento continuo).

Favorire la collaborazione tra team di sviluppo e di QA tramite strumenti condivisi e workflow integrati.

MODULO PRATICO: Testing e Collaudo di Web Services

CONTENUTI

Testing e Collaudo di Web Services

Architettura e caratteristiche dei Web Services

Differenze tra REST e SOAP

Validazione dei contratti e delle interfacce (WSDL, OpenAPI Specification)

Test di conformità, interoperabilità e sicurezza

Analisi delle risposte: codici HTTP, header, payload, formati JSON e XML

Simulazione e mocking di servizi

Automazione dei test per Web Services

Testing di performance e carico su AP

Strumenti pratici di collaudo e automazione

Creazione e validazione di API REST tramite Swagger / OpenAPI

Uso di Postman per il design, l’esecuzione e la documentazione dei test

Introduzione a SOAPUI per il testing di servizi SOAP e REST

Esercitazioni pratiche: definizione e validazione di endpoint; invio di richieste GET, POST, PUT, DELETE; gestione di variabili, parametri e collezioni di test; uso di ambienti, mock server e scripting nei test; validazione automatica delle risposte e creazione di assertions; esportazione dei test e integrazione con pipeline CI/CD

Best practice per la gestione del ciclo di vita dei test API

Introduzione al versionamento e alla documentazione delle specifiche OpenAPI

OBIETTIVI

Consentire ai partecipanti di applicare in modo concreto le conoscenze teoriche acquisite, attraverso attività pratiche di testing e automazione su Web Services REST e SOAP. Il modulo ha l’obiettivo di formare professionisti in grado di progettare, eseguire e automatizzare test su API, comprendendo la struttura e i contratti dei servizi, validandone la correttezza, la sicurezza e le performance.

Si punta inoltre a sviluppare autonomia nell’uso di strumenti professionali come Postman, SOAPUI e Swagger/OpenAPI, con focus su design, mock, scripting e integrazione in pipeline CI/CD.

SAPERE:

Al termine del modulo, i partecipanti conosceranno

L’archit