Sei sulla pagina 1di 82

Fornitore della formazione accreditato

da ITA-STQB

Corso ISTQB Certified Tester


Livello Foundation
Conforme al Syllabus Foundation versione 2011

ALTEN ITALIA ACADEMY

ALTEN ITALIA is:

Certified by BMC for providing courses on Remedy and ITSM technologies

The first and main Italian Accredited Training Provider, accredited by ITA-STQB for
providing training courses on software engineering; it covers the whole range of
ISTQB courses (Foundation, AL Test Manager, AL Test Analyst and AL Technical Test
Analyst) and REQB schemes

The only Italian Company accredited by iSQI for providing training on testing of
mobile application (CMAP)

PMI Registered Education Provider, offering training in project management

ScrumAlliance Registered Education Provider, offering traning to Scrum Methodology

2014 ALTEN Italia S.p.A.

ISTQB Corso Livello Foundation

Strategia di ISTQB
ISTQB Strategy
To build and to evolve a complete and accurate
knowledge base on software testing
To consolidate the software tester profession
To spread internationally the know-how on testing
To contribute in achieving an adequate quality level on
products and services in which software has a role

2014 ALTEN Italia S.p.A.

10

ISTQB Corso Livello Foundation

Diffusione Copertura geografica di ISTQB


ISTQB rappresentato da 49 Member Board in 72 Paesi di tutto il Mondo

Member Board
Presenza di un Global Exam Provider
2014 ALTEN Italia S.p.A.

16

ISTQB Corso Livello Foundation

ISTQB - Numero di Certificati

2014 ALTEN Italia S.p.A.

Page 18

ISTQB Corso Livello Foundation

Cos ITA-STQB
ITA-STQB (ITAlian Software Testing Qualifications Board)
unassociazione non profit nata nel 2007 e che ha
iniziato a effettuare esami dalla seconda met del 2008
Ha l'obiettivo di effettuare in Italia la certificazione delle
competenze in ambito sw engineering, in riferimento a:
Software Testing ISTQB
Mobile App Testing CMAP
Requirements Engineering REQB

2014 ALTEN Italia S.p.A.

19

ISTQB Corso Livello Foundation

ISTQB Levels and Contents

2014 ALTEN Italia S.p.A.

Page 22

ISTQB Corso Livello Foundation

Programma del corso

1.
2.
3.
4.
5.
6.
7.

Fondamenti del testing


Il testing durante il ciclo di vita del software
Tecniche statiche
Tecniche di progettazione di test
Gestione del test
Supporto di tool per il testing
Riferimenti

2014 ALTEN Italia S.p.A.

26

ISTQB Corso Livello Foundation

Fondamenti del testing


1.
2.

3.
4.
5.
6.
7.

2014 ALTEN Italia S.p.A.

27

Fondamenti del testing


Il testing durante il ciclo di vita del
software
Tecniche statiche
Tecniche di progettazione di test
Gestione del test
Supporto di tool per il testing
Riferimenti
ISTQB Corso Livello Foundation

Il software dappertutto

I sistemi software sono parte integrante della vita


quotidiana, dalle applicazioni aziendali ai sistemi di
bordo delle auto.

Chiunque stato testimone di un software che non


si comportato come previsto
osservando diversi gradi di
conseguenze.
2014 ALTEN Italia S.p.A.

29

ISTQB Corso Livello Foundation

Cause dei difetti nel software


Terminologia
Una persona
compie un error ...

Error Fault Failure

che causa un fault


nel software ...

che puo causare


un failure

2014 ALTEN Italia S.p.A.

30

ISTQB Corso Livello Foundation

Cause dei Difetti


Gli esseri umani possono commettere errori, che
producono difetti nel codice o nella
documentazione.
Gli errori possono avere origini differenti: mancanza di
tempo, incomprensioni, complessit, cambi tecnologici,
ecc.

I difetti nel codice, se eseguiti, possono causare


esiti negativi.
Gli esiti negativi si possono presentare anche a causa di
fattori esterni, come ad esempio i fenomeni magnetici o
meteorologici.
2014 ALTEN Italia S.p.A.

31

ISTQB Corso Livello Foundation

Fondamenti del testing


Terminologia
Error (errore): azione umana che produce un risultato
non corretto (scrivere codice non corretto)
Fault (guasto): la manifestazione di un errore, nel
software
noto anche come defect (difetto) or bug (baco)
se eseguito, un fault pu generare un
Failure (fallimento esito negativo): deviazione del
comportamento del software da quanto atteso.
Lerror unazione; il fault uno stato del
software, che pu generare un failure
2014 ALTEN Italia S.p.A.

32

ISTQB Corso Livello Foundation

Che cos il testing?

Testing (dal glossario): Il processo che include tutte le attivit, sia statiche
che dinamiche, del ciclo di vita, riguardanti lanalisi di prodotti
software e dei prodotti di lavoro correlati, per valutare se essi
soddisfano i requisiti specificati.

