taget direkte fra hylderne, Ole Chr. Hansen

Nye testteknikker fra ISTQB
- direkte fra hylderne
Ole Chr. Hansen
TestExpo
29. Januar 2015
Præsentation
Ole Chr. Hansen
•
•
Managing Consultant
Fellow – SogetiLabs – Global Innovation Team
•
•
•
Blog - http://ochansen.blogspot.com
LinkedIn: www.linkedin.com/in/ochansen
Twitter: www.twitter.com/Ole_Chr_Hansen
•
•
•
•
•
•
•
•
ISTQB Accredited Trainer in Software Testing
ISEB Practitioner Certificate in Software Testing
ISTQB Foundation Certificate in Software Testing
TMap NEXT® Test Engineer Certificate
TPI NEXT® Foundation Certificate
PRINCE2 Foundation Certificate
Certified Scrum Master
Certified Lead Assessor (ISO 9000)
•
•
Sogeti, ATP, Nordea, BRFkredit, WM-data, CRI, LEC
15+ år inden for softwaretest, 10+ år inden for it-udvikling/projektledelse
© Capgemini Sogeti
2
Test teknikker – Testanalytikerens værktøjskasse
© Capgemini Sogeti
3
Hvad er nyt
Testteknik
ISTQB ATA Pensum
2007
2012
Ækvivalenspartitionering
X
X
Grænseværdianalyse
X
X
Beslutningstabeller
X
X
Årsags-virkningstest
X
X
Tilstandsovergangstest
X
X
Klassifikationstræmetode
X
X
Parvis test
X
X
Ortogonale arrays (del af parvis test)
X
X
Usecase test
X
X
Userstory test
X
Domæneanalyse
X
© Capgemini Sogeti
4
Domæneanalyse
Domæneanalyse – Introduktion
Et domæne er et defineret sæt af værdier.
Lige som ækvivalenspartition – alle værdierne i en partition forventes at blive
håndteret på samme måde af systemet:
• Hvis en værdi fungerer – så fungerer alle
• Hvis en værdi fejler – så fejler alle
Præmis for at det er
en partition
Endimensionelt domæne – en variabel.
Multidimensionelt domæne – to eller flere variable som interagerer.
Eksempel:
Mænd over 24 år og under 66 år, og med vægt over 69 kg og under 90 kg.
© Capgemini Sogeti
6
Domæneanalyse – Fordele
Brug af ækvivalenspartitionering og grænseværdianalyse vil få antallet af testcases til
at stige eksponentielt.
Domæneanalyse:
• Har den fordel, at den kun vil give en liniær stigning i antal testcases.
• Vil kunne finde defekter i multidimensionelle domæner, som de større testsæt ikke vil
finde.
• Det kræver it-understøttelse at bestemme værdierne til testcases ved 3 eller flere
dimensioner.
© Capgemini Sogeti
7
Domæneanalyse – Anvendelighed
Anvendelighed:
• Kombinerer de teknikker, der anvendes for beslutningstabeller,
ækvivalenspartitionering og grænseværdianalyse.
• Identificerer et mindre antal testcases
• Dækker de vigtigste områder
• Sandsynlige fejlområder.
• Anvendes ofte, hvor beslutningstabeller bliver for store grundet et stort
antal variable/betingelser.
• Kan anvendes på alle testniveauer – mest integrations- og systemtest.
© Capgemini Sogeti
8
Domæneanalyse – Begrænsninger
Begrænsninger:
• Kræver en stærk forståelse af softwaren for at identificere
domænerne og den eventuelle interaktion mellem dissse.
• Hvis et domæne er uidentificeret kan testen blive
mangelfuld – men vil sandsynligvis blive fundet for nogle af
værdierne vil lande der.
• Mest anvendelig til partitioner der består af kontinuerte
værdier.
© Capgemini Sogeti
9
Domæneanalyse – Definition
Domæneanalyse – En black-box testdesignteknik, der bruges til at identificere
effektive og egnede testcases, når flere variabler kan eller bør testes sammen. Den
bygger på og generaliserer ækvivalenspartitionering og grænseværdianalyse. Se også
grænseværdianalyse, ækvivalenspartitionering.
Grænseværdianalyse - En black-box testdesignteknik, hvor testcases designes
baseret på grænseværdier.
Ækvivalenspartitionering - En black-box testdesignteknik, hvor testcases er designet til
at eksekvere repræsentanter fra ækvivalenspartitioner. I princippet designes testcases
til at dække hver partition mindst en gang.
Kilde: ISTQB Terminologiliste, version 2.2
© Capgemini Sogeti
10
Domæneanalyse – Typiske defekter
• Defekter omfatter
• funktionelle problemer inden for domænet
• grænseværdihåndtering
• problemer med interaktion mellem variable
• fejlhåndtering
• specielt for de værdier, der ikke er i et gyldigt domæne
© Capgemini Sogeti
11
Domæneanalyse - Værdier
INDE: Repræsenterer en værdi, der er i partitionen/domænet.
UDE: Repræsenterer en værdi, der er uden for
partitionen/domænet/grænsen.
PÅ: Repræsenterer en værdi på grænsen af partitionen/domænet.
UDENFOR: Repræsenterer en værdi lige uden for partitionens/domænets
grænse – mindst mulige nominelle værdi.
Ved bestemmelse af disse værdier testes hver partition sammen med
dens grænsebetingelser.
Vær opmærksom på:
•
LUKKEDE grænser (>=, <=, =)  PÅ er i domænet
•
ÅBNE grænser (<, >)  PÅ er ikke i domænet
© Capgemini Sogeti
12
Domæneanalyse – Værdier / Optimere testen
Optimering af testen – ingen
gentagelse af en test.
Y
En INDE værdi for et domæne
er en UDE værdi for andet.
200
150
100
D1
INDE – D2
UDE – D1
D2
UDENFOR
50
PÅ
50
© Capgemini Sogeti
100
150
200
X
13
Domæneanalyse – Dækningskriterier
Dækning: Graden, udtrykt som en procentdel, af aktivering af et specificeret
dækningselement ud fra en sekvens af testcases.
Dækningselement: En enhed eller egenskab, der anvendes som grundlag for
testdækning.
Dækningskriterier for domæneanalyse:
Minimumsdækning for domæneanalyse vil være at have en test for hver
INDE, UDE, PÅ og UDENFOR-værdi for hvert domæne.
Hvor der er overlap mellem værdierne, er der ingen grund til at gentage testen. Derfor
er der ofte færre end fire tests pr. domæne.
© Capgemini Sogeti
14
Domæneanalysematrix
Variabel
Betingelse
Type
V1
B1
PÅ
1
2
3
4
5
N
UDENFOR
B2
PÅ
UDENFOR
Bn
PÅ
UDENFOR
Typisk
INDE
Forventet resultat
En værdi er i PÅ
eller UDE – alle
andre i INDE
© Capgemini Sogeti
Hver kolonne har
præcis en værdi
pr. variabel
15
Domæneanalysematrix
Domæneanalysematricen udfyldes som følger:
1. Udfyld variabelnavne
2. Udfyld betingelser
3. Tilføj TYPISK for hver variabel
4. Tilføj PÅ og UDE
5. Tilføj værdier til alle variable
6. Udfyld INDE værdien
7. Udfyldt næste kolonne – ved brug af PÅ og UDE rækkerne
© Capgemini Sogeti
16
Domæneanalyse - Eksempel
• Entre-billet til et arrangement koster 200 DKK.
• Kun hele DKK.
• Der kan betales kontant og/eller med kreditkort
• Kun kontant
• Kun kreditkort
• Kombination af kontant og kreditkort (summerer til
200 DKK)
© Capgemini Sogeti
17
Domæneanalyse - Eksempel
Domænet: Kontant
Grænse
Alle værdier
mindre end 0
Alle
værdier
større end
0
Kontantbetingelse:
X >= 0
-155
-1 0
UDE UDENFOR PÅ
© Capgemini Sogeti
45
INDE
18
Domæneanalyse - Eksempel
Domænet: Kreditkort
Grænse
Alle værdier
mindre end 0
Alle
værdier
større end
0
Kreditkortbetingelse:
X >= 0
-12
-1
0
UDE UDENFOR PÅ
© Capgemini Sogeti
155
INDE
19
Domæneanalyse - Eksempel
Domænet: Kombination af Kontant og Kreditkort
Alle
værdier
større end
200
Grænse
Alle værdier
mindre end
200
Betingelse:
199 200
UDENFOR
© Capgemini Sogeti
PÅ
201
UDE
Kontant + Kreditkort = 200 DKK
Domæneanalyse - Eksempel
Kontant
200
150
100
50
50
© Capgemini Sogeti
100
150
200
Kreditkort
Domæneanalyse - Eksempel
Variabel
Betingelse
Type
Kontant
X >= 0
PÅ
1
2
Kreditkort
INDE
X >= 0
PÅ
4
Kombineret K&KK
INDE
X + Y = 200
PÅ
6
7
-1
45
45
0
UDENFOR
Typisk
5
0
UDENFOR
Typisk
3
-1
155
155
45/15
5
159/4
0
UDENFOR
121/8
0
UDENFOR
INDE
Forventet resultat
© Capgemini Sogeti
Ej
OK
Ej
OK
Ej
OK
Ej
OK
OK
Ej
OK
Ej
OK
Domæneanalyse - Multidimensionelt
Viste eksempel – to-dimensioner.
Kunne være multi-dimensionelt: Anvendelse af flere kreditkort.
© Capgemini Sogeti
23
User story test
Agile…….
Agile metoder – f.eks. Scrum forberedes kravene i form af
user stories, som beskriver små funktionelle enheder, der kan designes,
udvikles, testes og demonstreres i en enkelt iteration.
© Capgemini Sogeti
25
User story test
• User story:
–
–
–
–
Titel og nummer
Som________
Vil jeg____________
Med det formål at_____________
– Værdi, Risiko, Estimat, Acceptkriterier
© Capgemini Sogeti
26
User story test – Definition
User story test – En black-box testdesignteknik hvor testcases designes med
udgangspunkt i user stories for at kontrollere at disse er korrekt implementeret. Se også user story.
User story - Et høj-niveau bruger- eller forretningskrav, almindeligvis anvendt i agil softwareudvikling, typisk
bestående af en eller flere sætninger i hverdags- eller forretningssprog, og som beskriver hvilken funktionalitet en
bruger behøver, eventuelle ikke-funktionelle kriterier, samt godkendelseskriterier. Se også agil softwareudvikling,
krav.
Agil softwareudvikling - En gruppe af softwareudviklingsmetodikker baseret på iterativ inkrementel udvikling, hvor
krav og løsninger udvikles gennem et samarbejde mellem selvorganiserende tværfunktionelle teams.
Krav - En betingelse eller evne, som en bruger behøver for at løse et problem eller opnå et mål, der skal opfyldes
af - eller være indeholdt i - systemet eller systemkomponenten for at opfylde en kontrakt, standard, specifikation
eller andet formelt indført dokument. [Efter IEEE 610]
Kilde: ISTQB Terminologiliste, version 2.2
© Capgemini Sogeti
27
User story test – Typiske defekter
• Defekter er normalt funktionelle
• der leveres ikke den specificerede funktionalitet
• integrationsproblemer med funktionaliteten der allerede er
implementeret ses også
• Stories udvikles uafhængigt
• der kan forekomme performance-, interface- og
fejlhåndteringsproblemer
• Vigtigt at teste både den leverede funktionalitet og
integrationen ved frigivelse af en ny story.
© Capgemini Sogeti
28
User story test – Dækningskriterier
Dækning: Graden, udtrykt som en procentdel, af aktivering af et specificeret
dækningselement ud fra en sekvens af testcases.
Dækningselement: En enhed eller egenskab, der anvendes som grundlag for
testdækning.
Dækningskriterier for user story test:
Minimum dækning af en user story er at verificere, at hvert af de
specificerede acceptkriterier er blevet opfyldt.
© Capgemini Sogeti
29
User story test – Anvendelse
Anvendelse
• Anvendes primært i agile og tilsvarende iterative og inkrementelle
miljøer
• Både funktionel og ikke-funktionel test
• Test på alle niveauer
• Udvikleren demonstrerer user storyens implementerede
funktionalitet for teamet.
© Capgemini Sogeti
30
User story test – Begrænsninger
Begrænsninger
• Små forøgelser af funktionalitet
• Udvikle og bruge stubbe og drivere
• Bruge API-værktøjer
• Normalt udviklerens opgave og ansvar
• Kontinuert integrationsmodel – ses ofte i agile projekter
• Behovet for stubbe og drivere minimaliseret
• F.eks. Først laves en succes-scenarie  denne kode kan dermed
anvendes af andre udviklere i stedet for stubbe/drivere.
• Der mangler fortsat fejlhåndtering, afvisning af ugyldige værdier m.m.,
hvilket leveres senere.
• HUSK: Behovet for regressionstest vil øges for alle iterationer efter den
første.
© Capgemini Sogeti
31
User story test – Eksempel
–
User story: 1 – Køb med kreditkort
–
–
–
Som KUNDE
Vil jeg KUNNE BETALE MED KREDITKORT
Med det formål at KØBE PRODUKTER
–
Acceptkriterier:
– Alle gængse kreditkort
– Kreditmax tjek
– ……
Testcases gængse kreditkort: Dankort, VISA, Mastercard, Diners, Amex…..
Kreditmax tjek: Inden for kreditmax, på kreditmax, overskreden kreditmax
……..
© Capgemini Sogeti
32
Afslutning
Hvad er nyt
Testteknik
ISTQB ATA Pensum
2007
2012
Ækvivalenspartitionering
X
X
Grænseværdianalyse
X
X
Beslutningstabeller
X
X
Årsags-virkningstest
X
X
Tilstandsovergangstest
X
X
Klassifikationstræmetode
X
X
Parvis test
X
X
Ortogonale arrays (del af parvis test)
X
X
Usecase test
X
X
Userstory test
X
Domæneanalyse
X
© Capgemini Sogeti
34
Spørgsmål
© Capgemini Sogeti
35