Organizzazione e tecniche per lo sviluppo (3)

Testing di applicazioni

Il testing ha come obiettivo la verifica del funzionamento di un prodotto software rispetto ai requisiti del sistema. Saper impostare ed eseguire una strategia di test è elemento chiave per garantire un elevato standard di qualità del software e richiede una corretta impostazione organizzativa e metodologica. Il corso illustra in modo esauriente principi, strategie e tecniche su cui si fonda il testing: approccio di tipo sia funzionale (“black box” testing), sia strutturale (“white box” testing); strategia basata su più livelli e tipologie di test; esistenza di un ciclo di vita del test con conseguente definizione di attività, responsabilità e prodotti, metriche. Partendo da questa base, si passa a specializzare queste tecniche in funzione di diversi ambiti metodologici e tecnologici, quali ad esempio le applicazioni Web, la SOA e i metodi Agili. Il corso fornisce inoltre gli elementi per inquadrare il testing nell’ambito del sistema qualità alla luce delle norme ISO/IEC 25000.

Destinatari

  • Responsabili progetti software
  • Personale dell'assicurazione e del controllo qualità
  • Analisti e progettisti di applicazioni software

Prerequisiti

Conoscenza delle problematiche di sviluppo applicativo

Contenuti

  • Introduzione - obiettivo del testing, il testing nell'ambito del Sistema Qualità, fattori di qualità del software, le norme ISO/IEC 25000;
  • Livelli di test - unit, integration e System Testing, collaudo e accettazione;
  • Tipologie di test- funzionale e non funzionale;
  • Finalità di testing - verifica e validazione, "bug fixing", non regressione;
  • Tecniche di test - white, black e grey box;
  • Il processo di testing - pianificazione (definizione della Strategia di test in funzione dei requisiti di qualità e degli obiettivi concordati con l'utente, livello di copertura funzionale e topologica, Piano dei test), progettazione (Checklist, Casi di Test, Classi di Equivalenza, Specifiche di Test, Unità di Lancio), esecuzione (aspetti organizzati, scheda esito test, rapporto anomalie), gestione delle anomalie;
  • Adattare il testing in funzione delle caratteristiche del progetto - testing di applicazioni web, testing di applicazioni SOA, il testing nei metodi iterativi e nell'Agile;
  • Cenni sulle metriche di prodotto e di processo - indice di difettosità del prodotto, efficienza nella rimozione dei difetti, valutazione dell'efficacia del test, determinazione dell'impegno e valutazione oggettiva di parametri di qualità mediante la metrica dei Function Point;
  • Strumenti per la conduzione e l'automazione dei test;
  • Casi studio ed esercizi.

Durata

3 giorni

Gestione dei requisiti e casi d'uso

Per mantenere il passo con l'aumentare della complessità dei sistemi software e delle richieste degli utenti, dobbiamo rendere sempre più mature ed efficienti le modalità in cui sviluppiamo, testiamo e gestiamo i nostri progetti. Il primo passo verso questa crescita consiste nel migliorare il processo di gestione dei requisiti. La gestione dei requisiti è un approccio sistematico per identificare, organizzare, comunicare, documentare i requisiti di un sistema software e gestirne i cambiamenti, con l'obiettivo di ridurre costi e rischi correlati allo sviluppo e all'evoluzione dei sistemi informativi. Il corso fornisce ai partecipanti un quadro di riferimento per tradurre le necessità dei committenti in requisiti qualitativamente validi e verificabili, gestire con un processo strutturato il ciclo di vita dei requisiti e utilizzare la tecnica dei casi d'uso nella modellazione dei processi di business e dei sistemi informatici. Il corso prevede inoltre una serie di esercitazioni per permettere un apprendimento effettivo dei concetti e delle tecniche proposte nello svolgimento teorico degli argomenti.

Destinatari

  • Capi progetto
  • Analisti
  • Esperti applicativi coinvolti nella gestione dei requisiti
  • Addetti alle funzioni di assicurazione e controllo della qualità

Prerequisiti

Conoscenza generale delle problematiche relative allo sviluppo e all'evoluzione dei sistemi informativi

Contenuti

  • Gestire i requisiti - Definizione di requisito, obiettivi, requisiti e sistema, ruolo dei requisiti nel processo di negoziazione con i committenti, ruolo dei requisiti nella progettazione e testing dei sistemi SW, il processo di gestione dei requisiti, classificazione dei requisiti, requisiti e cicli di vita del sistema, la gestione dei requisiti secondo il Capability Maturity Model del SEI e gli standard ISO 9000, la qualità del prodotto secondo ISO 9126;
  • Scoprire i requisiti - individuare gli obiettivi di business, identificare gli interlocutori, tecniche per l'individuazione dei requisiti: interviste, incontri, workshop, brainstorming, Joint Application Design, analisi documentazione esistente, simulazione di scenari, prototipi, i casi d'uso;
  • Specificare i requisiti - specifica efficace, analisi e controllo dei requisiti, attributi del requisito, assegnare una priorità ai requisiti, organizzare i requisiti, template e standard per la documentazione dei requisiti, tracciabilità dei requisiti, strumenti per la gestione dei requisiti;
  • Gestire l'evoluzione dei requisiti - un processo per gestire le modifiche;
  • Casi d'uso - definizioni di caso d'uso
  • Attori e contesto del sistema, relazioni tra attori e casi d'uso, come identificare i casi d'uso, il modello dei casi d'uso e rappresentazione UML, scenari di un caso d'uso, casi d'uso e prototipi di interazione, casi d'uso (modelli di business e informatico), granularità dei casi d'uso, relazioni tra casi d'uso, template per la documentazione dei casi d'uso, partizionamento del sistema, ruolo dei casi d'uso nel ciclo di vita del sistema;
  • Caso studio ed esercizi.

Durata

2 giorni

Analisi e miglioramento dei processi aziendali

Il corso fornisce metodi e tecniche per analizzare, definire, ottimizzare e monitorare i processi aziendali, allo scopo di creare processi integrati e orientati al business aziendale.
Dopo aver fornito una panoramica sulla terminologia comune e sugli elementi costitutivi dei processi, il corso illustra l’approccio metodologico utilizzato ed i fattori chiave da considerare nell’analisi dei processi.
Per migliorare i processi aziendali è necessario infatti conoscerne i punti di forza e di debolezza, le eventuali inefficienze e colli di bottiglia, ed è indispensabile misurarne le prestazioni.
Vengono quindi presentati i principali standard di rappresentazione dei processi ed i criteri e le tecniche per la revisione, l’ottimizzazione e l’implementazione del modello futuro con particolare attenzione al ruolo svolto dall’IT nel passaggio dai processi ai sistemi informatici.

Destinatari

  • Capi progetto
  • Analisti IT e di business
  • Specialisti di metodi e standard

Prerequisiti

Nessuno

Contenuti

  • Terminologia e aspetti generali dell'analisi dei processi: definizione di processo, l’azienda e i processi organizzativi (classificazione dei processi, organigrammi e funzionigrammi, mansionari, modelli organizzativi e strutture snelle), approccio funzionale vs approccio per processi;
  • Elementi costitutivi dei processi - struttura dei processi, workflow, gestione dei processi, processi vs. progetti;
  • Processi aziendali e sistemi - Contesto a livello business e a livello informatico, Business Use Case e System Use Case;
  • Approccio metodologico: la mappatura e l’analisi dei processi;
  • Analisi situazione attuale (as-is): definizione obiettivi e ambito, rilevazione della situazione attuale, fonti informative per la rilevazione, attori coinvolti e responsabilità, processi, attività, flusso delle informazioni, procedure e applicazioni informatiche di supporto, misure e indicatori;
  • Rappresentazione dei processi: modellazione con BPMN, cenni su altri linguaggi di modellazione (DFD, UML, IDEF-0, ...) e strumenti di modellazione, linee guida per la modellazione e la documentazione;
  • Definizione modello futuro (to-be): analisi criticità, identificazione aree di miglioramento e innovazione (es. tecnologie, ...), razionalizzazione delle attività, ipotesi di soluzione e riprogettazione del processo;
  • Misurazione performance e monitoraggio processi: le misurazioni delle prestazioni e i KPI;
  • Implementazione modello futuro (approccio integrato): i nuovi processi, dai processi ai sistemi informatici, il ruolo dell'IT nel cambiamento, i passi per l'implementazione, cenni sulle opzioni tecnologiche;
  • Caso studio.

Durata

2 giorni