Il testing e il debugging sono attivit differenti


Il debugging lattivit di localizzazione e correzione dei
difetti. Fa parte del processo di sviluppo, non del testing.
Lobiettivo del testing la pi o meno sistematica
rilevazione di esiti negativi (che sono indice della
presenza di difetti).

2014 ALTEN Italia S.p.A.

38

ISTQB Corso Livello Foundation

Livello di
maturit del test

Vantaggi del testing

Requisiti

Analisi

Sviluppo

Test

Produzione

5%

20 %

40 %

30 %

<5%

3%

12 %

30 %

50 %

5%

0%

2%

20 %

70 %

8%

0%

0%

3%

80 %

17 %

0%

0%

2%

50 %

48%

20

50

100

Distribuzione Fault
COSTO PER
BUG FIXING

2014 ALTEN Italia S.p.A.

40

ISTQB Corso Livello Foundation

Sette Principi del Testing

1.

2.

3.

4.

Il fatto di non trovare difetti col testing non implica


la correttezza del software. Il testing riduce la
probabilit che si manifestino i difetti non trovati.
Il test esaustivo non possibile. Lanalisi
del rischio e le priorit indicano come
distribuire le risorse.
Il testing deve iniziare il prima possibile
e deve avere obiettivi ben definiti.
I difetti tendono a raggrupparsi (cluster); un
piccolo insieme di moduli contiene un grosso
numero di difetti.

2014 ALTEN Italia S.p.A.

43

ISTQB Corso Livello Foundation

Sette Principi del Testing

5.

6.

7.

Paradosso del pesticida. Se gli stessi test


vengono ripetuti, la loro efficacia nel trovare difetti
diminuir nel tempo.
Il test viene svolto in modi diversi a seconda del
contesto. Ad esempio, il test di un software
safety-critical svolto in modo diverso dal test di
un software di e-commerce.
Trovare e risolvere difetti inutile se il sistema
non soddisfa le aspettative e le esigenze degli
utenti.

2014 ALTEN Italia S.p.A.

44

ISTQB Corso Livello Foundation

Fondamenti del Processo di Test


La parte pi visibile del processo di testing
quella dellesecuzione, ma perch lintero
processo sia efficace necessario svolgere
diverse attivit.
Il processo di test consiste nelle seguenti:

Pianificazione dei test e controllo


Analisi e progettazione dei test
Implementazione ed esecuzione dei test
Valutazione dei criteri duscita e reportistica
Attivit di chiusura del test

2014 ALTEN Italia S.p.A.

45

ISTQB Corso Livello Foundation

La Psicologia del Testing


Capita a tutti di sbagliare, ma a nessuno piace
sentirselo dire.
La mentalit con cui si svolge il testing diversa
da quella con cui si sviluppa. Lindipendenza dei
ruoli fornisce diversi benefici ed aiuta a
raggiungere risultati migliori.
In alcuni casi la conoscenza del
codice invece un fattore
importante.

2014 ALTEN Italia S.p.A.

66

ISTQB Corso Livello Foundation

La Psicologia del Testing


Possono nascere incomprensioni e contrasti se i
tester sono visti come messaggeri di cattive notizie
sui difetti. Le seguenti azioni possono aiutare a
migliorare la situazione:
Ricordare sempre che lobiettivo comune la qualit del
progetto.
Comunicare in maniera neutra, focalizzandosi solo sui
fatti ed sui dati, anzich sulle persone.
Comprendere sensazioni e reazioni altrui.
Assicurarsi che linterlocutore abbia compreso quanto
condiviso.
2014 ALTEN Italia S.p.A.

70

ISTQB Corso Livello Foundation

Il testing durante il ciclo di vita


del software
1.
2.

3.
4.
5.
6.
7.

2014 ALTEN Italia S.p.A.

74

Fondamenti del testing


Il testing durante il ciclo di vita del
software
Tecniche statiche
Tecniche di progettazione di test
Gestione del test
Supporto di tool per il testing
Riferimenti
ISTQB Corso Livello Foundation

Il testing durante il ciclo di vita del software

In questo capitolo presenteremo i seguenti


argomenti:
Modelli di sviluppo del software
Livelli di test
Tipi di test

2014 ALTEN Italia S.p.A.

75

ISTQB Corso Livello Foundation

Il testing durante il ciclo di vita del software

Il testing non unattivit indipendente dal ciclo di


sviluppo del software, le attivit di test sono
collegate alle attivit di sviluppo.
Diversi modelli del ciclo di sviluppo del software
necessitano di diversi approcci al test.
Una tipica classificazione dei modelli di sviluppo
la seguente:

Modelli sequenziali
Modelli evolutivi
Modelli incrementali
Processi Agili

