Verslag Agile Testing Day Netherlands 2016

Op 17 maart 2016 organiseerden Diaz & Hilterscheid en KZA weer de Agile Testing Day in Nederland. Het evenement werd georganiseerd in Houten en is een spin-off van de Agile Testing Days in Potsdam (Duitsland). Op het podium stonden zowel internationale als nationale sprekers die zich bezig houden met Agile en testen vanuit een eindgebruikers-, coaching- of consultancy rol. De opening werd verzorgd door José Diaz (Diaz & Hilterscheid) en Joost van Haarlem (KZA).

ATDNL2016_2

Na de opening was het tijd voor de eerste keynote met de titel “Agile Testing mindset in DevOps” door Tommy Quitt. Bij het invoeren van DevOps gaat het vaak over de tools en de processen die er ingevoerd of aangepast moeten worden. Maar volgens Tommy worden de mensen vaak vergeten. Terwijl de mindset van de mensen binnen de bedrijven één van de grootste succesfactoren van het invoeren van DevOps is. We testen niet meer alleen aan het einde, maar we testen continue, gedurende het gehele ontwikkelproces, samen met de ontwikkelaars, business en operations. Het gaat om samenwerken. Het is niet meer alleen de tester die verantwoordelijk is voor de kwaliteit. We genereren samen de gewenste businesswaarde en brengen dat samen naar productie. Maar dat vraagt om vertrouwen en een andere mindset. Een mindset waar het draait om kwaliteit, vertrouwen, samenwerking en snelle feedback. Maar hoe doe je dat? Je moet gewoon beginnen zegt Tommy. Het moet groeien. Het management moet er achter staan. Je hebt hele goede testers en ontwikkelaars nodig, ze moeten teamspelers zijn en laat ze begeleiden door een Agile coach.

ATDNL2016_3

Daarna was het tijd voor de sessie van Rini van Solingen met “Bee-shepparding – How do you lead self steering Agile Teams?”. Het gaat bij Agile om snelheid en wendbaarheid. Maar er zijn volgens Rini twee zaken die steeds vaker in de vergetelheid raken. Dat is als eerste “Done”, oftewel zaken afmaken. En ten tweede “Echte feedback”, om er achter te komen wat we niet moeten doen. Rini heeft een boek geschreven waarin het het houden van bijen vergelijkt met Agile werken. Het gaat om vertrouwen en laten gaan. Een imker laat de bijen het werk doen en laat ze uitvliegen. Net zoals agile teams. Vertrouw er op dat ze het oppakken, het werk doen en afmaken. Daarnaast haalt de bijenhouder steeds de honing weg zodat de bijen steeds weer nieuwe honing gaan maken. Daarom ook sprints van twee weken waarin de teams echt werk afmaken zodat ze weer met nieuw werk aan de gang kunnen. Verder werken bijen altijd samen, ze hebben een gezamenlijk doel. Agile teams moeten ook zo denken en handelen. Helaas ziet Rini vaak dat teams niet van elkaar willen leren maar zelf het wiel willen uitvinden. Ook belangrijk is om te blijven leren en aanpassen. Net als bijen die elke dag op zoek gaan naar de beste plek om stuifmeel te vinden. Maar de echte verandering zit in jezelf. In plaats van je kennis en kunde voor je zelf te houden, deel je binnen Agile die kennis en kunde met je teamleden en andere teams., Dit zodat iedereen op den duur kan wat jij kunt.  Want iedereen kan imker worden, net als jij.

ATDNL2016_4

Vervolgens gaf Gil Zilberfeld een Workshop over “Real life Test Driven Development (TDD) – Building a Light Saber”. Hij liet aan de zaal zien hoe hij met behulp van TDD een Light Saber uit Star Wars programmeerde. Hiervoor schreef hij eerst de testen, terwijl het publiek toekeek. Testen die controleren wat de code zou moeten doen. Die testen faalden nog, omdat de code er nog niet was. Daarna schreef hij de code die op de simpelste manier er voor zorgt dat de testen niet meer falen. Wat Gil ons hiermee wilde meegeven is dat als je vooraf nadenkt over hoe je bepaalde code wilt gaan testen, en je die testen ook daadwerkelijk maakt, je vervolgens alleen code schrijft waarmee de testen niet falen. Let wel, er mag alleen code geschreven worden waarmee de testen niet falen. Er gaat dus geen code naar productie waarvan de testen mislukken. Ook kan het product veel sneller naar productie. Want zodra alle testen slagen voldoet het aan wat de klant wil. Andere voordelen zijn volgens Gil dat je TDD plaats laat vinden in dezelfde tools als de ontwikkeling, de test coverage veel beter is, er minder debugging nodig is en het levert betere designs op. Overigens gebruikte Jerry Weinberg dit al in 1957. Dus het is niet nieuw en past perfect binnen de huidige Agile ontwikkel gedachte.

