The bug hunter - Ngi-NGN

advertisement
Vissen in troebel water
Testen en accepteren
2
Software ontwikkeling is …
complex
mensenwerk
Mensen maken vergissingen
(‘errors’) - Errare humanum est
3
Vergissingen (‘errors’) tijdens …
bouw
ontwerp
… leiden tot fouten (‘defects’) in software
Sommige (niet alle) fouten worden
gevonden bij testen
Sommige (niet alle) gevonden fouten
worden verwijderd n.a.v. testen
4




ontwerp

bouw & test
DUS
software in productie bevat
(bekende en onbekende) fouten
5

productie
adaptability
installability
conformance
replaceability
maturity
fault tolerance
recoverability
availability
degradability
analysability
changeability
stability
testability
manageability
reusability
time behaviour
resource behaviour
6
understandability
learnability
operability
explicitness
customisability
attractivity
clarity
helpfullness
user friendliness
suitability
accuracy
interoperability
compliance
security
traceability
Fouten (‘defects’) in software kunnen
(soms) leiden tot het falen (‘failure’)
van systemen
7
8
Falende systemen kunnen (soms)
schade veroorzaken
• menselijk leed
• reputatie
• geld
Het gaat om risico:
Risico = Kans x Schade
9
Project
10
Gebruikers
11
Requirements
12


Risicoanalyse
13



Unit test
(leverancier)
14
Systeem test
(leverancier)
15
Functionele
acceptatietest
(klant)
16
Gebruikersacceptatie test
(klant)
17
Vrijgaveadvies
(testmanager)
18
Go/NoGo beslissing
19
Inproductiename
20
wens, wet,
beleid, kans,
probleem
gebruik &
beheer
Kan ik ermee werken?
requirements
(gebruikers)
functioneel
ontwerp
technisch
ontwerp
realisatie
Klant
acceptatie
tests
Leverancier
systeem
tests
unit tests
Werkt
het geheel?
Zijn de onderdelen in orde?
21
• Leverancier vraagt decharge o.b.v. systeemtest
wens, wet,
beleid, kans,
probleem
gebruik &
beheer
requirements
(gebruikers)
functioneel
ontwerp
technisch
ontwerp
realisatie
22
Klant
acceptatie
tests
Leverancier
systeem
tests
unit tests
• Klant verleent decharge o.b.v. functionele/contractuele
acceptatietest
wens, wet,
gebruik &
beheer
beleid, kans,
probleem
requirements
(gebruikers)
functioneel
ontwerp
technisch
ontwerp
realisatie
23
Klant
acceptatie
tests
Leverancier
systeem
tests
unit tests
• Klant beslist Go/NoGo o.b.v. gebruikers-/productieacceptatietest
wens, wet,
gebruik &
beheer
beleid, kans,
probleem
requirements
(gebruikers)
functioneel
ontwerp
technisch
ontwerp
realisatie
24
Klant
acceptatie
tests
Leverancier
systeem
tests
unit tests
Testen kan de
AANWEZIGHEID van fouten
aantonen
… niet de AFWEZIGHEID ervan
25
• Vissen
• Planten
• Bacterieel
• Chemie
• Helderheid
Alles testen?
• Vissen
• Planten
• Bacterieel
• Vissen
• Planten
• Vissen
26
• Vissen
• Planten
• Bacterieel
• Chemie
=
Alle tijd
Alle geld
=
Onmogelijk
• Vissen
• Planten
• Bacterieel
• Chemie
• Temperatuur
Keuzes maken
• Vissen
• Planten
• Bacterieel
• Vissen
• Planten
• Vissen
27
• Vissen
• Planten
• Bacterieel
• Chemie
[tijd]
[geld]
↓
Risico’s

Gericht zoeken op
afgesproken plaatsen naar bepaalde fouten,
waar de opdrachtgever een risico in ziet
28

totdat
€ vinden van 1 extra fout
>=
€ vermeden risico
(dus restrisico mogelijk!)
29
Baten van testen:
vermeden risico’s
>=
Kosten van testen:
inzet mensen en
middelen
30
Gestructureerd testen
• Planmatig, gemanaged
• Gedefinieerd proces
• Methoden, technieken, kwaliteit
• Gecertificeerde medewerkers
• Geschikte infrastructuur, tools
• Verbetercyclus
31
Gestructureerd testen
32
Conclusie
• Software bevat (bekende en onbekende) fouten
• … ook NA testen
33
Conclusie
Ad hoc testen
→ toeval
Gestructureerd
testen
→ bewuste (mate van on-)zekerheid
34
Samenvatting
• Gestructureerd testen is gericht zoeken
• … op afgesproken plaatsen
• … naar bepaalde fouten
• … om specifieke risico’s te vermijden
35
Conclusie
Accepteren
door opdrachtgever
o.b.v. informatie
uit inzichtelijk testproces
• Decharge
• Leverancier – ST
• Klant – FAT
• Go/NoGo
• Klant – GAT/PAT
36
Doel
Tevreden gebruikers
37
Contact
[email protected]
@hansvanloenhoud
38
www.polteq.com
+31 33 277 35 22
Download