2014 ALTEN Italia S.p.A.

Modelli iterativi

76

ISTQB Corso Livello Foundation

Modello a V - Sequenziale

Il modello a V costituisce lintegrazione delle fasi di


testing nel modello sequenziale (waterfall) in
alternativa al modello
classico che prevede
il testing come ultima
fase prima del rilascio
dellapplicazione.

2014 ALTEN Italia S.p.A.

77

ISTQB Corso Livello Foundation

Modello a V - Sequenziale

Definizione dei requisiti

Test di accettazione

Progettazione Funzionale del sistema

Test di sistema

Progettazione Tecnica del sistema

Test di integrazione

Specifica di componente

Test di componente

Programmazione

2014 ALTEN Italia S.p.A.

79

ISTQB Corso Livello Foundation

Modelli di Sviluppo Iterativi


In questi modelli la progettazione, lo sviluppo ed il
test vengono affrontati in modo incrementale e
sono basati su un insieme crescente di requisiti.
In questo modo si riduce il rischio di produrre il
prodotto sbagliato, infatti, esso viene validato dal
cliente fin dai primi cicli di sviluppo.
Esempi di questo modello di ciclo di vita sono: il
Prototyping, il RAD (Rapid Application Development),
UP (Unified Process) ed i modelli di sviluppo Agile.

2014 ALTEN Italia S.p.A.

80

ISTQB Corso Livello Foundation

Modelli di Sviluppo Iterativi


Un sistema prodotto con questi modelli pu essere
sottoposto a test di diverso livello durante ogni
ciclo di sviluppo.
Assume quindi un aspetto preponderante il test di
regressione.
Allinsieme dei test di regressione, si aggiungono
quelli relativi alla nuova iterazione.

2014 ALTEN Italia S.p.A.

84

ISTQB Corso Livello Foundation

Modelli di Sviluppo Iterativi


Un modo per vedere come si distribuisce il test nei
modelli iterativi il seguente:
Rilascio 1

Rilascio 2

Rilascio 3

Rilascio 4

Rilascio 5

Rilascio e test
2014 ALTEN Italia S.p.A.

85

ISTQB Corso Livello Foundation

Il testing nel ciclo di sviluppo


Qualsiasi sia il modello di sviluppo, il buon testing
caratterizzato dal fatto che:
Ad ogni attivit di sviluppo corrisponde unattivit di
testing.
Ogni livello di test ha degli obiettivi specifici per quel
livello.
Lanalisi e la progettazione dei test di un livello
dovrebbero iniziare durante la corrispondente attivit di
sviluppo.
I tester dovrebbero essere coinvolti nella review dei
documenti non appena essi sono disponibili.

2014 ALTEN Italia S.p.A.

86

ISTQB Corso Livello Foundation

Livelli di Test
Per ogni livello di test possibile identificare i
seguenti:

Obiettivi generici dellattivit.


I documenti da cui derivare i test case (detti basi di test).
Loggetto del test, cio cosa si vuole testare.
Tipologia di difetti che si vuole individuare.
Ambiente di test e tool di supporto.
Ruoli e responsabilit.

2014 ALTEN Italia S.p.A.

87

ISTQB Corso Livello Foundation

Test di Componente
Chiamato anche test di Modulo o di Unit.
Cerca difetti in parti di codice testabili
separatamente dal resto dellapplicazione: moduli
software, programmi, oggetti, classi.
Pu includere il testing di
funzionalit, di utilizzo risorse
(memory leak), robustezza o
test strutturale (copertura
delle istruzioni o delle
decisioni).
2014 ALTEN Italia S.p.A.

88

ISTQB Corso Livello Foundation

Test di Componente
E spesso necessario usare stub, driver o
simulatori.
Lattivit viene svolta con il supporto degli
sviluppatori e i difetti vengono corretti non appena
rilevati. E meno importante una loro gestione
formale.
Un approccio pu essere quello di pensare i test
prima di sviluppare il codice (test-first o test-driven
development). E un approccio molto iterativo e
tipico dello sviluppo agile.
2014 ALTEN Italia S.p.A.

89

ISTQB Corso Livello Foundation

Test di Componente
I tipici difetti trovati durante il testing di
componente sono calcoli errati o cammini nel
software scelti in modo errato (condizioni espresse
male)
La robustezza un altro aspetto molto importante
del testing di componente
Importanti sono anche efficienza e manutenibilit

2014 ALTEN Italia S.p.A.

90

ISTQB Corso Livello Foundation

Test di Integrazione
Si concentra sulle interfacce tra componenti,
interazioni con altre parti del sistema come il SO,
lhardware e altri sistemi.
Ci possono essere pi livelli di integrazione e
quindi gli oggetti del test possono essere di
diverse dimensioni, ad esempio:
Integrazione di componenti. Si svolge dopo il test di
componente.
Integrazione fra sistemi o tra hardware e software. Si
svolge dopo il test di sistema.