ATD2016_5

Na de lunch was het tijd voor de tweede keynote. “Mythbusters” door Alex Schladenbeck en Huib Schoots. Door een aantal mythes aan de kaak te stellen wilden ze de zaal laten zien dat je niet alles zo maar moet aannemen. Je moet als testers zelf blijven nadenken en onderzoeken. Ze bespraken onder andere de in hun ogen volgende mythes:  Accurate antwoorden zijn nodig om te kunnen testen, alleen testers zijn verantwoordelijk voor de kwaliteit, exploratory testen is ongestructureerd testen en agile testen heeft altijd testautomatisering nodig. Mythes zijn gevaarlijk. Want ze suggereren dat als iedereen het zegt, dan zal het wel waar zijn. Dus twijfel aan alles en onderzoek alles zelf voordat je iets zomaar klakkeloos aanneemt. Geloof niet alles wat je ziet. Bedenk dat er meer kan zijn dan dat je kunt zien. Ontmasker de mythes.

ATDNL2016_6

De derde keynote was van Thom Bradford. Tijdens zijn presentatie met de titel “Nowhere and back again: A software enigeer’s tale” vertelde Thom hoe bij het bedrijf waar hij destijds werkte Agile werd ingevoerd. Maar dat ging niet helemaal goed. Als eerste keken ze alleen naar het hoe en vergaten ze het waarom. Verder waren de user stories zo groot dat ze niet in één sprint konden worden afgerond. Om dat op te lossen maakte ze de sprintlengte langer, wat uiteraard niet de juiste oplossing was. Daarnaast vergaten ze de mensen. Het gaat bij Agile om de cultuur. Het is niet zomaar iets wat teams doen. Dus maakte hij de teams verantwoordelijk voor hun werk en de kwaliteit. Hij maakte de teams kleiner en zorgde er voor dat het hele team als ontwikkelaar ging denken. Hij wilde daarmee de aandacht verleggen naar het waarom en de veranderende cultuur. Maar na een tijd besefte hij dat het niet ging lukken, nam ontslag en werkt nu bij Zalando. Daar gaat alles wel zoals hij het probeerde in te voeren bij zijn vorige werkgever. Hij gaat met plezier naar zijn werk en hij vraagt zich nog elke dag af waarom niet alle bedrijven zo werken.

ATDNL2016_7

Na de theepauze was het de beurt aan Emanuil Slavov met de presentatie “Need for speed”. Binnen zijn bedrijf duurde het 180 minuten om de geautomatiseerde testen te draaien. Dat vonden ze te lang, dus gingen ze aan de slag om de tijd te verkorten. Als eerste gingen ze de geautomatiseerde testen op een aparte omgeving draaien. Hiermee werd de draaitijd teruggebracht tot 123 minuten. Vervolgens gooiden ze voor elke testrun alle data weg en laadden ze de basis test situatie in. Hiermee kwam de draaitijd op 89 minuten. Het gebruik van stubs, mocks en drivers, met name rondom de externe connecties naar social media, was een volgende stap. Hiermee kwamen ze bijna onder een uur, namelijk 65 minuten. Het invoeren van containers voor elke service zorgde er echter voor dat de draaitijd weer terugviel naar boven de 100 minuten. Dus dat werd terug gedraaid. Het draaien van de databases in het geheugen van de machines zorgde voor vier extra minuten winst. Ze kwamen op 61 minuten. De volgende mijlpaal was 46 minuten. Dit werd gedaan door het weggooien van gehele containers met data die niet meer nodig was, in plaats van het verwijderen van die data na het draaien van elke testcase. Door het doorvoeren van een vrij radicale wijziging ging de tijd opeens rap omlaag. Ze zorgden er voor dat de testen naast elkaar konden draaien. Hiervoor moest de code wel zo gewijzigd worden dat elke testcase onafhankelijk zijn data weg kon wegschrijven en dat die data alleen door die ene testcase gebruikt werd. De draaitijd werd 5 minuten. Maar het was nog niet genoeg. Het doel was drie minuten. De laatste twee minuten werden gevonden in het gelijk trekken van de het aantal testcases in de verschillende test batches. Op die manier werd er niet meer gewacht op de langste batch, maar waren alle batches gelijk klaar, in drie minuten. Het doel was bereikt.

ATDNL2016_8

