Presentatie minisymposium M&I Partners van 20 september 2010
whitepaper Qquest versie 4 dd 5-1-2016
1. 1 van 11
to increase innovation, change the way of testing
info@qquest.nl
To increase innovation,
change the way of testing
Thomas Dieten MSc
Ruud Harreman CMCICT zonder risico
2. 2 van 11
to increase innovation, change the way of testing
info@qquest.nl
Slimme energiemeters, zelfbestu-
rende auto’s, wearables die je
gezondheid monitoren en adviezen
geven. De toepassing van nieuwe
technologieën (Social, Mobile,
Analytics en big data, Cloud en
internet of Things) leidt tot allerlei
productinnovaties.
In deze omgeving die zich kenmerkt
door continu vernieuwen van produc-
ten, complexe IT-ketens en intensieve
samenwerking met verschillende par-
tijen, rijst de vraag ‘waarmee borg
je de kwaliteit van de IT-keten?’ en
'is er een andere kijk op testen
nodig?’.
Deze paper geeft een aanzet tot het
beantwoorden van deze vragen en
reikt een aantal overdenkingen en
praktische tips aan.
To increase innovation,
change the way of testing
4. 4 van 11
to increase innovation, change the way of testing
info@qquest.nl
Tijdperk SMACT
Slimmeenergiemeters,zelfbesturendeauto’s,een
winkelwagentje dat helpt bij het boodschappen
doen, wearables die je gezondheid monitoren
en adviezen geven, zoekmachines die
begrijpen waar jij naar op zoek bent. Diverse
informatiegedreven producten zijn inmiddels in
ons leven gekomen.
Is er een woord voor deze innovaties? Niet
echt, maar een veel gebezigde term in de
media is SMACT. Een acroniem dat staat voor
Social, Mobile, Analytics en big data, Cloud
en internet of Things. Het zijn vijf technologieën
die als samenhangend geheel leiden tot allerlei
nieuwe producten. SMACT stelt organisaties in
staat informatiegedreven oplossingen te maken,
die tot voor kort niet mogelijk waren tegen
acceptabele investeringen. Oplossingen die
moeten leiden tot meer gemak voor de mens,
minder verspilling (van geld tot energiebronnen)
en meer waardecreatie voor organisaties en
maatschappij.
SMACT heeft een brede impact op ons
leven. Apparaten, voorwerpen en zelfs het
menselijk lichaam worden uitgerust met nieuwe
technologie. Middels chips en sensoren staan
al deze dingen met elkaar in verbinding. Dat
veroorzaakt enorme datastromen, waarmee
analyses en prognoses worden gedaan. De
cloud vormt de centrale opslag voor al die data,
die op haar beurt via apps op devices ontsloten
wordt. Dwars door deze ketens heen speelt het
gebruik van sociale netwerken zoals Twitter en
Facebook een rol.
Die complexiteit waarbij alle producten met
elkaar verbonden zijn, maakt tegelijkertijd
de keten zeer kwetsbaar. Bij het uitvallen van
één onderdeel kan de hele keten zijn waarde
verliezen en tot grote schade leiden. Er hoeft
maar ergens een update van een operating
system plaats te vinden, een sensor uit te vallen,
een server niet beschikbaar zijn, foutieve
dataverwerking of –interpretatie te gebeuren,
en in de keten ontstaan verstoringen.
Om de complexiteit te illustreren toont figuur 1
een referentie IT-keten met verschillende lagen.
Eronder staat een landschap van allerlei
deelproducten die onderdeel kunnen zijn van
de IT-keten. Bij elke laag uit figuur 1 horen
keuzes uit het landschap: keuzes voor devices,
protocollen voor de communicatie tussen
devices en de cloud, een analytics oplossing,
een storage system, identity en access tools,
platforms, et cetera.
Fig. 2: een landschap van diverse deelproducten
Fig. 1: een voorbeeld van een referentie architectuur
5. 5 van 11
to increase innovation, change the way of testing
info@qquest.nl
De mogelijkheden en risico’s die de innovaties
met zich meebrengen, leiden tot de vraag of
met de bestaande testmethodes de kwaliteit van
de IT-keten nog aangetoond kan worden. Of
is het juist zaak anders te kijken en de rol van
testen en testers te herdefiniëren? Deze paper
geeft een aanzet voor een andere kijk op testen.
Eerst wordt stilgestaan bij wat organisaties
en eindgebruikers van de producten eigenlijk
verlangen, nu SMACT technologieën allerlei
nieuwe mogelijkheden bieden. Op basis van
de eisen ontstaat een beeld wat dat betekent
voor het testen. Dit gebeurt aan de hand van
een aantal denklijnen en praktische tips.
Nieuwe mogelijkheden,
nieuwe eisen
De technologieën uit SMACT geven een
push aan nieuwe business concepten en
creëren een open speelveld voor marketeers
en productontwikkelaars. Steeds meer
mogelijkheden worden ontdekt, uitgeprobeerd
en in de markt gezet. Hoewel de toepassingen
van SMACT in ons dagelijks leven divers zijn,
tekent zich wel een aantal algemene eisen af
om bij het testen rekening te houden.
Toepassingen laten zich niet vangen in één land,
applicatie of datacentrum. Data en applicaties
moeten altijd en overal beschikbaar zijn. Ze
zijn device-onafhankelijk te benaderen (van
de smartphone tot aan de auto) en bieden zo
veilig mogelijke eigenschappen in onder meer
gegevensuitwisseling, toegang en opslag.
Omdat vooraf niet te voorspellen is hoe
eindgebruikers omgaan met applicaties en
welke nieuwe mogelijkheden SMACT nog gaat
bieden, is flexibiliteit een vereiste. Organisaties
willen snel reageren en anticiperen en
voortdurend nieuwe functionaliteit kunnen
uitbrengen. En ook nieuwe apparaten aan
elkaar verbinden om data te genereren.
Schaalbaarheid van een goed werkende
oplossing is derhalve evident, hetgeen bij
outsourcing van softwareontwikkeling en beheer
(SaaS), platforms (PaaS) en infrastructuur (IaaS)
eisen stelt aan een soepele samenwerking
met meerdere partijen om oplossingen snel en
succesvol te implementeren.
Succes van productinnovaties wordt in grote
mate bepaald door de hoeveelheid en de
kwaliteit van data. Immers, data genereert
beter inzicht in bijvoorbeeld gedrag, waardoor
algoritmes en modellen kunnen worden
bijgesteld en betrouwbaardere beslissingen
genomen. Usability van apparaten en apps is
essentieel om mensen bijvoorbeeld te verleiden
deze vaker te gebruiken. Hoe intensiever
het gebruik, hoe groter de betrouwbaarheid
en kwaliteit van data. Daarbij komt dat de
eindgebruiker ‘zelf aan het stuur’ wil zitten. Hij
wil zelf kunnen bepalen welke behoefte hij heeft
aan data en zelf keuzes maken aan de hand
van data.
Altijd &
overal
Usability
Flexibel
Veilig
Eind-
gebruiker
aan het
stuur
Schaalbaar
6. 6 van 11
to increase innovation, change the way of testing
info@qquest.nl
Testuitdagingen: tijd en
afhankelijkheid
Wat betekenen voorgaande eisen voor het
testen van de innovaties? Kan de kwaliteit van
de IT-keten nog steeds op basis van de principes
uit bijvoorbeeld TMap Next in Scrum (Van der
Aalst & Davis), de Agile testing matrix (Brian
Marick) en Agile Testing (Crispin & Gregory)
bepaald worden? Het antwoord is ‘ja’ en ‘nee’.
Veel aspecten zijn niet anders dan normaal,
bijvoorbeeld het toepassen van testtechnieken,
context driven testen, het uitvoeren van security
testen en performance testen.
De uitdaging voor het testen ligt met name bij de
aspecten tijd en afhankelijkheid. Functionaliteit
moet met hoge frequentie vernieuwd en op de
markt gebracht kunnen worden. Dat geldt ook
voor devices, servers en andere deelproducten
uit de IT-keten. Er is geen gelegenheid een
paar weken te testen. De vraag is met andere
woorden: ‘hoe kan ik op verantwoorde wijze
en met weinig tijd toch de kwaliteit van de
IT-keten borgen?’.
Afhankelijkheid is een tweede uitdaging. Het
toepassen van SMACT technologieën leidt tot
complexe infrastructuren met diverse partijen,
waar je als organisatie weinig tot geen invloed
op hebt. Denk maar aan cloud providers,
leveranciers van netwerken, applicaties, sociale
platforms, devices, operating systems, chips en
sensoren. Kan je doorgaans in projecten grote
delen van de keten testen in een testomgeving,
bij SMACT is dat vrijwel onmogelijk, hetgeen
gevolgen heeft voor de manier van testen.
Denklijnen voor een
andere kijk op testen
Om antwoord te geven op voornoemde
testuitdagingen is een andere kijk op testen
nodig. Aan de hand van een vijftal denklijnen
wordt hierna aan die andere kijk invulling
gegeven.
De denklijnen geven een beeld wat nodig is
om de kwaliteit van de IT-keten te waarborgen,
gegeven de eisen van organisaties en
eindgebruikers, de afhankelijkheid van derden
en de beperkingen in tijd. De denklijnen staan
niet op zichzelf maar beïnvloeden elkaar. Het
betekent dat een teststrategie nodig is die ingaat
op alle vijf denklijnen en die samenhangende
acties en maatregelen omvat.
Voor veel organisaties is het aanhaken op
SMACT nog niet of nog maar net begonnen.
Logischerwijs kunnen de denklijnen dan ook ver
van de huidige testpraktijk afstaan. Niettemin
geven ze wel een richting en daarmee stof tot
nadenken. Om te helpen bij het praktisch maken
van de denklijnen staat in kaders een aantal
tips die vandaag al kunnen worden opgepakt.
Daarmee geeft deze paper handvatten voor
een teststrategie.
Denklijnen:
#1 van project naar continu leveren
#2 van testen naar monitoren
#3 van invloedrijk naar samenwerking
#4 van handmatig naar
geautomatiseerd testen
#5 van tester naar testtaken
7. 7 van 11
to increase innovation, change the way of testing
info@qquest.nl
#1 Van project naar
continu leveren
Het ontwikkelen van initiële oplossingen kan
prima met een Agile framework zoals Scrum. In
een aantal sprints van een paar weken kan een
basisproduct worden neergezet en getest met de
principes van Agile testen. Na de eerste launch
volgt een dynamiek, waarbij allerlei nieuwe
klantwensen en technische mogelijkheden
ontstaan. Veranderingen volgen elkaar in hoog
tempo op. Nieuwe features, een nieuwe type
sensor, snellere verbinding, nieuw dashboard of
andere bediening door een nieuw device. Het
tijdsraam waarin vernieuwingen doorgevoerd
worden, verschuift van een paar weken naar
een paar dagen of zelfs naar meerdere keren
per dag.
Continuous delivery neemt de plek in van
projecten en sprints, zodat behendiger
te sturen is op veranderingen in techniek,
marktstandaarden, inzicht in gedrag van
eindgebruikers en klantwensen. Met de kleinere
aanpassingen is er bovendien minder kans
op grote, verlammende fouten en nemen de
herstelkosten af.
Voor het testen van productinnovaties betekent
dit, dat er feitelijk continu getest wordt. Het
dagelijks kunnen leveren van veranderingen
in de IT-keten creëert een heel nieuwe aanpak
van programmeren en testen. Ze gaan gelijk
op in de tijd en zorgen voor voortdurende
feedback. Zodra een stukje code klaar is, start
de codeanalyse en unit testen, die weer kunnen
leiden tot aanpassingen in de code, waarna
feedback loops volgen voor integratietesten,
functionele en performancetesten. En dit alles in
enkele uren, zodat snel en met kwaliteit geleverd
kan worden.
Bij het testen is het van belang kritisch te kijken
naar de impact van fouten. Aan de ene kant
staan de kritieke processen die absoluut niet
fout mogen gaan, vanwege gevaar voor de
hele keten. Aan de andere kant de kleinere
problemen die de keten niet tot stilstand brengen
en geen showstoppers vormen voor het releasen.
Deze kunnen bij een volgende levering worden
opgelost. Doorlopend uitvoeren van een risico-
en impactanalyse is het devies.
Continuous delivery kan niet zonder een
ingebed refinement proces. Refinement is een
activiteit die parallel plaatsvindt aan het maken
en testen van nieuwe opleveringen. Het zorgt
voor het begrijpen, verduidelijken, opknippen
en verrijken van user stories in de product
backlog. Ook leidt refinement tot inzicht in de
prioriteiten en het toevoegen van user stories
aan de product backlog, getriggerd vanuit
ervaringen met het product, ontwikkelingen bij
concurrenten, nieuwe klantwensen, et cetera.
Door alvast het ‘wat’ en ‘waarom’ in de user
stories te bespreken en daarmee ook de impact
op testen in te schatten, hoeft die tijd niet te
worden besteed in de iteraties. Dat verhoogt
de efficiëntie en slagvaardigheid van een team
en derhalve ook voor het testen. Immers, als
je nog moet beginnen met het bedenken van
een testaanpak op de dag dat geleverd moet
worden, ben je gewoon te laat.
Versnelling:
Lever nieuwe functionaliteit op in kleine
eenheden en stem daar het testen op af
Werk vanuit de gedachte van continu
testen in plaats van periodiek testen
Identificeer kritieke processen en
wees kritisch of testbevindingen reële
showstoppers zijn
Neem testtaken mee bij een continu
refinement proces
8. 8 van 11
to increase innovation, change the way of testing
info@qquest.nl
#2 Van testen naar
monitoren
Een kenmerk van SMACT toepassingen is
dat een productiesituatie niet compleet
nagebootst kan worden in een representatieve
testomgeving; ook niet met stubs en drivers. In
de IT-keten zijn dermate veel partijen met hun
deelproducten actief, waar je als organisatie
niet de mogelijkheid hebt om met hen een
testomgeving op te bouwen.
Bovendien is het een gegeven dat de partijen
voortdurend werken aan standaardisatie
en hun eigen release planning volgen. Ze
implementeren zelf ook nieuwe versies van
hun deelproducten in de IT-keten, zoals
nieuwe operating system versies, protocollen,
services, nieuwe type chips, andere versies van
applicaties en sociale platforms. Die releases
weet je als organisatie niet altijd vooraf. Echter,
de impact van een nieuwe versie kan zomaar
omslaan in een haperende applicatie of servers
die uitvallen en daarmee tot business risico’s.
Met andere woorden, vòòr releasen is niet alles
te testen en in de IT-keten kunnen onverwachte
veranderingen plaatsvinden. Beide situaties
leiden tot de denklijn dat het continu monitoren
van de productie omgeving nodig is.
Momenteel zijn diverse oplossingen verkrijgbaar
die organisaties in staat stellen complexe
IT-omgevingen te monitoren. Oplossingen die
realtime problemen signaleren en preventief
issues detecteren. Met monitoring kan continu
en integraal over de hele IT-omgeving (ook
die delen die uitbesteed zijn) bewaking
plaatsvinden.
Monitoring is daarmee een testinstrument
geworden en vormt onderdeel van een
teststrategie. Men kijkt of applicaties beschikbaar
zijn, gebruikers kunnen inloggen, servers tegen
grenzen aanlopen, storage een issue wordt,
responsetijden acceptabel zijn. Maar ook
bijvoorbeeld of mogelijke veiligheidslekken
zich voordoen en netwerken en interfaces
functioneren. De kwaliteit van releases is zo op
een efficiënte manier te volgen. En waar nodig
kan snel ingegrepen worden.
#3 Van invloedrijk naar
samenwerking
SMACT toepassingen zien het licht in een
omgeving die compleet anders is dan de
meer statische IT uit voorgaande jaren.
Waar in traditionele IT-omgevingen grote
pakketaanbieders de boventoon voeren en
veel in eigen beheer gebeurt, is er bij SMACT
een grote verscheidenheid aan partijen,
platforms, talen, connectiviteit, opslag, tools
en protocollen. Die fragmentatie zet aan om te
begrijpen wie in de IT-keten een rol speelt en
voor welke producten.
Het kennen van elkaars beleid, ontwikkel-
strategie en releaseplanning is daarom een
randvoorwaarde om de keten zoveel mogelijk
te beheersen. Door dit overzicht te creëren
ontstaat inzicht in de consequenties van
veranderingen in de keten en de impact hiervan
op de werking van de eigen deelproducten. Zo
kan bij het testen en monitoren geanticipeerd
worden op veranderingen die op stapel staan.
Samenwerking met partijen is met andere
Continu testen:
Wees bewust dat de IT-keten kwetsbaar
is en dat deze continue monitoring
behoeft op foutdetectie en -preventie
Beschouw productie monitoring als
testinstrument om business risico’s te
managen
9. 9 van 11
to increase innovation, change the way of testing
info@qquest.nl
woorden een belangrijke sleutel tot een
beheersbare IT-keten.
#4 Van handmatig naar
geautomatiseerd testen
Met kortere ontwikkelintervallen en het
toenemende belang van monitoring op de
productieomgeving ontstaat er een verschuiving
van handmatig en periodiek testen, naar
geautomatiseerd en continu testen. Het gebruik
van tooling staat hierbij centraal. Handmatige
controles op een toenemende veelvoud van
applicaties en verbindingen zijn niet meer
toereikend. Daar is eenvoudigweg geen tijd
voor.
Het vertrekpunt voor het testen van SMACT
toepassingen is: automatiseer alles wat
geautomatiseerd kan worden van unittesten
tot het monitoren van de IT-keten. Dat
impliceert eveneens dat handmatig testen
ook nodig is bij nieuwe releases. Exploratory
testen is bijvoorbeeld een techniek die
specifieke bevindingen blootlegt die niet
met geautomatiseerd testen kunnen worden
gevonden.
Tooling is van belang voor het continu
leveren en monitoren van de IT-keten. Ook
het evalueren van de doeltreffendheid van
nieuwe toepassingen kan een onderwerp van
tooling zijn: ‘wat betekent de oplevering voor
de verkoopcijfers?’ of ‘wordt de gegenereerde
data betrouwbaarder door gebruik van de
nieuwe functionaliteit?’. In het geval van
fouten of tegenvallende resultaten moet er
snel ingegrepen kunnen worden. Monitoring
door tools zorgt hierbij voor de eerste signalen
waarop herstelacties volgen.
In dit kader kan ook canary release worden
genoemd. Dit is een techniek om met behulp van
tooling nieuwe software in productie te brengen
voor een selecte groep gebruikers, voordat de
software aan alle gebruikers wordt uitgerold.
Op een gecontroleerde manier kan in productie
gemonitord worden hoe gebruikers omgaan
met de nieuwe software, welke fouten het nog
bevat, welke performance issues er zijn. Zodra
er genoeg vertrouwen is in de nieuwe software
kan het aan alle gebruikers worden uitgerold.
Nu is er in de markt een wirwar aan tools voor
testen en monitoren. Welke tools voor welke
platforms, applicaties, devices, apparaten,
sensoren, netwerken het beste zijn om mee
te testen en monitoren, is niet op voorhand
te zeggen. Bovendien verandert het aanbod
voortdurend. Het meest praktische is een tooling
strategie te ontwikkelen die meebeweegt
met de IT-keten. Richt hierbij de aandacht
Creëer overzicht:
Breng de IT-keten van partijen en
deelproducten in kaart en houd deze
actueel
Begrijp de risico’s en impact van
veranderingen in de keten op de
werking van de eigen producten
Voer een actief samenwerkingsbeleid
met de partijen in de keten en zorg
voor inzicht in hun ontwikkel- en
releasebeleid
Beweeg mee:
Zet een strategie op welke tools voor
welk testdoel worden ingezet en zorg
voor modulariteit van tooling
Creëer tool specialisme en expertise
Zorg dat tools mee bewegen met het
product en de IT-keten
10. 10 van 11
to increase innovation, change the way of testing
info@qquest.nl
op modulariteit, zodat tools eenvoudig en
efficiënt zijn te vervangen en de toolset is uit
te breiden waar nodig. Ook het aanstellen
van toolingspecialisten is een manier om een
toekomstbestendige toolingstrategie aan te
vliegen.
#5 Van tester naar
testtaken
Gelet op de aard van SMACT is het beste
te werken met een of meer teams die op een
Agile manier producten maken en deze continu
verbeteren en vernieuwen. Teams (en niet
individuele testers) zijn daarbij verantwoordelijk
voor de gehele kwaliteit van de keten.
De voorgaande denklijnen maken duidelijk dat
er diverse testtaken zijn om de kwaliteit van
productinnovaties te borgen. Denk aan het
identificeren van kritieke processen, uitvoeren
van een risicoanalyse, opstellen van een test-
en toolingstrategie, inzetten van nieuwe tools
en vervangen van oude, exploratory testen,
creëren van overzicht van partijen en producten
in de keten en samenwerking met deze partijen.
Kortom, genoeg werk om te doen. Vooral van
belang is dat de testtaken goed belegd zijn in
een team en dat teamleden over de juiste kennis
en vaardigheden beschikken om testtaken
adequaat uit te voeren. In die zin hoeven
testtaken niet in één persoon te zijn verenigd.
Het ligt ook niet voor de hand. Immers, de taken
zijn dermate gevarieerd en vereisen specifieke
kennis die één persoon niet in zich kan hebben.
Essentieel in deze is een actief HR-beleid,
gericht op werving en continue ontwikkeling
van vaardigheden binnen teams. SMACT
technologieën blijven zich de komende
jaren ontwikkelen en leiden tot nieuwe
productinnovaties die we vandaag nog niet
kennen. Het is zaak mensen in teams te hebben
die ‘gek’ zijn van de mogelijkheden van SMACT.
Het tijdperk SMACT heeft mensen nodig die
vanuit kwaliteit denken, onderzoekend zijn,
creatieve oplossingen vinden voor testen en
goed samenwerken en in staat zijn om door
verschillende brillen te kijken.
Samenvatting
Slimme, informatiegedreven producten zijn
in ons leven gekomen: van energiemeters tot
zelfbesturendeauto’s.NieuweICT-technologieën
stellen organisaties in staat innovaties te
ontwikkelen om nieuwe markten te betreden en
marktaandeel te vergroten. In deze omgeving
die zich kenmerkt door continu vernieuwen van
producten en complexe IT-ketens, is een andere
kijk op testen van de producten en keten nodig.
De eisen vanuit de stakeholders worden harder
en specifieker. Gebruikers verwachten dat ze
altijd en overal het product kunnen gebruiken en
liefst op een veilige manier. Ze eisen bovendien
een uitstekende user experience. Marketeers
en productontwikkelaars willen snel kunnen
opschalen als een product aanslaat en nieuwe
technische mogelijkheden zich aandienen.
Focus op taken:
Sta open om de functie van tester los te
koppelen van de benodigde testtaken
Zet in op een team die de testtaken als
geheel kan uitvoeren in plaats van 1 of
2 mensen met een complete skill set;
daarmee wordt een team echt Agile
Creëer een HR-beleid gericht op
het aantrekken van ICT talent en het
continue ontwikkelen van vaardigheden
die voor SMACT nodig zijn
11. 11 van 11
to increase innovation, change the way of testing
info@qquest.nl
En ICT wil continu kwaliteit leveren en anderzijds
de kosten voor leveren en beheer zo laag
mogelijk houden.
De oplossing voor deze uitdaging is te vinden
in een andere manier van projecten doen. Niet
meer in enkele weken of maanden iets nieuws
opleveren, maar continu. Dat betekent ook
continu testen van nieuwe releases. En om aan
de eisen van snelheid en kwaliteit tegemoet
te komen: zoveel mogelijk geautomatiseerd
testen van nieuwe releases en monitoren van de
IT-keten. Het laatste in nauwe samenwerking
met de partijen in de keten. Een andere kijk op
testen heeft eveneens gevolgen voor de vraag
welke vaardigheden de mensen nodig hebben
bij de verschillende testtaken. HR-beleid op het
gebied van werving, selectie en training wordt
cruciaal om met vertrouwen vernieuwing te
realiseren. To increase innovation, change the
way of testing.
Over de auteurs
Thomas Dieten MSc is Agile tester en ingezet
bij opdrachtgevers van Qquest. Hij is als tester
betrokken in scrum trajecten en houdt zich bezig
met testautomatisering. Voordat hij bij Qquest
ging werken, was Thomas application manager
bij ArboNed.
Ruud Harreman CMC is adjunct directeur en
management consultant bij Qquest. Hij was
eerder werkzaam als projectmanager en
bekleedde diverse lijnfuncties in de ICT en
business. In 2011 publiceerde Ruud het boek
‘Process Driven Requirements Engineering’, een
methode om vanuit business processen eisen
voor projecten en veranderingen expliciet in
beeld te krijgen.
Heeft deze paper je geïnspireerd? Laat het ons
dan weten! We horen graag wat je ervan vindt.