2014 ALTEN Italia S.p.A.

92

ISTQB Corso Livello Foundation

Test di Sistema
Il test di sistema verifica che il prodotto integrato
soddisfi i requisiti specificati.
Ci sono almeno due motivi per i quali questo livello
ancora necessario dopo i test di componente e
di integrazione:
Il test di sistema valuta il sistema dalla prospettiva del
cliente e dellutente finale. I tester validano se i requisiti
utente sono soddisfatti completamente ed in modo
appropriato
Molte funzioni e caratteristiche del sistema risultano
dalle interazioni di tutti i componenti del sistema e quindi
sono visibili solo quando tutto il sistema integrato.

2014 ALTEN Italia S.p.A.

107

ISTQB Corso Livello Foundation

Test di Sistema

Strumenti di
Monitoraggio

HOST PC

Sistema oggetto
del test

HOST PC

STTE

Strumenti di
Supporto (es.
simulatori)
STTE
(Special Type
Test Equipment)

(Special Type
Test Equipment)

ETH

RS232

RS232

ETH

RS422 (V11)

2014 ALTEN Italia S.p.A.

110

ISTQB Corso Livello Foundation

Tipi di Test
Allinterno di ciascun livello di test possono essere
utilizzati diversi tipi di test a seconda di quale sia il
particolare obiettivo, ad esempio:

Una funzione svolta del software.


Una caratteristica non funzionale (ad es. lusabilit).
La struttura o larchitettura del software o del sistema.
Verificare delle modifiche (ad es. la rimozione di un
difetto).

2014 ALTEN Italia S.p.A.

116

ISTQB Corso Livello Foundation

Tipi di Test Test Funzionale


Le funzionalit indicano cosa il sistema deve fare.
La loro descrizione pu essere tipicamente trovata
nei requisiti funzionali o negli use case.
Il test funzionale considera il comportamento
esterno del sistema (black-box testing).
I test funzionali possono essere svolti a qualsiasi
livello di test.

2014 ALTEN Italia S.p.A.

118

ISTQB Corso Livello Foundation

Tipi di Test Test Non Funzionale


Il test non funzionale include il test prestazionale, il
test di carico, lusabilit, la manutenibilit,
laffidabilit e la portabilit.
E un test su come il sistema deve funzionare.
Il termine non funzionale indica la necessit di
misurare una caratteristica.

2014 ALTEN Italia S.p.A.

120

ISTQB Corso Livello Foundation

Tipi di Test Test Non Funzionale

modello ISO 9126

2014 ALTEN Italia S.p.A.

122

ISTQB Corso Livello Foundation

Tipi di Test Test Strutturale


Il testing strutturale (white box) pu essere svolto a
qualsiasi livello di test.
La copertura, espressa in percentuale, la prova
che la struttura stata esercitata completamente
da un insieme di test.
Le tecniche strutturali sono utilizzate al meglio se
utilizzate in aggiunta a tecniche basate sulle
specifiche.

2014 ALTEN Italia S.p.A.

123

ISTQB Corso Livello Foundation

Tipi di Test Test Strutturale


Nei livelli pi bassi del test (componente,
integrazione), utile lutilizzo di strumenti
automatici per misurare la copertura del codice,
delle decisioni.
Il test strutturale pu basarsi anche
sullarchitettura del sistema, come una gerarchia di
chiamate.

2014 ALTEN Italia S.p.A.

124

ISTQB Corso Livello Foundation

Tipi di Test Test sulle Modifiche


Dopo che un difetto stato rilevato e corretto, il
software deve essere nuovamente testato per
verificare leffettiva rimozione (test confermativo) e
che ci non abbia causato linsorgenza di nuovi
difetti nel resto dellapplicazione (test di
regressione).
Il test di regressione si applica anche nel caso di
modifiche allambiente operativo, quindi non del
software stesso.
Per sua natura il test di regressione un ottimo
candidato per essere automatizzato.
2014 ALTEN Italia S.p.A.

125

ISTQB Corso Livello Foundation

Tecniche statiche
1.
2.

3.
4.
5.
6.
7.

2014 ALTEN Italia S.p.A.

144

Fondamenti del testing


Il testing durante il ciclo di vita del
software
Tecniche statiche
Tecniche di progettazione di test
Gestione del test
Supporto di tool per il testing
Riferimenti
ISTQB Corso Livello Foundation

Tecniche Statiche e Processo di Test


Diversamente dalle tecniche dinamiche, che
richiedono lesecuzione di software, le tecniche
statiche si basano sullesame manuale (review) e
su analisi automatiche (analisi statica) del codice o
di altri documenti di progetto.
Le review sono modi di testare manufatti
(deliverable) e possono essere svolte prima
dellesecuzione dinamica. Difetti trovati durante le
review nelle fasi iniziali del progetto sono molto
meno costosi da rimuovere di quelli trovati durante
lesecuzione dei test.
2014 ALTEN Italia S.p.A.

