Lezione 1 – Introduzione al test Ingegneria del software Modulo 1 - Introduzione al processo software Unità didattica 5 – Test e verifica Ernesto Damiani Università degli Studi di Milano La crisi del software (1) Andamento rapporto dei costi di hardware e software La crisi del software (2) • Complessità crescente dei problemi • Skill e resources shortage Come combattere la crisi • Processo (Analysis, Design, Code, Maintain) • Review periodiche • Multi-tiered testing • Controllo delle configurazioni (Codice/documentazione) • Rispetto degli standard • Misure e report Il decalogo di Boehm (1) • Individuare e risolvere un problema software dopo la consegna è 100 volte più costoso che nelle fasi di raccolta requisiti ed early design • Gli schedule di sviluppo possono essere compressi del 25% (aggiungendo risorse), ma non di più • La manutenzione costa almeno il doppio dello sviluppo Il decalogo di Boehm (2) • I costi di sviluppo e di manutenzione dipendono in primo luogo dalle dimensioni del prodotto • La produttività dipende dalle capacità delle persone e non dal tempo o dai tool • Il rapporto tra costi software/hardware nel 1985 era 85:15 e continua a crescere Il decalogo di Boehm (3) • La codifica è circa il 15% del costo di sviluppo di un prodotto software • I sistemi applicativi verticali costano (per istruzione) il triplo dei programmi monolitici, il software; i sistemi orizzontali 9 volte tanto. • I walkthrough del codice individuano il 60% degli errori Il decalogo di Boehm (4) • I processi software seguono la distribuzione di Pareto. L’evoluzione dei processi FINE