Upload
codemotion
View
999
Download
5
Embed Size (px)
DESCRIPTION
La sempre più concreta necessità di avere un processo di test strutturato, porta a dover individuare il proprio livello di maturità del processo di test per capire come poterne pianificare un percorso di miglioramento e adottare gli strumenti per applicarlo. Il talk si concentra su TPi®, una metodologia che permette di definire il livello di maturità ed identificare possibili percorsi di crescita, e su una possibile applicazione di tool opensource per il Test Management & Defect Tracking.
Citation preview
Copyright © 2009 Capgemini. Nessuna parte di questa pubblicazione, di esclusiva proprietà di Capgemini Italia S.p.A., può essere riprodotta
in alcuna forma, con un sistema elettronico o con altri mezzi, senza il preventivo permesso della Società Capgemini Italia S.p.A.
TPi: una metodologia per il miglioramento
del processo di test
Andrea Di [email protected] – Capgemini Java Factory
Codemotion 2012
Andrea Di Toro
[email protected] – Capgemini Java Factory
Agenda
Capgemini
TPi per il miglioramento del processo di test
Presentazione Metodologia
Applicazione TPi in un caso reale
Costruzione Matrice Maturità e Indicatori
Revisione Processo di Test
Metodologia per software selection
Applicazione piattaforma open source per Test & Defect Management
1
Andrea Di Toro
[email protected] – Capgemini Java Factory
Presente in 40 Paesi
112.000 professionisti
8.700 Milioni € di revenues nel 2010
Quotata alla Borsa di Parigi
Capgemini nel mondouna società globale presente in 40 Paesi
2
Andrea Di Toro
[email protected] – Capgemini Java Factory
5 uffici in Italia (*)
3 centri ADC, 1 centro ATC e
2 centri AMSC
1.800 professionisti
146 Milioni € di revenues nel 2010
(*) Capgemini Italia nel secondo semestre
2010 ha acquisito AIVE ampliando
ulteriormente sia il numero di risorse che il
numero di sedi sul territorio
CAPGEMINI ITALIA
3
Andrea Di Toro
[email protected] – Capgemini Java Factory
Testing Offering
Organizational Support & Investment (dedicated R&D, Alliances, certifications, education etc.)
Project Based Managed Services BasedEngagement Based
Independent test partnerFlexi Test ResourcingCo-sourcingStaff augmentation
Test Process Improvement (TPI)
Test Management and Test Execution
Test Process Consulting (TMAP)
Managed Testing Services
Independent Third Party QA
Strategic Offerings
Functional Testing
Test Automation
Performance Testing
Security Testing
End-to-end Testing
Package based Testing
Test environment management
Tactical Offerings
4
Andrea Di Toro
[email protected] – Capgemini Java Factory
Competenze e Referenze
Certificazioni ISTQB (associazione che ha l'obiettivo di supportare il processo di formazione e dicertificazione delle competenze nel Software Testing)
Competenza sulle principali piattaforme di testing di mercato (HP, Microfocus) e Open Source Esperienze di testing indipendente in contesti come
BNP, Alstom, Fideuram, Equitalia, Groupama, Postevita, Terna
Competenze
Referenze
5
Andrea Di Toro
[email protected] – Capgemini Java Factory
Agenda
Capgemini
TPi per il miglioramento del processo di test
Presentazione Metodologia
Applicazione TPi in un caso reale
Costruzione Matrice Maturità e Indicatori
Revisione Processo di Test
Metodologia per software selection
Applicazione piattaforma open source per Test & Defect Management
6
Andrea Di Toro
[email protected] – Capgemini Java Factory
Il V-model prevede che il processo di test inizi con la verifica dei requisiti
AcceptanceTest
Code
DevelopSoftware
Build theSystem
Installa-tion
UnitTest
Requir-ements
High levelDesign
DetailedSpecifi-cations
Test require-ments
Test the Design
Test theSpecifi-caties
IntegrationTest
SystemTest
Walkthroughs
Reviews &Inspections
Il Processo di Test
7
Andrea Di Toro
[email protected] – Capgemini Java Factory
Servizi di Testing
• E’ la gestione integrata dei test case dalla loro progettazione alla loro esecuzioneTest Management
• Il test funzionale verifica la corrispondenza con i requisiti di business.
• Il test di integrazione verifica il corretto funzionamento di un sistema integrato composto da diversi sottosistemi
Functional & Integration test
• Esecuzione dei test case, apertura dei difetti tramite le funzionalità del tool di testing e gestione del ciclo di vita dei defect (dall’apertura alla chiusura)
Test Execution & Defect Management
• Reporting periodico relativo alle fasi di test execution e defect management.Reporting
Andrea Di Toro
[email protected] – Capgemini Java Factory
Servizi di Testing
• Simulare in “laboratorio” il carico di utenti previsto in esercizio al fine di individuare in anticipo “colli di bottiglia “che possono comportare indisponibilità o tempi di risposta inaccettabili per l’utente (Stress, Load e Stability Test)
Regression Test• Eseguire Test nell’intorno funzionale delle ultime modifiche effettuate per
assicurare che l’introduzione di nuove funzionalità non abbia introdotto difetti in funzionalità preesistenti.
Test Automation• Eseguire dei test automatici. Si applica soprattutto ai test case con un elevato
numero di combinazioni di dati in input (es: tariffatori, …). Il tool di test automation registra la navigazione di un tester e genera un “robot” che ripete automaticamente la navigazione per tutti gli input forniti in un file (es: excel)
Performance Test
• Supporto agli utenti in fase di collaudo con la predisposizione dei test case e la relativa esecuzione.Supporto al Collaudo
Andrea Di Toro
[email protected] – Capgemini Java Factory
Maturità del processo di testing
Un processo di testing non maturo può provocare:
Conflitti tra business e IT
Costi elevati (risorse, set-up e manutenzione del test center)
Scarsa qualità dei prodotti
Time-to-market insufficente
Mollte aziende sono consapevoli della necessità di mogliorare i processi di test per incrementare la qualità del portafoglio applicativo.
Quali sono i passi necessari ?
Maturità del processo di testing Capgemini ha sviluppato un framework per l’assessment e ilmiglioramento del processo di testing basato sulla combinazionedi due approcci: Test Process Improvement (TPI®) e QualityBlueprint.
10
Andrea Di Toro
[email protected] – Capgemini Java Factory
TPi: gli elementi distintivi 1/2
Seguendo l’approccio CMMI, TPI® è un valido supporto alla verifica della maturità del processo di testing di una organizzazione allo scopo di aumentarne l’efficacia attraverso una serie di azioni di miglioramento mirate. TPI® è flessibile rispetto alla metodologia di sviluppo software.
TPI® consente una analisi dettagliata del processo di testing categorizzando le caratteristiche del processo in 16 aree chiave, suddivise in 3 macro gruppi: Stakeholder Relations, Test Management, Test Profession
Unità di misura del modello, espressa in forma di sentenza specifica per analizzare lo stato attuale della singola Key Area
11
Andrea Di Toro
[email protected] – Capgemini Java Factory
TPi: gli elementi distintivi 2/2
Le aree di miglioramento nel processo di testing vengono posizionate rispetto a 4 Livelli di Maturità:
• Optimizing: adattamento costante in base ad ogni cambiamento delle circostanze
• Efficient: fare le cose nel modo giusto
• Controlled: fare le cose giuste
• Initial: attività di test ad hoc
12
Andrea Di Toro
[email protected] – Capgemini Java Factory
TPi: le fasi del processo
Capire le necessità per il miglioramento del processo di test
Determinare dove e quale aspetti migliorare per raggiungere l’obiettivo individuato
Esaminare la situazione del processo di test attuale
Stabilire i miglioramenti nelle diverse key area per raggiungere l’obiettivo
Stabilire un piano operativo prendendo in considerazione dove, come, con quali tempi e con quali risorse attuarlo
Applicare le azioni di miglioramento
L’obiettivo prefissato è stato raggiunto? Continuare o cambiare direzione?
13
Andrea Di Toro
[email protected] – Capgemini Java Factory
La Test Maturity Matrix è popolata attraverso interviste agli attuali stakeholder del processo di test con l’ausilio di un apposito tool.
Test Maturity Matrix
14
Andrea Di Toro
[email protected] – Capgemini Java Factory
Benchmark
I risultati dell’assessment sono inseriti nel tool Quality Blueprint che contiene dati comparabili di centinaia di test assessment eseguiti da Capgemini
L’analisi comparativa consente di capire come altri hanno indirizzato i singoli obiettivi ed è un punto di partenza per definire le azioni di trasformazione del processo di test
Benchmark con Blueprint Framework Analisi comparativa
15
Andrea Di Toro
[email protected] – Capgemini Java Factory
Pianificazione Roadmap
Le azioni di trasformazione sono inserite in una roadmap. TPI® contiene “suggerimenti di miglioramento”, “best practices” e “how to”;
TPI definisce dei checkpoints, ragruppati in cluster per aiutare a definire i passi di un percorso incrementale verso il miglioramento.
Definizione della roadmap
La roadmap è sviluppata trimestre per trimestre e comprende diversediscipline. Sono definiti dei percorsi di miglioramento paralleli comestima, metodologia di test, struttura del team.
Improvement Roadmap
16
Andrea Di Toro
[email protected] – Capgemini Java Factory
Agenda
Capgemini
TPi per il miglioramento del processo di test
Presentazione Metodologia
Applicazione TPi in un caso reale
Costruzione Matrice Maturità e Indicatori
Revisione Processo di Test
Metodologia per software selection
Applicazione piattaforma open source per Test & Defect Management
17
Andrea Di Toro
[email protected] – Capgemini Java Factory
Assessment ProcessoPeriodo di osservazione: Giugno 2011 – Febbraio 2012
Fase Obiettivo della misura Descrizione misura ID Valore
Requisiti
Verificare la copertura dell’analisi funzionale rispetto alle attività
Numero di documenti di analisi funzionale rispetto al numero totale delle attività
DOC01 36%
Misurare il numero di CR derivanti dalla non coerenza o non accuratezza dell'analisi
Numero di CR emerse su attività con presenza di documenti di analisi rispetto al totale delle CR
DOC02 20%
Misurare il livello di qualità e accuratezza della documen-tazione di analisi ai fini della progettazione dei casi di test
Test Case eseguibili rispetto al numero totale dei Test Case progettati a partire dalla documentazione di analisi
DOC03 91%
Sviluppo Misurare la qualità del software rilasciato al collaudoNumero di collaudi che non hanno fatto emergere anomalie tali da far invalidare o rinviare il collaudo stesso rispetto al numero di collaudi totali
UT01 25%
Collaudo
Misurare il livello di focalizzazione sulle attività di test rispetto all'effort speso per attività di supporto come il reporting.
Effort impiegato nelle attività centrali per il test (review, progettazione, esecuzione) rispetto all’effort totale delle attività del team per settimana
GA01 90%
Misurare la disponibilità dei dati per poter eseguire i testTC eseguiti rispetto al numero totale dei TC eseguibili, cioé quei TC progettati a partire da una documentazione che rispecchia la reale esigenza del business
DP01 88%
Verificare l’accuratezza delle fasi dei processi correlati % di anomalie con severità Media e Bassa DS01 36%
18
Andrea Di Toro
[email protected] – Capgemini Java Factory
Test Improvement Plan
Improvement
Suggestion
Actual Test Maturity Matrix
Improved Test Maturity Matrix
Improvement
Action
assicurarsi che i tool siano
condivisi con tutti gli utenti
(key area: test profession;
maturity level: controlled)
Installare i tool e organizzare
la formazione agli utenti per
poter gestire in maniera
strutturata le informazioni
relative alle attività di test
eseguite
Improvement Plan
20
Andrea Di Toro
[email protected] – Capgemini Java Factory
Software Selection: OSMM
SOFTWARE SELECTION
Cos’è OSMM? L’ Open Source Maturity Model è un modello utilizzato per il processo di software selection in grado di fornire un metodo perstabilire dei criteri oggettivi utili ad affrontare un’analisi comparativa di prodotti open source.
21
Andrea Di Toro
[email protected] – Capgemini Java Factory
Test Tool Evaluation
Fitnesse Test Link RTH Turbo
Product 0,72 0,74 0,72
Integration 0,62 0,7 0,65
Use 0,6 0,77 0,76
Adoption 0,74 0,78 0,6
Bugzilla Mantis JTrac
Product 0,76 0,76 0,72
Integration 0,7 0,7 0,75
Use 0,76 0,8 0,68
Adoption 0,86 0,74 0,66
22
Andrea Di Toro
[email protected] – Capgemini Java Factory
Revisione logica del processo di gestione dei difetti
Definizione di un possibile miglioramento del processo di test
5 mesi
OIL (Online Interactive heLpdesk)
Test Management & Defect Management
2 componenti integrati per gestire il processo di Test e la lavorazione delle anomalie
Applicazione della metodologia TPi
Installazione della piattaforma e integrazione con ambienti di test
Creazione dei template per la progettazione e il caricamento dei requisiti e dei test case
16 requisiti
40 test case
3 bug
5 build
23
Andrea Di Toro
[email protected] – Capgemini Java Factory
Riferimenti
Web
• TMap Web Site: http://www.tmap.net/en/tpi-next
• Sogeti Web Site (Società del gruppo Capgemini): http://www.sogeti.com
Libro
• Gerrit De Vries, Ben Visser, Loek Wilhelmus - TPI Next: Business Driven Test
Process Improvement - UTN Publishers, 2009
24