145

ISTQB Corso Livello Foundation

Tecniche Statiche e Processo di Test


I benefici delle review includono: la scoperta
anticipata e la correzione di difetti, incremento
della produttivit nello sviluppo, riduzione dei costi
di testing, e riduzione globale dei costi.
Le review possono trovare omissioni, come ad
esempio requisiti mancanti o sottintesi, o
inconsistenze che il test dinamico non pu trovare.

2014 ALTEN Italia S.p.A.

147

ISTQB Corso Livello Foundation

Analisi Statica con Tool


Lobiettivo dellanalisi statica quello di trovare
difetti nel codice o nel modello del software.
I vantaggi dellanalisi statica includono:
Scoperta anticipata dei difetti
Scoperta di possibili aspetti sospetti del codice, o del
modello del sistema, attraverso il calcolo di metriche ad
esempio sulla complessit
Scoperta di difetti non identificabili con il test dinamico
Scoperta di dipendenze o inconsistenze
Miglioramento nella manutenibilit del codice
Prevenzione di difetti simili in futuri progetti
2014 ALTEN Italia S.p.A.

158

ISTQB Corso Livello Foundation

Analisi Statica con Tool


I difetti tipici che vengono individuati da tool di
analisi statica sono:
Variabili con valori indefiniti
Variabili che non sono usate o che sono impropriamente
dichiarate
Codice morto
Errori logici (potenziali cicli infiniti)
Costrutti logici inutilmente complessi
Violazioni a standard di programmazione
Vulnerabilit di sicurezza

2014 ALTEN Italia S.p.A.

159

ISTQB Corso Livello Foundation

Tecniche di progettazione di test


1.
2.

3.
4.
5.
6.
7.

2014 ALTEN Italia S.p.A.

164

Fondamenti del testing


Il testing durante il ciclo di vita del
software
Tecniche statiche
Tecniche di progettazione di test
Gestione del test
Supporto di tool per il testing
Riferimenti
ISTQB Corso Livello Foundation

Categorie di Tecniche di
Progettazione dei Test
Lo scopo delle diverse tecniche di progettazione
dei test quello di identificare le condizioni di test,
i test case ed i dati di test.
Tipicamente si distinguono tecniche black-box e
white-box.

2014 ALTEN Italia S.p.A.

171

ISTQB Corso Livello Foundation

Categorie di Tecniche di
Progettazione dei Test
Nelle tecniche Black-Box le informazioni
necessarie alla progettazione dei test vengono
derivate dallanalisi della documentazione, sia per
il test funzionale che quello non funzionale.
Nelle tecniche White-Box le informazioni vengono
derivate dalla struttura del componente o del
sistema.

2014 ALTEN Italia S.p.A.

172

ISTQB Corso Livello Foundation

Tecniche Black-Box
Partizioni in classi di Equivalenza (Equivalence
Partitioning)
I possibili input di un sistema sono divisi in gruppi da cui
ci si aspetta un comportamento uniforme.
Le partizioni di equivalenza (o classi) possono
contenere dati validi e non validi.
Partizioni possono essere identificate anche per gli
output, valori intermedi, valori temporali, parametri di
interfacce, ecc.
Il test viene progettato in modo da coprire tutte le
partizioni valide e non valide.

2014 ALTEN Italia S.p.A.

174

ISTQB Corso Livello Foundation

Tecniche Black-Box
Esempio

Min negativo

-1

Classe di
equivalenza invalida

2014 ALTEN Italia S.p.A.

1000 1001

Dominio
di input

Classe di
equivalenza Valida

175

Max positivo

1000

Classe di
equivalenza invalida

ISTQB Corso Livello Foundation

Tecniche Black-Box
Analisi dei Valori Limite
Il comportamento ai limiti delle classi di equivalenza
quello maggiormente a rischio
Il valore massimo e quello minimo di una partizione
sono i valori limite
E una tecnica particolarmente facile ed estremamente
efficace
I valori limite si ottengono analizzando la specifica di
dettaglio

2014 ALTEN Italia S.p.A.

183

ISTQB Corso Livello Foundation

Tecniche Black-Box

Transizioni di Stato
Un sistema pu avere un comportamento dipendente
dalla condizione in cui si trova in un determinato istante,
oltre che da eventi esterni.
In questi casi si pu rappresentare il comportamento del
sistema con un diagramma di transizioni di stato.
Questo permette al tester di vedere il sistema come un
insieme di stati e transizioni tra stati, eventi che
provocano il cambiamento di stato e azioni che sono
eseguite in base a questi cambiamenti.
Gli stati del sistema sono separati, identificabili ed in
numero finito.
2014 ALTEN Italia S.p.A.

