IK
3
Ide Koops
30 jaar,trotse vader
• Sinds 2008 werkzaam bij KZA
• Test Expert
• Complexe omgevingen en ketens
• Scrum, Agile, DevOps
• Test Automatisering & Continuous Delivery
• Finance, Overheid, Nuts en Zorg
4.
● Basisblokje, sinds1958
gepatenteerd ongewijzigd
in productie.
● Merknaam LEGO is afgeleid
van het deense ‘Leg Godt’ .
In het Nederlands:
‘Speel Goed’
● Meer dan 50 miljard
steentjes per jaar, of ruim 5
miljoen per uur.
Legofeitjes
4
5.
● Hoeveel verschillende
combinatieszijn er mogelijk
met 6 standaard steentjes
van verschillende kleuren?
● 2 minuutjes
denk/puzzeltijd, antwoord
aan het eind.
Quizvraag
5
6.
● Ook bijLego is de
complexiteit alleen maar
toegenomen
● Denk aan Duplo (ander
formaat), Mindstorms etc.
Lego Complexiteit
6
● In eerste instantie lastig
grip op te krijgen. Wat zien
we hier allemaal.
● Maar nee, knip het op in
kleinere elementen!
● Door standaardenaf te
spreken en af te dwingen is
de onderlinge
uitwisselbaarheid groot.
● Door te combineren
ontstaat het gehele plaatje,
de ‘functionaliteit’
● Aanpassen is vaak een
kwestie van wat blokjes
wisselen voor enkelen
anderen
Lego Standaarden
8
9.
● Complexiteit neemtnog
altijd snel toe
● IT gaat steeds meer
bedrijfsoverstijgend
● Daardoor nog lastiger om er
grip op te krijgen
IT Complexiteit
9
10.
● Maar ookde IT kent
standaarden.
● Gebruiken we die
wel voldoende?
● Passen we ze wel
goed toe?
IT Standaarden
10
11.
● Pas delogica van Lego toe op
software:
Krijg grip, werk modulair!
11
o Ervaar de functionaliteiten
o Ontdek de onderliggende logica
o Vind de afwijkingen ten opzichte
van de verwachting.
12.
● Vraag deontwikkelaar
● Ontwikkel samen (pair wise
programming)
● Kijk in de code
Ontdek hoe een applicatie werkt (white box)
12
13.
● Modulair testen/ Object
Georienteerd Testen
● Valideer werking van het
blokje / object
● En borg in/uit
Modulair testen / OOP
13
● Exploratory Testingals techniek.
o Gebruik het systeem en signaleer
hoe het reageert op input
o Varieer daarmee om meer te weten
te komen over achterliggende logica
(modules)
Ontdek hoe een applicatie werkt (black box)
● Probeer het zelf:
http://blackboxpuzzles.
workroomprds.com/
16
17.
● Hoeveel verschillendecombinaties zijn er
mogelijk met 6 standaard steentjes van
verschillende kleuren?
● Antwoord:
2 blokjes = 48 combinaties
9 blokjes = 915.103.765 combinaties
Antwoord op de Quizvraag
17
6 natuurlijk
18.
● Je kanmeer grip krijgen op het onderwerp wat je aan het
testen bent door modulair te denken.
Conclusie
18
19.
Toekomst
● Je kannog meer grip krijgen door je ontwikkelomgeving te
overtuigen dat een modulaire manier van werken bijdraagt
aan de kwaliteit van de software in de gehele keten.
19
#7 @End = Maar hoe doen we dat dan -> Brug naar breakdown.
#10 Complexiteit neemt nog steeds meer toe
Op hoofdlijnen zijn dat de invloeden die de omgeving beinvloeden, rechts zou je eigenlijk alle business wensen nog kunnen bijpunten
Denk als SaaS oplossingen (Salesforce etc), ideal / paymentsproviders van derden bij webshops etc, maar ook IoT zie je snel een opmars maken
#11 Ervaring leert dat we toch wel erg vaak het wiel opnieuw uitvinden.
Of de standaarden niet echt lekker volgen, waardoor de herbruikbaarheid erg afneemt.
Denk bijvoorbeeld aan de Internet Explorer6 van vroeger. Hield zich niet aan de gangbare webstandaarden, maar veel applicaties zijn specifiek voor IE6 gebouwd. Deden het niet op andere browsers (netscape, firefox, safari en later chrome), maar verhinderde een flink aantal bedrijven ook om IE6 niet te upgraden naar nieuwere versies, ondanks allerlei beveiligingsrisico’s.
#17 Maar als je niet onder de motorkap kan kijken:
Exploratory Testing tool van James Lyndsay
#19 Recap:
Hak complexe systemen in stukjes, zoek functionaliteiten en loop die stap voor stap af. Groepeer voor de focus. Indien geen whitebox, gebruik ET als techniek.
#20 Bij nieuwbouw, grijp vanuit onderhoudbaarheid, maar ook testbaarheid de kans aan om direct met modules te gaan bouwen. Dit helpt om te schalen, dit helpt bij incidenten en op vele andere manieren.
In SOA landschappen, denk aan microservices (bv Coolblue)