TPi: una metodologia per il miglioramento del processo di test, by Andrea Di Toro

26
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 Toro [email protected] Capgemini Java Factory Codemotion 2012

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.

Transcript of TPi: una metodologia per il miglioramento del processo di test, by Andrea Di Toro

Page 1: TPi: una metodologia per il miglioramento del processo di test, by Andrea Di Toro

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

Page 2: TPi: una metodologia per il miglioramento del processo di test, by Andrea Di Toro

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

Page 3: TPi: una metodologia per il miglioramento del processo di test, by Andrea Di Toro

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

Page 4: TPi: una metodologia per il miglioramento del processo di test, by Andrea Di Toro

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

Page 5: TPi: una metodologia per il miglioramento del processo di test, by Andrea Di Toro

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

Page 6: TPi: una metodologia per il miglioramento del processo di test, by Andrea Di Toro

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

Page 7: TPi: una metodologia per il miglioramento del processo di test, by Andrea Di Toro

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

Page 8: TPi: una metodologia per il miglioramento del processo di test, by Andrea Di Toro

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

Page 9: TPi: una metodologia per il miglioramento del processo di test, by Andrea Di Toro

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

Page 10: TPi: una metodologia per il miglioramento del processo di test, by Andrea Di Toro

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

Page 11: TPi: una metodologia per il miglioramento del processo di test, by Andrea Di Toro

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

Page 12: TPi: una metodologia per il miglioramento del processo di test, by Andrea Di Toro

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

Page 13: TPi: una metodologia per il miglioramento del processo di test, by Andrea Di Toro

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

Page 14: TPi: una metodologia per il miglioramento del processo di test, by Andrea Di Toro

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

Page 15: TPi: una metodologia per il miglioramento del processo di test, by Andrea Di Toro

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

Page 16: TPi: una metodologia per il miglioramento del processo di test, by Andrea Di Toro

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

Page 17: TPi: una metodologia per il miglioramento del processo di test, by Andrea Di Toro

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

Page 18: TPi: una metodologia per il miglioramento del processo di test, by Andrea Di Toro

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

Page 19: TPi: una metodologia per il miglioramento del processo di test, by Andrea Di Toro

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

Page 20: TPi: una metodologia per il miglioramento del processo di test, by Andrea Di Toro

Andrea Di Toro

[email protected] – Capgemini Java Factory

Revisione Processo di Test

19

Page 21: TPi: una metodologia per il miglioramento del processo di test, by Andrea Di Toro

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

Page 22: TPi: una metodologia per il miglioramento del processo di test, by Andrea Di Toro

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

Page 23: TPi: una metodologia per il miglioramento del processo di test, by Andrea Di Toro

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

Page 24: TPi: una metodologia per il miglioramento del processo di test, by Andrea Di Toro

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

Page 25: TPi: una metodologia per il miglioramento del processo di test, by Andrea Di Toro

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

Page 26: TPi: una metodologia per il miglioramento del processo di test, by Andrea Di Toro

Andrea Di Toro

[email protected] – Capgemini Java Factory

Domande

25