193

ISTQB Corso Livello Foundation

Tecniche Black-Box
Transizioni di Stato: Esempio
top
pop [se dimensione > 1]
push [se dimensione < Max-1]
init

top

push
[dimensione = Max-1]
push

vuota

parzialmente
riempita
pop
[dimensione = 1]

piena
pop

delete
Legenda:

Stato di Inizio e Fine


Transizione di stato
nome Stato

2014 ALTEN Italia S.p.A.

196

ISTQB Corso Livello Foundation

Tecniche White-Box

Sono basate sulla conoscenza della struttura del


software o del sistema, ad esempio:
A livello di componente: la struttura del componente,
come le istruzioni, le decisioni, i rami di codice, ecc.
A livello di integrazione: la struttura potrebbe essere
lalbero delle chiamate (diagramma con le chiamate fra i
diversi moduli).
A livello di sistema: potrebbe essere la struttura dei
menu, il processo di business o la mappa di navigazione
di un sito web.

Per le tecniche white-box di estremo aiuto


lutilizzo di strumenti automatici.
2014 ALTEN Italia S.p.A.

200

ISTQB Corso Livello Foundation

Tecniche White-Box

Tra le tecniche di progettazione di test white-box


vedremo:
Testing e copertura delle istruzioni
Testing e copertura delle decisioni
Testing e copertura delle condizioni (cenni)

2014 ALTEN Italia S.p.A.

201

ISTQB Corso Livello Foundation

Tecniche White-Box
Testing delle istruzioni e copertura
Questa tecnica si focalizza su ogni singola istruzione
delloggetto del test (codice)
Il primo passo consiste nella creazione del grafo del
flusso di controllo
Nel grafo le istruzioni condizionali sono rappresentate
come nodi, ed il flusso di controllo tra le istruzione
rappresentato attraverso archi (connessioni)
I test case devono eseguire una quota minima
predefinita (obiettivo del test) delle istruzioni delloggetto
del test; idealmente il 100%

2014 ALTEN Italia S.p.A.

202

ISTQB Corso Livello Foundation

Tecniche White-Box
Se sequenze di istruzioni
non condizionali appaiono
in un frammento di programma,
IF
allora esse sono illustrate
come un singolo elemento.
Istruzioni condizionali
c
(IF, CASE) e cicli
(WHILE, FOR) hanno
pi diramazioni che
ENDIF
escono da essi.

a
b

Istr
Istr

204

DO
Istr
g

WHILE

Istr
d

ENDIF

2014 ALTEN Italia S.p.A.

IF

ISTQB Corso Livello Foundation

Tecniche White-Box
Testing delle decisioni e copertura
E la valutazione della percentuale di decisioni
sollecitate da una test suite.
Le decisioni sono i valori Vero e Falso assunti dalla
condizione complessiva utilizzata in unistruzione
condizionale
Facendo riferimento al grafo, le decisioni sono
rappresentate dagli archi.
Si noti che il 100% di copertura delle decisioni implica il
100% della copertura delle istruzioni, ma non il
viceversa.

2014 ALTEN Italia S.p.A.

205

ISTQB Corso Livello Foundation

Tecniche White-Box
Facendo riferimento allesempio si noti
che la copertura delle istruzioni
b
Istr
data da un solo test case:
a, b, f, g, h, d, e

IF

Mentre per la copertura


delle decisioni servono 3
test case:

IF

Istr

DO
c

a, b, c, d, e
a, b, f, g, i, g, h, d, e
a, k, e

Istr
g

WHILE
ENDIF

206

Istr
d

ENDIF

2014 ALTEN Italia S.p.A.

ISTQB Corso Livello Foundation

Gestione del test


1.
2.

3.
4.
5.
6.
7.

2014 ALTEN Italia S.p.A.

233

Fondamenti del testing


Il testing durante il ciclo di vita del
software
Tecniche statiche
Tecniche di progettazione di test
Gestione del test
Supporto di tool per il testing
Riferimenti
ISTQB Corso Livello Foundation

Gestione del test


In questo capitolo presenteremo i seguenti
argomenti:

Organizzazione del testing


Pianificazione e stima del test
Monitoraggio e controllo nellavanzamento del test
Gestione della configurazione
Gestione degli incidenti

2014 ALTEN Italia S.p.A.

234

ISTQB Corso Livello Foundation

Organizzazione del test


Organizzazione del test e indipendenza
Lefficacia nello scoprire gli errori con tecniche statiche e
dinamiche pu essere aumentata impiegando tester
indipendenti. Lindipendenza pu essere di diversi gradi:
1. Assenza di tester indipendenti. Gli sviluppatori testano il
proprio codice.
2. Tester indipendenti allinterno del team di sviluppo.
3. Gruppi di test indipendenti allinterno della stessa azienda.
4. Tester indipendenti appartenenti al business o agli utenti.
5. Specialisti del test specifico, ad esempio usabilit, sicurezza.
6. Tester esterni allazienda (Outsourcing del test).