Jordann Gross was de laatste sessie voor het diner. Zijn presentatie ging over Black Stories. Volgens Jordann zorgen zogenaamde Black Stories er voor dat mensen op een meer creatieve manier gaan denken. Bij deze game is het de bedoeling dat kinderen door het vragen van de juiste vragen achterhalen wie een bepaalde moord heeft gepleegd of hoe iemand is overleden. Maar het voor de hand liggende antwoord is hier uiteraard niet het juiste antwoord. Dat is te vinden door buiten de lijntjes te denken en de juiste vragen te stellen. Als doende bedacht hij dat dit wellicht ook kon werken op zijn werk. Dus begon hij bij zijn team Black Stories te gebruiken om het denken te veranderen. En het sloeg aan. Mensen werden creatiever in hun denken, gingen de juiste vragen stellen, gingen beter samenwerken en werden er gemotiveerder van. Het brak de waan van de dag en ze kwamen opeens graag en op tijd naar meetings. Zoals bijvoorbeeld een sprintplanning waar Jordann altijd begon met een Black Story. En ben je te laat, ja dan mis je de eerste tips die kunnen leiden tot de oplossing. Uiteraard werd de presentatie van Jordann afgesloten met twee Black Stories, die na de nodige vragen en wat hulp van Jordann opgelost werden door de toehoorders.

ATD2016_9

Het einde van de conferentie nadert. Nog één sessie voor de laatste keynote. Op het podium Daniel Maslyn met “Agile Testing and the Crypto Currency Revolution”. Met zijn herkenbare zeer energieke manier van presenteren houdt hij de zaal na zo’n lange dag nog even wakker. Volgens Daniel is het fysieke geld aan het verdwijnen. Geld wordt een virtueel iets. Neem als voorbeeld de BitCoin. Daniel denkt dat zeer binnenkort niemand meer munten of biljetten bij zich draagt. Er is al een zogenaamde Blockchain waarin al het virtuele geld rond gaat. Open Source code die op ieder device kan draaien. Maar Daniel gaat nog verder. Ook banken zijn niet meer nodig. Geldautomaten verdwijnen uit het straatbeeld. Iedereen regelt alles zelf op geld gebied via de Blockchain. De wereld en de waarde van “geld”  gaat veranderen. Hij ziet hierin echter ook een mooie kans voor de Agile testers, omdat die gewend zijn aan veranderende situaties. Maar dan moeten we het wel begrijpen. Daniel was zelf ook verbijsterd toen hij dit allemaal voor het eerste hoorde. Hij gaat er van uit dat we dit niet in één keer snappen. En dat klopt. De zaal zucht hoorbaar en stelt kritische vragen. Laten we hopen dat de zinnen hiervoor beschrijven wat Daniel bedoelde.

ATD2016_10

De laatste keynote van de dag. “How we tested the Internet of Things (IoT)” door Bart Knaack & James Lyndsay. IoT gaat over het feit dat straks alle dingen met elkaar verbonden zijn via het internet. Je kunt nu al je verwarming aanzetten voordat je thuis komt of automatisch een bericht naar je huisgenoot sturen dat de pizza de oven in kan als je binnen een straal van vijf kilometer van je huis bent. Maar hoe test je het IoT. Bart en James onderzochten dit. Zo gebruikten ze bijvoorbeeld IFTTT (if this then that). Hiermee kun je allerlei apparaten aan elkaar “knopen” via het internet. Bijvoorbeeld elke keer als je een foto maakt, dan wordt deze foto automatisch getweet naar al je volgers of er gaat een lampje knipperen zodra je een tweet binnenkrijgt. Voor testers van IoT een erg handige feature. Verder gebruikten ze stubs. Zo kan James zijn systeem via een bepaalde URL laten denken dat er een tweet binnenkomt en kan er getest worden zonder internet. Kortom het testen van het IoT vraagt om een specifieke aanpak. Zo moet je via zogenaamde sniffers kunnen zien wat er voor berichten heen en weer gaan tussen de devices. Er moeten mogelijkheden komen om foutsituaties te simuleren. En er moeten testomgevingen komen waar de testen kunnen plaatsvinden. De boodschap van Bart en James was onder andere dat wij als Agile testers meer moeten gaan nadenken over hoe we het IoT gaan testen. Want binnenkort is alles verbonden met elkaar en willen we wel dat het werkt. Aan het einde van de presentatie kon het publiek stemmen welk bier ze willen drinken. De voorkeur van James of de voorkeur van Bart. Bij de winnaar ging vervolgens een lampje branden op een knop die was verbonden met het internet. Hierna ging de koelkast naast het podium, die ook was verbonden met het internet, automatisch aan en was het tijd voor de afsluitende borrel.

Einde van een lange maar zeer leerzame dag.