Strumenti e tecniche per il controllo e il miglioramento
della qualità del software
Microsoft® Visual Studio® Team Suite introduce
funzionalità di testing abbinate alla definizione
e alla rilevazione delle metriche che permettono
di ottimizzare e semplificare la produzione
di software di qualità.
www.microsoft.it/msdn/vsts2008
Per migliorare la qualità del software, prima
di tutto bisogna definirla, poi misurarla
Facile trovare immediato consenso sul concetto di qualità,
ma quando ci si riferisce al software in che modo questa viene
interpretata? Facilità d’uso, attinenza alle specifiche, mancanza
di errori, prestazioni, strutturazione e codifica ottimali.
Su questo argomento sono stati pubblicati innumerevoli
manuali e teorie, ma al di là delle singole specificità l’elemento
che li accomuna tutti è la necessità di scegliere dei parametri
oggettivamente significativi e rilevarne i valori assoluti e il loro
andamento nel tempo. In altre parole, le metriche del software.
Microsoft Visual Studio Team System consente di rilevare
le metriche relative al codice sviluppato in base a vari criteri
compresi quelli di carattere intrinseco come la sua complessità
e manutenibilità. Tali metriche possono essere monitorate
a livello di singolo progetto o per intere soluzioni e forniscono
indicazioni non solo sul piano della qualità, ma anche dell’efficacia
di metodi e strumenti di sviluppo adottati dal team, divenendo
così un importante fattore di incremento della produttività.
Definizione ed esecuzione dei test
Per l’impostazione e l’esecuzione dei test, Visual Studio Team
Suite comprende una serie di strumenti specializzati
e integrati con il resto della piattaforma per creare, eseguire
e gestire i test e le attività ad essi correlate a livello di servizi
e applicazioni Web, database e Unit Test rimanendo sempre
all’interno dello stesso ambiente Visual Studio.
Visual Studio Test Load Agent consente poi di generare test di
carico per le applicazioni Web, i servizi e i database permettendo
di migliorare la qualità testando il variare delle prestazioni mano
a mano che aumentano i carichi di lavoro sui server.Tutti questi
strumenti si interfacciano con Visual Studio Team Foundation
Server, che costituisce lo strumento per la gestione e il controllo
del ciclo di vita del software supportando e semplificando le fasi
di versioning, gestione degli elementi di lavoro e collaborazione
efficace tra i membri del team di sviluppo. Questo porta alla
produzione e distribuzione di software di qualità.
Cadono i confini tra sviluppo e rilascio
Visual Studio Team Suite fornisce già pronte all’uso le funzioni
per rilevare le principali metriche del software.
• Indice di manutenibilità: è un valore compreso tra 0 e 100
che indica la facilità con la quale si può intervenire per
modificare il software da manutenere.
• Numero ciclomatico: misura la complessità strutturale
del codice. Questo perché quanto più il flusso del programma
è articolato, tanto più sarà difficile testarlo
e apportarvi modifiche.
• Livello di ereditarietà: indica il numero di classi utilizzate
e la loro strutturazione. Quanti più livelli gerarchici sono
presenti, tanto più sarà difficile capirne i metodi e le
interazioni.
• Linee di codice: sebbene poco significative sul piano
oggettivo, specie nell’uso delle nuove tecnologie
di sviluppo, continuano a essere uno dei parametri
più utilizzati dalle aziende. Visual Studio Team System misura
solo le righe di codice effettive, tralasciando commenti,
informazioni e altro.
Utilizzando Web Service e funzioni di orchestrazione che
riconfigurano e aggregano dinamicamente le varie componenti
del software, i confini tra le fasi di sviluppo e di deployment
perdono di significato. Gli aspetti prestazionali divengono
così sempre più critici per la qualità e il rispetto delle esigenze
degli utenti. Con Visual Studio Team System si possono
svolgere sia i test funzionali, sia quelli prestazionali, rimanendo
sempre all’interno della piattaforma di sviluppo.
• Visual Studio Team Suite mette a disposizione degli
sviluppatori un insieme completo per testare le funzionalità
delle applicazioni HTTP, XML, ASP.NET e dei Web Service.
Dispone anche di uno strumento di Code Coverage
per rilevare la percentuale di codice che è stata verificata
nel corso dei test.
• Visual Studio Test Load Agent, che comprende
le componenti Agent e Controller, permette di simulare
le attività simultanee anche di 1.000 utenti per unità,
dotate di un unico processore o di tipo Dual Core. I risultati
forniscono indicazioni sugli elementi che si comportano
correttamente sotto carico, sugli errori e sulle componenti
sulle quali occorre intervenire per evitare problemi.
Analisi del codice
Strumenti avanzati e potenti
Visual Studio fornisce una serie di regole per l’analisi statica
del codice .NET e C++ e per l’analisi dinamica del codice C++
che favoriscono l’uniformità del codice scritto da persone
differenti e migliorano le performance, l’affidabilità e riducono
la complessità. è possibile creare una Policy di Analisi del Codice
per impedire il Check-In di codice non conforme ed è anche
possibile inserire l’Analisi del Codice nelle Build automatizzate.
Gli strumenti di Web Test inclusi in Visual Studio Team Suite
consentono di definire test facilmente replicabili, riducendo
considerevolmente il tempo di creazione, esecuzione e analisi
degli esiti. I test possono esser condotti anche sulle applicazioni
Visual C#® e Visual Basic® destinate ai dispositivi mobili di nuova
generazione (Smartphone, PDA, ecc.).
Infine, l’interazione con Team Foundation Server permette
alla test factory di migliorare la collaborazione con la software
factory integrandosi nel processo di sviluppo del sofware
correttamente sotto carico, sugli errori e sulle componenti
sulle quali occorre intervenire per evitare problemi.
Misure rilevabili
Microsoft Visual Studio Team System per il testing e la qualità del software
Principali novità
• Ampliamento delle funzionalità per la validazione dei test con inserimento di nuove regole e metriche
• Simulazione delle applicazioni con fonti di dati provenienti da database o file CSV e XML
• Gestione dei test di carico più efficiente con la possibilità di aprire o eliminare i risultati dei test direttamente dal repository
• Registrazione delle richieste AJAX e dei Pop-up in JavaScript con Web Test Recorder
• Migliore rappresentazione dei carichi di lavoro reali con Load Modeling
Vantaggi
• Risoluzione dei problemi di integrazione durante le fasi di sviluppo
• Integrazione fra test e code coverage
• Creazione di Bug e Work Item “al volo”
• Integrazione del profiler con Unit e Web Test
• Test del database
Come funziona
Rilevare le metriche
Per avere un’idea concreta di quali metriche gestire e di come
rilevarle, esaminiamo i passi principali e le voci da considerare:
• Una volta analizzato il codice, Visual Studio ne presenta
le caratteristiche tramite la finestra Code Metrics Results
che include una Toolbar di gestione e le intestazioni di tutti
i parametri rilevati.
La prima colonna contiene in modo strutturato secondo
una gerarchia ad albero tutti i dati rilevanti a diversi livelli
di dettaglio. Le altre colonne contengono i valori.
• Ottenere questi dati è molto semplice: basta premere
il tasto destro del mouse su un progetto o una soluzione
su Solution Explorer e scegliere la voce del menu: Calculate
Code Metrics. I cinque parametri rilevati in automatico
sono: il numero Ciclomatico, la profondità delle intersezioni
dovute all’ereditarietà (Depth of Inheritance), le dipendenze
tra classi (Class Coupling), le linee di codice (Lines of Code)
e l’indice complessivo di manutenibilità (Maintainability
Index). Espandendo la struttura ad albero si può partire
dal progetto nel suo insieme, sino ad arrivare al singolo
metodo all’interno di una classe.
La colonna Maintainability, in aggiunta ai valori numerici,
contiene un’icona il cui valore cambia in funzione del livello
di manutenibilità: verde indica che la situazione è positiva,
giallo che la manutenibilità è a rischio, rosso segnala
la necessità di una revisione integrale del codice.
Questo indice rappresenta una sintesi ponderata dei valori
relativi alle tre metriche combinate: numero ciclomatico,
linee di codice e complessità computazionale.
Eseguire i test di carico
Per creare l’ambiente di test nel quale effettuare le prove
di carico, si può usare il Load Test Wizard che consente
di definire carichi di lavoro utilizzando vari profili di utenza
e di componenti tipo browser, reti e applicazioni, simulando
nel modo più verosimile possibile la realtà nella quale si dovrà
operare in seguito al rilascio deI sistema definitivo.
Il Web Test di Visual Studio Team System è ora in grado
di registrare i dati relativi anche alle richieste AJAX e ai Pop-up
in JavaScript. I dati vengono presentati in due report che si
differenziano per livello di dettaglio.
Il Load Test Summary offre una vista d’insieme sull’andamento
delle prestazioni del sistema sotto carico.
Il Load Test Detail entra nello specifico delle singole componenti
con dati che arrivano alla singola pagina o transazione.
Il tutto in modo grafico e interattivo e totalmente integrato con
l’ambiente per eseguire i test funzionali e lo sviluppo.
Per saperne di più
Visual Studio Team System è l’ambiente di progettazione, sviluppo, rilascio e testing più diffuso al mondo per applicazioni
Windows® e Web, tradizionali e di nuova generazione.
Semplificando la creazione di applicazioni per piattaforme Windows, Web, telefoni cellulari, PDA e Microsoft Office, Visual Studio
Team System consente di realizzare innovative soluzioni di tipo individuale e per l’impresa, assicurando elevata qualità, buone
prestazioni e grande produttività nelle fasi di sviluppo.Visual Studio Team System include una serie di funzionalità che migliorano
la comunicazione e la collaborazione tra tutti i componenti dei team di sviluppo lungo le varie fasi del ciclo di vita del software.
Questo vuol dire maggior qualità e produttività nello sviluppo di applicazioni e servizi.
Visual Studio Team Foundation Server può inoltre gestire progetti realizzati in qualsiasi tecnologia ed è accessibile tramite Web
Service aperti da qualsiasi piattaforma, attraverso plug-in disponibili per gli ambienti più diffusi.
Per ulteriori informazioni e dettagli su Visual Studio Team System, visitare il sito: www.microsoft.it/msdn/vsts2008
© 2008 Microsoft. Tutti i diritti riservati. Tutti i marchi e i marchi registrati citati sono di proprietà delle rispettive società. Questa pubblicazione è puramente informativa.
Microsoft - Centro Direzionale S. Felice - Pal. A - Via Rivoltana, 13 - 20090 Segrate (MI)
Visitateci su Internet www.microsoft.com/italy/ Servizio Clienti 02.70.398.398, e-mail: [email protected]
Scarica

Strumenti e tecniche per il controllo e il miglioramento