2014 ALTEN Italia S.p.A.

235

ISTQB Corso Livello Foundation

Pianificazione del test e stima


Pianificazione del test
Il contenuto di un piano di test descritto dal documento
standard for test documentation (IEEE Std 829-1998).
La pianificazione influenzata dalla politica aziendale di
test, dallo scopo del test, gli obiettivi, i rischi, i vincoli, le
criticit, la testabilit e la disponibilit delle risorse.
Con lavanzamento del progetto e del test stesso,
diventano disponibili maggiori informazioni che possono
essere inserite nel piano di test.
La pianificazione del test unattivit dinamica che dura tutto il
progetto e le informazioni ottenute possono modificare, ad
esempio, rischi ed approcci dei rimanenti test.

2014 ALTEN Italia S.p.A.

246

ISTQB Corso Livello Foundation

Strategia e approccio al test


Scegliere una strategia appropriata una delle pi
importanti decisioni delle attivit di pianificazione
Lobiettivo di scegliere un approccio di test che
ottimizzi la relazione costi/benefici

Una strategia di test definisce


gli obiettivi di testing del progetto
i modi per raggiungerli

La strategia di test determina quindi anche:


lo sforzo del testing
i costi di testing

2014 ALTEN Italia S.p.A.

254

ISTQB Corso Livello Foundation

Strategia e approccio al test


Lapproccio al test limplementazione della
strategia per un progetto specifico.
Lapproccio definito e raffinato nel piano di test e
nella progettazione dei test.
Include le decisioni prese in base agli obiettivi ed
alle valutazioni sui rischi.
E il punto dinizio per la pianificazione del
processo di test, per la scelta delle tecniche di
progettazione, per la definizione dei criteri di
ingresso e uscita, e per i tipi di test da
implementare.
2014 ALTEN Italia S.p.A.

255

ISTQB Corso Livello Foundation

Monitoraggio e controllo del test


Metriche tipiche del monitoraggio sono:
Percentuale del lavoro fatto nella preparazione dei test
case.
Esecuzione dei test case (numero dei test case eseguiti,
numero di test case falliti).
Informazioni sui difetti (densit, trovati e corretti, risultati
dei re-test).
Copertura dei requisiti.

2014 ALTEN Italia S.p.A.

259

ISTQB Corso Livello Foundation

Configuration management
Lo scopo del configuration management (CM) di
stabilire e mantenere lintegrit dei prodotti
(componenti, dati e documentazione) durante il
ciclo di vita del progetto e del prodotto.
Nellambito specifico del testing, il CM garantisce
che:
Tutti gli oggetti del testware sono identificati, sottoposti a
controllo della versione, le modifiche siano tracciate.
Tutti i documenti e oggetti software siano referenziati in
modo non ambiguo nella documentazione di test.

2014 ALTEN Italia S.p.A.

263

ISTQB Corso Livello Foundation

Gestione degli incidenti


Lo scopo del testing trovare difetti. Le
discrepanze tra i risultati ottenuti e quelli previsti
vengono tracciate tramite incidenti.
Un incidente deve essere investigato e pu
rivelarsi un difetto.
Devono essere definite appropriate azioni per
gestire gli incidenti; essi devono essere tracciati,
classificati e ne deve essere confermata la
soluzione.
Per fare ci necessario definire un processo per
la gestione e delle regole per la classificazione.
2014 ALTEN Italia S.p.A.

272

ISTQB Corso Livello Foundation

Supporto di tool per il testing


1.
2.

3.
4.
5.
6.
7.

2014 ALTEN Italia S.p.A.

287

Fondamenti del testing


Il testing durante il ciclo di vita del
software
Tecniche statiche
Tecniche di progettazione di test
Gestione del test
Supporto di tool per il testing
Riferimenti
ISTQB Corso Livello Foundation

Strumenti di supporto al testing


Lattivit di testing pu trovare grossi miglioramenti
in termini di efficacia ed efficienza se supportata
dagli strumenti adeguati. In particolare:
Per lesecuzione dei test, generazione di dati per i test,
per il confronto tra i risultati previsti e quelli ottenuti
Per la gestione del processo di test: gestione dei test,
dei risultati, dei dati, dei requisiti, degli incident e per il
reporting
Per lesplorazione: monitor, sonde, ecc

2014 ALTEN Italia S.p.A.

288

ISTQB Corso Livello Foundation

Strumenti di supporto al testing


Possono avere diversi scopi a seconda del
contesto, ad esempio:
Incrementare lefficienza ad esempio automatizzando
test ripetitivi o aiutando la gestione delle attivit.
Automatizzare attivit che se svolte in modo manuale
richiederebbero risorse significative, come ad esempio il
test statico.
Automatizzare attivit che non possono essere fatte
manualmente, come ad esempio test di performance su
larga scala.
Incrementare laffidabilit del test.

2014 ALTEN Italia S.p.A.

289

ISTQB Corso Livello Foundation

Utilizzo dei tool: benefici e rischi


Il prezzo non lunico costo per lintroduzione di
un tool in unorganizzazione.
La sua introduzione comporta inoltre dei benefici,
ma presenta anche dei rischi.
I potenziali benefici sono:

Riduzione del lavoro ripetitivo (test di regressione)


Maggiore consistenza e ripetibilit dei test
Valutazione obiettiva dei risultati
Maggiore facilit ad accedere alle informazioni
necessarie al testing ed ai report del testing

2014 ALTEN Italia S.p.A.

302

ISTQB Corso Livello Foundation

Utilizzo dei tool: benefici e rischi


I potenziali rischi sono:
Aspettative irrealistiche dai tool
Sottovalutazione del tempo, dei costi e dello sforzo per
lintroduzione iniziale del tool (inclusa la formazione)
Sottovalutazione del tempo e dello sforzo necessari per
raggiungere significativi e continui benefici, incluse
variazioni al processo di sviluppo.
Sottovalutazione dello sforzo necessario alla
manutenzione del tool e dei suoi risultati.
Sovrastima delle attivit che il tool pu svolgere.
Problemi con il fornitore, il prodotto e lassistenza.
2014 ALTEN Italia S.p.A.

303

ISTQB Corso Livello Foundation

Riferimenti
1.
2.

3.
4.
5.
6.
7.

2014 ALTEN Italia S.p.A.

314

Fondamenti del testing


Il testing durante il ciclo di vita del
software
Tecniche statiche
Tecniche di progettazione di test
Gestione del test
Supporto di tool per il testing
Riferimenti
ISTQB Corso Livello Foundation

Riferimenti Bibliografici

A. Spillner, T. Linz, H. Schaefer


Software Testing Foundations: A Study Guide for the Certified Tester
Exam (3rd edition) Rockynook Jan 2011
Dorothy Graham, Isabel Evans, Erik Van Veenendaal, Rex Black
Foundations of Software Testing: ISTQB Certification (3nd edition)
Cengage - 2011

2014 ALTEN Italia S.p.A.

315

ISTQB Corso Livello Foundation

STF Italian Software Testing Forum

Levento italiano sul Testing e la Qualit di


Prodotti e Servizi Software Intensive, che fa
parte dellISTQB Conference Network
La quarta edizione si tenuta a Milano dal 23 al 26
giugno 2014
Organizzazione in due giornate
Prima giornata dedicata a tutorial specializzati
Seconda giornata di conferenza ad ingresso libero
2014 ALTEN Italia S.p.A.

Page 316

ISTQB Corso Livello Foundation

STF 2013 Facts & Figures

Alcuni dati quantitativi relativi alla quarta edizione di STF, che ha


avuto un ottimo riscontro da parte di Partecipanti e Sponsor
Numero di partecipanti ai tutorial:
Numero di iscritti alla conferenza:
Numero di presentazioni:
Numero di sponsor:
Numero di patrocinanti:
Indice di soddisfazione dei partecipanti ai tutorial:
Indice di soddisfazione dei partecipanti alla conferenza:
Percentuale di partecipanti che hanno dichiarato interesse a
partecipare a future edizioni dellevento

71
506
30
14
4
76,68 %
76,12 %
92%

I video delle presentazioni della sessione plenaria e delle interviste


agli Sponsor sono disponibili su: www.swtestingforum.orgv

2014 ALTEN Italia S.p.A.

Page 317

ISTQB Corso Livello Foundation

Per approfondimenti

Per ulteriori dettagli:


Sito web ITA-STQB:
Sito web STF:
Sito web ISTQB:
Sito web REQB:
Sito web CMAP:

www.ita-stqb.org
www.swtestingforum.org
www.istqb.org
www.reqb.eu
www.isqi.org/en/mobile-app-professional.html

Community LinkedIn ITA-STQB:


http://www.linkedin.com/groups?gid=2336142&about=

Contatto e-mail:

2014 ALTEN Italia S.p.A.

info@ita-stqb.org

318

ISTQB Corso Livello Foundation

Social Networks ISTQB

YouTube presence:

http://www.youtube.com/ISTQBORG

Slide Share presence: http://www.slideshare.net/ISTQBORG


LinkedIn Community:

ISTQB International Software Testing


Qualifications Board

Twitter channel:

http://twitter.com/ISTQBORG

XING community:

https://www.xing.com/net/ISTQB

Facebook presence:

http://www.facebook.com/ISTQBORG

ISTQB Smartshow

2014 ALTEN Italia S.p.A.

319

ISTQB Corso Livello Foundation