Ik ben een context driven tester! Joh? Echt waar? Nou en?



Vergelijkbare documenten
WAT IS CONTEXT-DRIVEN TESTEN?

Ik ben een context driven tester! Joh? Echt waar? Nou en?

Help, test ik context-aware of context-driven? Tim Koomen TestNet Najaarsevenement 2013

Najaarsspecial Oktober 2013

Testen. Presentatie. Open-i Software Services BV, Maarssen Datum : Versie : 1.2

TESTAUTOMATISERING IN EEN ETL-OMGEVING

Samenvatting Test Scrum of Scrums

Teststrategie met behulp van heuristieken

Chris C. Schotanus TestFrame, een methode voor gestructureerd testen Voorjaarsevent Testnet: 22 juni 2009

Marc Koper/ Bas M. Dam A Tool with a Fool is only a tool Voorjaarsevent Testnet: 30 juni 2008

Van testproces tot testvak... en verder

Uitdagingen performancetesten in een Agile omgeving Best Practices & Demo

Te hoog gemikte silver bullets missen doel Te hoog gemikte silver bullets missen doel

Factsheet CONTINUOUS VALUE DELIVERY Mirabeau

Test rapportage Waarom eigenlijk?

Werkgroep ISO TestNet thema-avond 9 oktober 2014

BDD/Gherkin. Een introductie

Adinda Keizer - Copyright 2013 Niets uit deze uitgave mag zonder toestemming van Vindjeklant.nl worden gekopieerd of gebruikt in commerciële

Anand T hakur. Over Anand

De sprinter of toch de noodrem? Agile testen bij de NS. 9 oktober 2012 De Sprinter of toch de noodrem? Agile testen bij de NS 1

Testgedreven ontwikkeling dat is pas veilig!

TestNet Voorjaarsevenement 2010 Jurian van de Laar 12 mei 2010

Achter de schermen bij TPI Testscholen, kiezen of mixen?de praktijk

Opdrachtgever in het testproces

Ralph van Roosmalen Automatisch testen Theorie en de praktijk

C.A.S.T. Make it as simple as possible, but not simpler. Make IT as simple as possible, but not simpler. Complexiteit. Einstein maakte het simpel

Testen van digitale leeromgevingen bij ThiemeMeulenhoff. Een Exploratory testaanpak in een veranderende wereld.

Specification by Example. Fitnesse in een ETL omgeving

Workshop Handleiding. Verhalen schrijven. wat is jouw talent?

Grenzeloos vertrouwen in een tool!?

Incore Solutions Learning By Doing

HET BELANGRIJKSTE OM TE WETEN OM MEER ZELFVERTROUWEN TE KRIJGEN

Hoe test je een pen? Je kunt de presentatie na afloop van elke les downloaden. Ga naar : Kies voor de map Acceptatietesten

Sjabloon testplan o.b.v. situationeel testen. <<Organisatie>>

Business Lounge: uw klant aan de bestuurstafel!

Ideale Agile Testwereld

Agile Consortium International Agile Master Assessment

Inspirerend Presenteren

Agile Testen in de praktijk

Is het een Silver Bullet? of is het zelf een Weerwolf?

Resultaat gerichter Testen

Aan de slag met Regie van kwaliteit!

25 Ideeën voor (zakelijke) blogposts

Anko Tijman Een agile teststrategie op basis van MoSCoW

Bonus: Hoe goed ben jij momenteel?

Opleidingsaanbod: testopleidingen.com

Op weg naar een hoger niveau testorganisatie. Tim Koomen TestNet najaarsevenement 2009

10 SUCCESFACTOREN VAN VIP-DAGEN

GRAAG STELLEN WIJ ONS AAN U VOOR

Effectief Geautomatiseerd Testen in de Praktijk TestNet Summer School

SmartTestAssistant. Het slimme testhulpmiddel. door Frank Stolker

De tester als bruggenbouwer

Product Risico Analyse

ISACA round-table 7 december 2009 Rik Marselis

Ontwikkelen en testen van e-business: beheerste dynamiek

Test Automatisering? Mislukken Slagen gegarandeerd! Ruud Teunissen - Polteq Test Services BV

3 Hoogbegaafdheid op school

Opdrachtgever in het testproces. Testnet Voorjaarsevenement 2011 Olaf Agterbosch

Ontwikkellijn 1: Ik zorg ervoor dat ik aan het werk ga en blijf!

Adding value to test tooling Hoe en waarom DevOps de wereld van performance testen verandert

Communiceren met de achterban

Releasen met een druk op de knop: Met behulp van Continuous Delivery sneller uw doel bereiken

GRATIS content TIPS & ideeën die jij zelf kan gebruiken voor je eigen (bedrijfs)website! #SchrijvenVoorBedrijven JasperVerelst.be

LinkedIn Profiel Checklist

Michel Bols Curriculum Vitae

Martin van Leeuwen Happy Testing

ONLINE SAMENWERKEN IN HET DNA VAN ACCOUNTANTSKANTOOR JOINSON & SPICE

Uitleg boekverslag en boekbespreking

COMMUNICEREN VANUIT JE KERN

HEY WAT KAN JIJ EIGENLIJK GOED? VERKLAP JE TALENT IN 8 STAPPEN

Kickstart-aanpak. Een start maken met architectuur op basis van best practices.

Cecile Davis & Leo van der Aalst cecile.davis@sogeti.nl & leo.vander.aalst@sogeti.nl

GOUDEN TIPS voor Professioneel Relatiebeheer

Wij testen..maar....wat test jij?

Kwestie van cursus volgen?

KAM Consultants- workshops

Leer/werk trajecten voor ICT professionals

Verzamelde vragen en antwoorden Agile Applicatie ontwikkeling. Agile Methodiek en Technologie. Zest Application Professionals

De Agile Business Scan

LAAT JE BEDRIJF GROEIEN DOOR HET INZETTEN VAN JE NETWERK!

Scrumscrumscrumscrumscrumscrum scrumscrumscrumscrumscrumscrum scrumscrumscrumscrumscrumscrum agileagileagileagileagileagileagileagil

MANIEREN OM MET OUDERPARTICIPATIE OM TE GAAN

ONTWIKKEL JE ONDERNEMERSCHAP!

Met een rugzakje vol info ga ik naar huis, veel gesprekken, leuke manier van middagvulling.

! LERAREN HANDBOEK!!! 1e Editie, 2014

Eibert Dijkgraaf Kijk verder dan je test neus lang is: Life Cycle Testing Scan Voorjaarsevent Testnet: 30 juni 2008

Sprankelend Spraakmakend Verrassend Inspirerend Waanzinnig

Marc Koper Performancetesten voor dummies

Workshop communicatie

B a s S m e e t s w w w. b s m e e t s. c o m p a g e 1

Sprankelend Spraakmakend Verrassend Inspirerend Waanzinnig

E-book. In 7 stappen naar een effectieve HR-cyclus

DevOps Waarom moeilijk doen 31 oktober als het samen kan

Reflectiegesprekken met kinderen

WHITE PAPER. Agile/Scrum

Winnen en behouden van nieuwe cliënten

Eenvoudig nieuwe klanten. Voor adviseurs, trainers en coaches

Zelfreflectie meetinstrument Ondernemende houding studenten Z&W

Transcriptie:

TESTKRANT MAGAZINE VOOR DE NEDERLANDSE TESTER Ik ben een context driven tester! Joh? Echt waar? Nou en? door HUIB SCHOOTS Verder artikelen van: Jos van Rooyen Erik van Veendendaal Jan Jaap Cannegieter Martijn de Vrieze Nummer 2 Dec 2012 Gratis magazine van TestNieuws.nl - Meer info op

Voorwoord Met de feestdagen voor de deur is het een mooi moment om de tweede TestKrant uit te brengen. Dan kunnen jullie hem uitgebreid lezen tijdens de kerst. Op verzoek heb ik het PDF bestand kleiner gemaakt zodat het downloaden sneller gaat. De vorige editie was bijna 9 mb en deze keer is het bestand nog geen 2 mb. Al doende leert men zullen we maar zeggen. Als jullie nog meer suggesties of opmerkingen hebben dan hoor ik dat uiteraard graag. In dit nummer weer vier interessante artikelen. Als eerste Huib Schoots die vertelt wat het populaire context-driven testen nu precies is en hoe het er uitziet in de praktijk. Een artikel boordevol informatie en ook veel waardevolle verwijzingen waarmee je na het lezen van het verhaal mee aan de slag kunt. Dan Jos van Rooyen die ingaat op het versneld opzetten van testautomatisering en het gebruik van testtooling binnen agile projecten vanwege de regelmatige regressietesten die daarbinnen plaatsvinden. Vervolgens Erik van Veenendaal en Jan Jaap Cannegieter. Die hebben een stuk geschreven over de volwassenheid van testen in Nederland naar aanleiding van een benchmark onderzoek dat ze hebben uitgevoerd op basis van TMMi bij bijna 50 bedrijven. Mooi om te zien dat er een aantal goede stappen zijn gezet, maar het kan nog beter volgens Erik en Jan Jaap. Als laatste komt Martijn de Vrieze aan het woord die uiteenzet waarom testautomatisering nu wel gaat werken en wellicht toch geen windei maar een gouden ei blijkt te zijn. Ik wens jullie veel leesplezier en prettige feestdagen, tot volgend jaar, Marco van der Spek Oprichter van TestNieuws, TestNewsOnline en de TestKrant Inhoudsopgave Voorwoord door Marco van der Spek... 2 Ik ben een context-driven tester! Joh? Echt waar? Nou en? door Huib Schoots... 3 Het gebruik van testautomatisering binnen Agile projecten door Jos van Rooyen... 1 0 De volwassenheid van testen in Nederland door Erik van Veenendaal en Jan Jaap Cannegieter... 15 Testautomatisering. Waarom gaat het nu wel werken? door Martijn de Vrieze... 1 9 Disclaimer... 22 2

Ik ben een context driven tester! Joh? Echt waar? Nou en? Door Huib Schoots Begin dit jaar was er op TestNet een thema avond over ContextDriven Testen die erg goed bezocht was. Dit ondanks het feit dat James Bach en Michael Bolton alleen via een video verbinding te zien waren. Ook uit de TestNet enquête voor het programma 201 3 werd duidelijk dat context-driven testen een populair onderwerp is. Maar wat is context-driven testen nu precies? En hoe ziet dat er dan in de praktijk uit? 3 TestKrant nummer 2

Wat is context driven testen? Context-driven testen is lastig te beschrijven. Vooral omdat iedereen het anders ervaart. Vraag 1 0 context-driven testers om een definitie en een zeker aantal zal dat hangt er van af antwoorden. In zekere zin is dat ook zo. Er is niet echt een definitie waar de hele community zich achter zal scharen. Want context-driven testen is niet alleen een aanpak, maar ook een paradigma en een community [1 ]. Het uitgangspunt voor een context-driven tester is het feit dat de wereld om hem heen een complexe, veranderlijke en onzekere plek is. Daarin is het dus noodzakelijk om je voortdurend aan te passen aan de context van dat moment. We zullen vaardigheden moeten ontwikkelen om te kunnen omgaan met de complexe, vaak dubbelzinnige en vluchtige, steeds veranderende wereld om ons heen. In de blogpost gepubliceerd op de website van DEWT [2] zegt James Bach: Exploratory testing is het ultieme in adaptiviteit. Aanpassen, aanpassen, aanpassen, dat is exploratief testen. Exploratory testing is wanneer het ontwerp proces van testen en het uitvoeren van de test zijn getrouwd, samen in een interactief proces. Toch een definitie? James Bach en Cem Kaner hebben in 2009 een blogpost geschreven waarin ze contextdriven testen als volgt definiëren [3]: Context-driven testers kiezen hun test doelstellingen, technieken en deliverables (met inbegrip van test documentatie) door eerst te kijken naar de details van de specifieke situatie, met inbegrip van de wensen van de stakeholders. De essentie van context-driven testen is het toepassen van kennis en beoordelingsvermogen dat past in het project. De Context-Driven Test School plaatst deze benadering van het testen binnen een humanistische, sociaal en ethisch kader. we krijgen. In plaats van te proberen "best practices" toe te passen, accepteren we dat een zeer verschillende aanpak het beste werkt in verschillende omstandigheden (zelfs verschillende definities van veel voorkomende test termen). De zeven principes Het meest opvallende dat geschreven is over context-driven testen zijn de 7 principes [4]. Er wordt vaak naar verwezen, dus een verhaal over context-driven testen zou niet compleet zijn zonder deze principes: 1. De waarde van elke aanpak hangt af van de context. 2. Er zijn goede aanpakken in een bepaalde context, maar er zijn geen 'best practices'. 3. Mensen die samen werken, zijn het belangrijkste onderdeel van de context van ieder project. 4. Projecten verlopen na verloop van tijd op een manier die vaak niet voorspelbaar is. 5. Het product is een oplossing. Als het probleem niet is opgelost, werkt het product dus niet. 6. Goed software testen is een uitdagend intellectueel proces. 7. Alleen door oordeelsvorming en vaardigheid, coöperatief uitgeoefend gedurende het gehele project, zijn wij in staat om de juiste dingen te doen op het juiste moment om onze producten effectief te testen. Michael Bolton verwijst in zijn key-note op Let s Test in 201 2 [5] naar de zeven principes van de context-driven school. Hij wijst erop dat elk beginsel onzekerheid in zich draagt. In een complexe wereld, moeten we in staat zijn om te gaan met die onzekerheid. Uiteindelijk gaat context-driven testen over het beste doen wat we kunnen, met dat wat 4

Context driven of toch niet? Onder de 7 principes op de website [4] wordt ook uitgelegd dat er vormen zijn die contextdriven lijken, maar dat niet zijn. Contextaware (context-bewust) lijkt het meest op context-driven. Het voorbeeld op de website maakt het duidelijk. De IEEE Standaard 829 voor test documentatie begint met een visie op goede documentatie en moedigt de tester aan om de documentatie aan te passen aan de behoeften van de stakeholders. Dit is context-aware. Voor context-driven testing zijn de eisen van de stakeholders, de praktische beperkingen en mogelijkheden van het project het uitgangspunt. Voor de context-gedreven tester biedt de standaard suggesties in plaats van voorschriften. Voor meer uitleg over context-bewust, context-specifiek en context-imperial verwijs ik je graag naar de eerder genoemde website. Context driven: een ultiem voorbeeld Ik herinner me een verhaal dat Michael Bolton vertelde over een ontmoeting tussen James Bach en Jerry Weinberg. Hij heeft het ook gebruikt in zijn key-note op CAST in 2011 [6]. Jerry vraagt James wat de eerste verantwoordelijkheid is van een tester. James antwoord dat hij er wel 5 weet en dat hij niet kan kiezen. Jerry zegt: De eerste verantwoordelijkheid van een tester is om de situatie te verkennen. Zoiets als hoe je net de beperkingen van mijn vraag hebt uitgedaagd. Een tester is iemand die weet dat alles anders kan zijn. Testers moeten nieuwsgierig zijn. Dingen een beetje opschudden, zodat mensen dingen in een ander licht kunnen zien. gevoel en de randvoorwaarden van de vraag aftasten. Je hardop afvragen of dat wat ze van je willen, wel het beste is. Een eigen aanpak Afgelopen juni schreef ik een blogpost met de naam "Adaptibility vs Context-Driven" [7], die leidde tot een zeer interessante discussie op mijn blog. Joep Schuurkens schreef een geweldige reactie: "Volgens mij is een van de belangrijke aspecten van context -driven een enigszins filosofische testaanpak. Stel vragen, wees sceptisch, zet vraagtekens bij de validiteit (geconstrueerde "geldigheid") van wat er gezegd wordt door jezelf en anderen. Dit betekent dat je jouw aanpak eigen maakt op twee verschillende manieren. Allereerst, het is je persoonlijke, op maat aanpak en van niemand anders. Er is geen externe autoriteit om naar te verwijzen. Jij bent je eigen autoriteit als het gaat om het uitleggen en verdedigen van je testaanpak. Ten tweede, jij kent je aanpak van binnen en van buiten. Wat in die aanpak zit, is er omdat jij dat zo besloten hebt! En je kunt uitleggen waarom. Je kunt een beschrijving geven van je aanpak in drie zinnen, drie uur of drie dagen, afhankelijk van de situatie." Waarop Jesper L Ottosen zegt: ik zeg meestal dat ik zo context gedreven ben als de context toelaat. Lessons learned in software testing Er zijn geen boeken die context-driven testen beschrijven. Met de voorgaande informatie lijkt dat logisch. Het enige boek dat in de Lees het hele verhaal nog eens rustig na in de volledige transcriptie van de key-note (in het Engels). Voor mij is dit een fantastisch voorbeeld van hoe context-driven tester de vraag zou beantwoorden: werken met je 5

buurt komt, is Lessons learned in software testing: a context-driven approach door Cem Kaner, James Bach en Bret Pettichord. Geen boek dat de aanpak beschrijft, maar een boek vol met lessen die niet altijd waar hoeven te zijn. Of zoals de schrijvers zeggen in het voorwoord: het zijn hun lessen uit hun context en ze vragen je om vooral kritisch te zijn. Het is ook zeker geen boek dat je in één ruk uit zal lezen omdat de voorbeelden veelal los van elkaar staan. Tip: zie het als een scheurkalender: leg het boek op je bureau en lees 1 les per dag! Rapid Software Testen Toch is er een prima manier om in aanraking te komen met context-driven testen en het te ervaren: rapid software testing [8]. Een training ontwikkelt door James Bach en Michael Bolton. En de beste training die ik in mijn leven gehad heb. Waarom? Omdat het me fundamenteel anders heeft laten denken over bepaalde dingen in mijn vak. Een bloemlezing van thema s en onderwerpen die aan bod komen in de training zijn: ken uw missie, wees een dienst en geen belemmering, blijf vragen, ben kritisch, ben empirisch (beroep je resultaten uit experimenten en niet op theorie), verantwoordelijkheid, aandacht testbaarheid, heuristieken en een heuristische aanpak van testen, exploratie en een exploratieve aanpak, modellen, geloofwaardigheid, veiligheid taal, diversiteit en het gebruik van diverse half-maatregelen, focus op vaardigheden in plaats van procedures, de kunst van het verhalen vertellen over testen, testen is mensenwerk, denken: kritisch denken, maar ook systeemdenken, stilzwijgende en expliciete kennis en nog veel meer. Testen als een sociale wetenschap Ik zie testen als een sociale wetenschap. Testen gaat niet over techniek alleen. Het gaat veel meer over mensen en sociale interactie. Michael Bolton ging hier op in tijdens zijn presentatie Testing Through The Qualitative Lens op EuroStar 201 2 in Amsterdam waar hij zei: Testen kan in het beste geval alleen beloven wat de sociale wetenschappen leveren: gedeeltelijke antwoorden die nuttig kunnen zijn. Bovendien zegt hij: Uitstekend testen is niet alleen maar computer wetenschap. Het omvat informatica, wiskunde en technische domeinen. Maar door je alleen te richten op programma's en functies laat je andere vragen over waarde en relaties, waaronder mensen, weg. Voor mij is een uitstekend testen meer als antropologie: interdisciplinair, systeem gericht, onderzoekend en het vertelt verhalen. Michael zet in de presentatie exacte wetenschappen af tegen de sociale. Al deze onderwerpen zouden een heel artikel op zich zelf waard zijn en het gaat te ver om hier nu in detail op in te gaan. Ik adviseer eens te kijken op de websites van James of Michael voor meer informatie. 6

Leren Ik heb eerder op testnieuws.nl een drieluik column geschreven met de titel Hoe word ik een software test expert [9]. Het gaat over wat een goede tester maakt en geeft tips over hoe je jezelf kunt bekwamen in het mooie testvak. De grote lijn is: blijf leren! Jaarlijks een paar dagen training is niet genoeg. Om echte goed te worden in je vak, zal je veel, heel veel, moeten oefenen! In een blogpost zegt James Bach [1 0]: testen is een oplossing voor een moeilijk probleem dat moet worden afgestemd op de context van het project. Testen is daarom een menselijke activiteit die een grote vaardigheid vereist om het goed te doen. Daarom moeten we het serieus bestuderen. We moeten ons vak oefenen. Context-driven testers streven ernaar om de Jedi Knights van het testen te worden. Peer workshops Het valt me op dat context-driven testers vaak bloggen. Dit helpt om ideeën uit te wisselen, maar ook om je ideeën aan te scherpen en erover te discussiëren. Continue leren is heel normaal voor context-driven testers. Via twitter worden links uitgewisseld en de community is erg actief. Het beste voorbeeld daarvan zijn peer conferenties. Over de hele wereld worden door kleine groepjes enthousiaste context-driven testers bijeenkomsten georganiseerd die vaak een hele dag of soms zelf een heel weekend duren. Tijdens deze bijeenkomsten wordt er serieus over testen gepraat. Hierover zegt James Bach op zijn blog [11 ]: Een geweldige manier om de gevaren van best practices te vermijden, is door te praten over je eigen ervaringen en voorkeuren, in plaats van algemene voorschriften te maken. Dit is de reden waarom, in peer-conferenties zoals LAWST, we ons richten op ervarings verhalen (eigenlijk noemde we ze 'oorlogsverhalen tot onze terminologie werd aangevallen door bloeddorstige pacifisten) in plaats van te pleiten voor goede practices. 7 Zelf zoek ik de community graag op. In peer conferenties of de reguliere conferenties waar we regelmatig in de avond of de dag voor de conferentie met een groep bij elkaar komen om met elkaar te praten over ons vak en van elkaar te leren. Het is geen kenmerk van de context-driven community, er zijn veel meer mensen die peer conferenties organiseren of bijwonen. Maar het valt me wel op dat er heel veel een context-driven inslag of origine hebben. Mijn persoonlijke ervaring Het boek Lessons Learned prijs ik al jaren aan als één van de beste boeken over testen die ik ooit gelezen heb. Daarnaast was ik al een tijd geïnteresseerd in exploratief testen en de blogs van Michael Bolton en James Bach. De cursus rapid software testen was de aftrap van een grote verandering in mijn denken over testen. Een groot aantal puzzel stukjes die al jaren in mijn hoofd zaten vielen ineens op zijn plek. Bepaalde dingen kregen een naam. Inmiddels ben ik vrij actief op twitter, heb ik ook een blog en heb ik samen met 6 andere testers een peer workshop DEWT (Dutch Exploratory Workshop on Software Testing) opgericht. Ik heb veel contact met mensen uit de context-driven community, via twitter, Skype en ik spreek hen regelmatig op conferenties. We praten over testen, delen interessante artikelen en boeken, reviewen elkaars artikelen, maar delen ook testware. Met een aantal deel ik een passie voor puzzels en we dagen elkaar regelmatig uit. Met James Bach doe ik Skype coaching [1 2] en dat is intensief maar bijzonder leerzaam. Ik kies een onderwerp of we praten over wat me bezig houdt en zo komen we op een onderwerp. Sessies duren ongeveer een uur en daarin stelt James vragen of geeft korte opdrachten en ik werk die direct uit, leg uit wat ik denk en geef antwoorden. Op korte termijn wil ik dat zelf ook gaan doen als coach. Hou de werkgroep training en coaching van TestNet [1 3] in de gaten!

En jij? Mogelijk heeft dit artikel je interesse gewerkt en wil je er meer over lezen of verder over praten? Op mijn weblog staat een mooie lijst met links en de leden van DEWT helpen je graag verder. Neem contact met ons op! Huib Schoots is agile test consultant bij codecentric waar hij zijn passie voor testen deelt door coaching, advies, training en het geven van presentaties. Huib is nieuwsgierig, gepassioneerd, context-driven en probeert alles te lezen dat ooit over testen gepubliceerd is. Lid van DEWT, bestuurslid van TestNet en co-auteur van een boek over de toekomst van testen. Huib schrijft zijn blog op magnifiant.com. Bronnen: [1 ] Mind map gebruikt tijdens presentatie Contextdriven Testing, Michael Bolton & James Bach, TestNet Thema avond Januari 201 2 (http://www.dewt.files.wordpress.com/201 2/02/pdf-cdt1.pdf) [2] Blogpost DEWT: http://www.dewt.wordpress.com/201 2/02/09/contextdriven-testing-testnet/ [3] Blogpost Cem Kaner en James Bach: What is context-driven testing? (http://kaner.com/?p=49) [4] Website: http://www.context-driven-testing.com [5] If it is not context-driven, you can t do it here, Michael Bolton, key-note Let s Test Conference, 201 2 (http://www.lets-test.com/wpcontent/uploads/201 2/05/IfItsNotContextDriven.pdf) [6] Context-driven testing, Michael Bolton, key-note CAST 2011 : http://www.developsense.com/presentations/2011-08cast-contextdriventesting.pdf [7] Blogpost Huib Schoots: Adaptability vs ContextDriven (http://www.huibschoots.nl/wordpress/?p=825) [8] RST materiaal: http://www.satisfice.com/rst.pdf [9] Column Huib Schoots: Hoe word ik een software test expert? (http://www.testnieuws.nl/2011 /1 2/27/hoeword-ik-een-software-test-expert-deel-3/) [1 0] Blogpost James Bach: The Dual Nature of Context-Driven Testing (http://www.satisfice.com/blog/archives/565) [11 ] Blogpost James Bach: The Great Implication of Context-Driven Methodology (http://www.satisfice.com/blog/archives/1 40) [1 2] Website AST over Skype coaching (http://www.associationforsoftwaretesting.org/about/me mbership/skype-coaching/) [1 3] Website werkgroep training en coaching van TestNet (https://www.testnet.org/werkgroepen/traininga-coaching/menu-id-1 4.html) Meer info: Website DEWT: http://www.dewt.wordpress.com/ Links op mijn weblog: http://www.huibschoots.nl/links Website James Bach: http://www.satisfice.com Website Michael Bolton: http://www.developsense.com Website Cem Kaner: http://www.kaner.com 8

9

Het gebruik van testautomatisering binnen Agile projecten Door Jos van Rooyen Best practices en randvoorwaarden Agile krijgt veel aandacht en is tegenwoordig niet meer weg te denken in de IT. Veel bedrijven en organisaties stappen over op Agile ontwikkelmethoden, en dan met name is Scrum erg populair. Bedrijven passen de Agile methodiek toe maar dit gaat niet altijd van een leien dakje. De overgang van de traditionele Watervalmethode naar Agile zorgt voor grote uitdagingen, zoals het aanhaken op de stuurgroep en de inbedding in de totale projectportfolio. Daarnaast zijn er vooral ook veel positieve ervaringen met Agile. Zo wordt vanaf het begin alle disciplines continue betrokken bij het project en doordat er gewerkt wordt in korte sprints wordt er sneller bruikbare software opgeleverd. 10

Agile Testers De testdiscipline binnen een organisatie heeft natuurlijk ook met de nieuwe Agile werkvorm te maken. Inmiddels is een grote populatie testers werkzaam als Agile tester en zij merken dat iedere Agile tester dagelijks met dezelfde uitdagingen en vraagstukken te maken heeft. Enerzijds is de tester gewend aan methodes, zoals TMap Next, die bij veel Agile implementaties in eerste instantie nauwelijks bruikbaar blijken te zijn. Verder blijkt ook de structuur veranderd te zijn bij Agile testen, en daardoor ook het houvast waar testers gewend aan zijn, bijvoorbeeld de testbasis als voorwaarde, entry-exitcriteria, et cetera. Dit heeft veel effect op de manier waarop een tester zijn vak kan uitvoeren. Anderzijds komen ook hele nieuwe vraagstukken rondom testen versneld opzetten waarvoor elke organisatie zijn eigen oplossing bedenkt en waarbij nieuwe ervaringen worden opgedaan. Bijvoorbeeld de toepassing van testautomatisering vanwege regelmatige regressietesten en testtooling in het bijzonder. Waar loop je dan als organisatie tegen aan binnen Agile projecten? Dit artikel gaat daar verder op in. We zoomen niet in op de theorie. De best practices en de daaraan gekoppelde randvoorwaarden staan centraal. Best practices Een best practice is een techniek, werkmethode, proces of activiteit die zich als effectiever heeft bewezen dan enige andere techniek of methode dan ook. De gedachte is dat met de juiste werkmethode het werk uitgevoerd kan worden met minder problemen, minder onvoorzienbare complicaties en betere eindresultaten. Welke best practices kunnen we in Agile projecten onderscheiden? In Agile projecten zie je dat er veel wordt gekozen voor open source testautomatiserings tooling zoals Fitnesse en Selenium. Selenium is hierbij een tool die 11 voor het testen van webapplicaties wordt ingezet, Fitnesse is een tool die voor testautomatisering onder de motorkap (tegen API s, Databases et cetera) gebruikt wordt. Een van de belangrijkste redenen voor het gebruik van deze open source tools zijn de initiële kosten. Als we inzoomen op Fitnesse dan kunnen we zogenaamde fixtures onderkennen. Deze fixtures, in Java geschreven, worden ontwikkeld om herbruikbare componenten op te leveren waarmee testgevallen fysiek gemaakt kunnen worden. Tegenwoordig zie je dat zogenaamde Slim fixtures binnen Fitnesse de standaard worden. Door het gebruik van deze fixtures wordt de testautomatiseringsoplossing minder gevoelig voor wijzigingen. Denk bijvoorbeeld aan het wijzigen van een kolomnaam in een tabel. Als je bijvoorbeeld de definitie van de tabel in een fixture hebt gezet, hoef je de aanpassing van de kolomnaam maar op één plaats te doen, in plaats van op iedere plek in de testgevallen waar deze specifieke tabel gebruikt wordt. Om een link terug te leggen naar bestaande testmethodieken kun je een Slim Java Fixture vergelijken met wat in de TestFrame terminologie een geautomatiseerd actiewoord wordt genoemd. Een andere best practice is het werken met het principe van specification by example. Kort gezegd gaat het er bij specification by example om, om requirements in de vorm van voorbeelden, zogenaamde key examples, te beschrijven. Het idee is dat door de requirements als voorbeelden te beschrijven, de communicatie tussen de verschillende teamrollen (developers, testers, business analisten) verbetert. Je hebt als ware een "single source of truth" gecreëerd. Specification by example staat uitgebreid beschreven in het gelijknamige boek van Gojko Adzic. De zo ontwikkelde specifications vormen een goede bron van documentatie. Altijd een aandachtspunt binnen Agile projecten.

Zoals in veel projecten is het belangrijk om niet telkens weer het wiel opnieuw uit te vinden. Fixtures, ontwikkeld in het ene project, zijn in principe ook herbruikbaar in andere soortgelijke projecten. Denk hierbij bijvoorbeeld aan specifiek voor ETL ontwikkelde fixtures. uitgevoerd cq afgerond. Per sprint worden Een best practice die erg bruikbaar is betreft start small, fail fast. Oftewel: begin klein, geef feedback op het gemaakte. Houd het beheersbaar! Begin met een testautomatiserings tool, doe ervaring op, leer ervan en ga daarna uitbreiden. Selecteer het onderdeel aan functionaliteit waar een quickwin te halen valt en automatiseer dat onderdeel. Op deze manier kan het team kennis maken met testautomatisering en zien wat de opbrengsten voor het team zijn. Er kan ook al snel blijken dat de tool waarmee de testautomatisering wordt aangevlogen niet goed werkt binnen de projectcontext. Op basis hiervan kunnen de juiste vervolgstappen worden bepaald. Belangrijk is dan wel dat je de opbrengsten meet. Een laatste best practice die door velen als bruikbaar wordt beschouwd is dat testen van het gehele team is. Bij Agile vervagen de grenzen van de verschillende disciplines. Een tester is vanuit zijn rol in een Agile project ook een beetje ontwikkelaar en een ontwikkelaar is ook een beetje tester. Het idee is dat productkwaliteit een teamaangelegenheid is en geen testaangelegenheid. De test die een team voortbrengt is van het team en voor het team. Binnen de Agile context kan dan wellicht de testautomatiseringsoplossing hoofdzakelijk uitgewerkt zijn door een tester, het staat de verschillende rollen in het team vrij de testautomatiseringsoplossing ook voor eigen doelstellingen te gebruiken. Randvoorwaarden Testautomatisering is van belang, om als testdiscipline binnen je team de snelheid van de software ontwikkeling bij te houden. Een testvorm bij uitstek om te automatiseren is de regressietest. Een regressietest zal qua omvang toenemen per sprint die wordt 12 een aantal testgevallen geselecteerd (bijvoorbeeld naar aanleiding van bevindingen) die in aanmerking komen om op te nemen in de regressietest. Om succesvol testautomatisering toe te kunnen passen binnen Agile projecten zijn een aantal randvoorwaarden van belang.

Een belangrijke randvoorwaarde is opleiding. Training en opleiding zijn belangrijk voor de tool waarmee je werkt. Echter, een nadeel van bijvoorbeeld Open Source tools is, dat er weinig opleidingsmateriaal voorhanden is. Een oplossing kan zijn dat een zogenaamde Toolcoach beschikbaar is om de diverse scrum teams te ondersteunen. Een andere randvoorwaarde is een goede inrichting van kennisborging. Hoe borg je de kennis die je opgedaan hebt? Leg je dat bij een overkoepelende organisatie of een team? Dit zijn vragen waar je vooraf bij stil moet staan. De al eerder genoemde wiki bij de best practices kan daartoe bijdragen. Daarnaast is teamkennis een randvoorwaarde voor het juist kunnen gebruiken van testautomatisering in Agile projecten. De teams moeten nauw kunnen samenwerken en op elkaar ingespeeld zijn. Je moet elkaar en elkaars werkwijze kennen om succesvol te kunnen samenwerken. Op de Agile manier werken omarmt face-to-face communicatie. Zorg daarom dat de fysieke afstand tussen het team minimaal is, om zodoende snel feedback van elkaar te krijgen en te weten waar iedereen mee bezig is. Hoe meer agile projecten worden uitgevoerd waarbij testautomatisering is gebruikt hoe meer ervaring we kunnen opdoen. Laten we deze met elkaar delen! Dit artikel is mede tot stand gekomen door de bijdragen van John Kronenberg, Sanne Müskens en Sander Ulrich. Jos van Rooyen is lead consultant bij Bartosz. Sinds 1 990 heeft hij ervaring opgebouwd op het gebied van testbeleid, testmanagement, testautomatisering en het testen van software pakketten. Hij is coauteur van diverse boeken zoals, Project de Baas, TestFrame en TestGrip. Tevens heeft Jos vele artikelen gepubliceerd op diverse onderdelen van het testvak. Jos wordt regelmatig gevraagd te spreken over testen op seminars en workshops. Daarnaast is Jos actief binnen diverse werkgroepen van Testnet. Verder is onderhoudbaarheid een randvoorwaarde. Denk goed na hoe je start, maak stappen en ga door, maar denk goed na! Houd het up-to-date. Om de testautomatiseringsoplossing, bijvoorbeeld in Fitnesse, goed te kunnen onderhouden is het verstandig om zoveel mogelijk van de onderhoudsgevoelige delen in de eerder genoemde fixtures onder te brengen. Deze fixtures moeten wel geprogrammeerd worden. Daarvoor is een ontwikkelaar met bijvoorbeeld JAVA kennis randvoorwaardelijk. De te ontwikkelen fixtures moeten opgenomen worden in de product back log. In dit artikel zijn kort een aantal best practices en randvoorwaarden benoemd voor succesvolle testautomatisering binnen Agile projecten. Uiteraard is deze lijst niet volledig. 13

De Testnieuws 25 komt er weer aan TestNieuws.nl publiceert elk jaar een ranglijst met de 25 meest actieve en zichtbare Nederlandse softwaretesters. Dit is dus geen ranglijst van de beste tester van Nederland. Het is een opsomming van de testers die het vaakst op de podia van de grote evenementen stonden, de meeste artikelen schreven in de bekende bladen, een boek publiceerde, actief betrokken waren bij de grote testevenementen, betrokken waren bij initiatieven binnen TestNet, ISTQB, BNTQB, TMMI en/of IREB. Kortom welke Nederlandse testers gaven het afgelopen jaar kleur. Hieronder staat de top 5 van vorig jaar. De hele lijst en de motivaties waarom deze mensen in de lijst staan vind je op http://www.testnieuws.nl/201 2/03/1 6/de-testnieuws-25-editie-2011 / TOP 5 van 2011 1 2 Derk-Jan de Grood Erik van Veenendaal 3 Nathalie Roosenboom de Vries 4 Bob van de Burgt 5 Jan Jaap Cannegieter Nu het einde van het jaar 201 2 in zicht is wordt het tijd om de stand op te gaan maken. Hoe zal de top 5 er dit jaar uit zien. Zien we dezelfde gezichten, zijn er verschuivingen en/of zijn er nieuwkomers die met stip de top 25 binnen komen. Wie weet sta jij binnenkort hieronder op één van de plekken in de top 5 van 201 2. TOP 5 van 2012 1 2 3 4 5 Als jij vindt dat je in deze lijst thuis hoort, als je bang bent dat je vergeten gaat worden of als je zeker wilt weten dat de juiste zaken meegenomen worden bij het opstellen van de ranglijst, zet dan al je prestaties van dit jaar op een rij en mail ze naar TestNieuws. Geef daarbij ook meteen aan waar eventueel bewijs bekeken of verkregen kan worden. Stuur je prestaties voor 14 januari 2013 naar: testnieuws25@testnieuws.nl 14

De volwassenheid van testen in Nederland Door Erik van Veenendaal en Jan Jaap Cannegieter Conclusies naar aanleiding van een TMMi benchmarkonderzoek De eerste versie van TMMi, het volwassenheidsmodel voor testen, is vier jaar geleden gepubliceerd. Tientallen organisaties zijn TMMi gaan gebruiken om de volwassenheid van hun testproces te (laten) meten en hun testproces te verbeteren. Ter gelegenheid van de publicatie van het complete model hebben Erik van Veenendaal en Jan Jaap Cannegieter, beiden lid van het ontwikkelteam van TMMi en auteurs van het boek De kleine TMMi, een benchmark onderzoek uitgevoerd op basis van TMMi bij bijna 50 bedrijven. De uitkomsten van het onderzoek geven een beeld van de volwassenheid van testen in Nederland op dit moment. 15

Volwassenheidsniveau Op basis van het benchmarkonderzoek blijkt dat 84% van de organisaties op niveau 1 zit, 1 0% van de organisaties zit op niveau 2 en 6% van de organisaties zit op niveau 3. Figuur 1 : Verdeling van de TMMi niveau s. Het overgrote deel van de organisaties zit dus op niveau 1. Uiteraard verschillen de organisaties binnen dit niveau nog veel in volwassenheid. Soms is sprake van een totaal chaotisch en niet gedefinieerd proces en soms is men bijna niveau 2. Er kan ook op niveau 1 sprake zijn van een succesvol testtraject. Dit wordt dan veelal bereikt door de helden op testgebied, niet door een beheerst proces. Organisaties die op TMMi niveau 2 zitten, behoren in Nederland eigenlijk al tot de Nederlandse eredivisie van het testen. Testen op TMMi niveau 2 is een beheerst proces, met duidelijk gedefinieerde en afgestemde testsoorten. Om testen op niveau 2 uit te kunnen voeren, dient het testbeleid en de teststrategie afgeleid te zijn van de doelstellingen en het beleid van de business. Er wordt dan een productrisicoanalyse uitgevoerd, een testplan opgesteld en bewaakt, testspecificatietechnieken gebruikt en een goede testomgeving gecreëerd en beheerd. Eigenlijk niets speciaals. Organisaties op TMMi niveau 3 spelen in de Champions League. Testen op TMMi niveau 3 is volledig geïntegreerd met de ontwikkeling. Op niveau 3 is er een testorganisatie ingericht en wordt testen in de organisatie gezien als een volwaardige professie met carrièrepaden en opleidingsprogramma s. 16 Procesgebieden In figuur 2 zijn de scores per procesgebied van niveau 2 opgenomen. TBS Testbeleid en strategie TP Testplanning TMB Testmonitoring en -beheersing TOU Testontwerp en -uitvoering TO - Testomgeving Figuur 2. Scores per procesgebied van niveau 2 In figuur 2 zijn de scores per procesgebied en de standaarddeviatie opgenomen. De standaarddeviatie geeft de marges aan waarbinnen de scores zich bevinden. Uit het overzicht per procesgebied blijkt dat de operationele procesgebieden, Testontwerp en uitvoering alsmede Testomgeving, het beste ontwikkeld zijn. De standaarddeviatie is bij de tactische en strategische procesgebieden, Testbeleid en strategie, Testplanning en Testmonitoring en beheersing het grootst. De spreiding van de uitkomsten is daar dus het grootst. De gemiddelde score van deze tactische en strategische gebieden is dan weliswaar lager dan die van de operationele procesgebieden, maar er zijn dus zeker organisaties die Testbeleid en -strategie en Testplanning goed hebben uitgevoerd. Er zijn echter ook veel organisaties waarvoor dit niet geldt. CMMI en TMMi Overigens blijkt ook uit de benchmark dat organisaties die CMMI geïmplementeerd hebben of hiermee bezig zijn geweest significant hoger scoren op de strategische-

en tactische procesgebieden. Bij deze organisaties horen Testbeleid en strategie alsmede Testplanning tot de best ontwikkelde procesgebieden! Figuur 3. TMMi scores bij bedrijven die wel of geen CMMI gebruiken De verklaring hiervoor is dat organisaties, die bekend zijn met CMMI, beter zijn in het opstellen en toepassen van een beleid en daarnaast beter zijn in het plannen en monitoren van processen. Overigens geldt dit waarschijnlijk voor alle verbetermodellen. Het gaat hier waarschijnlijk vooral om ervaring met het doorvoeren van proces verbeteren. Hoewel TMMi ook goed toepasbaar is in organisaties die CMMI niet toepassen, is het implementeren van TMMi eenvoudiger voor organisaties die wel ervaring hebben met CMMI. Branchresultaten Als we nog wat dieper op de cijfers ingaan, blijkt dat industrie (medisch, automotive, embedded software) significant beter scoort dan finance en overheid, zie figuur 4. Testbegroten Uit de benchmark blijkt ook dat bepaalde onderdelen van procesgebieden beter ontwikkeld zijn dan andere onderdelen. Zo blijken veel testorganisaties bevindingenbeheer en testomgevingenbeer goed uit te voeren. Daartegenover staat dat (vooral) het maken van begrotingen, het gebruik van testontwerptechnieken en het opstellen van eisen aan testomgevingen veelal probleemgebieden zijn. Dit sluit aan bij de ervaring van de auteurs van dit artikel: testbegrotingen zijn vaak niet goed onderbouwd, testspecificatietechnieken worden lang niet altijd expliciet gebruikt en in de praktijk ontbreken veelal gedocumenteerde requirements voor testomgevingen. De afgelopen jaren is er veel geïnvesteerd in het professionaliseren van testers en testprocessen. Dit heeft bij een aantal organisaties tot mooie resultaten geleidt. We zijn er echter nog lang niet. Inmiddels heeft TMMi zich binnen en buiten Nederland bewezen als referentiemodel om testprocessen mee te beoordelen en te verbeteren. Op basis van de analyse van de benchmarkresultaten is er echter nog veel te winnen als het gaat om het professionaliseren van testen! Erik van Veenendaal (www.erikvanveenendaal.nl) is internationaal erkend testexpert, oprichter van Improve Quality Services BV, ontwikkelaar het TMMi en momenteel lid van het bestuur van de TMMi Foundation. Jan Jaap Cannegieter is Figuur 4. Uitkomsten niveau 2 per bedrijfstak Hieruit blijkt dat industrie verder is in het professionaliseren van testen dan organisaties die vooral administratieve systemen gebruiken. 17 directeur van SYSQA B.V., een onafhankelijke organisatie gespecialiseerd in requirements, quality Assurance, testen en procesverbetering. Daarnaast was hij lid van het developmentteam van TMMi en is hij TMMi geaccrediteerde lead assessor. Meer info op www.tmmi.org en in het officiële TMMi boek "Test Maturity Model integration (TMMi), Guidelines for Test Process Improvement" (Van Veenendaal and Wells), www.utn.nl

18

Testautomatisering Waarom gaat het nu wel werken? Door Martijn de Vrieze Jarenlang is testautomatisering geportretteerd als het gouden ei waarmee allerlei problemen konden worden opgelost. Echter bleek in de praktijk vaak dat er van een gouden ei geen sprake was, eerder van een windei. Waarom is het automatiseren van tests dan de laatste jaren weer zo in trek? Is er iets fundamenteels veranderd waardoor het gouden ei nu echt een gouden ei is? 19

Een stukje geschiedenis Van oudsher zijn de tools die men gebruikt voor het automatiseren van testen gebaseerd op het opnemen en afspelen (record/ playback) van testscenarios. Het grote voordeel hiervan, zei men, was dat er zonder enige kennis van code snel en eenvoudig tests geautomatiseerd konden worden. In de praktijk bleek echter al snel dat volledig steunen op record/ playback erg kwetsbaar was, aangezien deze opgenomen tests vrij breekbaar waren. Om de tests voor langere tijd bruikbaar te maken moest er toch veel gescript worden, vaak in de zelfbedachte (proprietary) talen van de diverse tools. De tools waren niet bepaald intuïtief in het gebruik waardoor er veel tijd en geld ging zitten in training in het gebruik van de tools en uiteraard in consultants om de tools te implementeren bij klanten. De lange en vaak pijnlijke trajecten voor het implementeren van geautomatiseerd testen waarbij vaak over budgetten heen gegaan werd en deadlines niet gehaald werden hebben ertoe geleid dat testautomatisering gezien werd als een bodemloze put, zonde van de tijd en het geld en het scheelt uiteindelijk toch niets. Waarom gaat het nu wel werken dan? De afgelopen jaren is het testvak op vele gebieden volwassener geworden. Zo zijn de testopleidingen breder geworden dan alleen maar gericht op methodologieën, met trainingen in technisch testen, agile testen, testautomatisering, etc. Het technische aspect van testen is nadrukkelijker aanwezig in het werkveld van de tester. Doordat testers steeds meer betrokken raken bij het testen van de technische oplossingen in plaats van alleen de traditionele functionele tests, wordt het voor hen ook een logischere en kleinere stap om testautomatisering toe te passen. Niet alleen de testtools maar ook de software heeft in de loop van de afgelopen jaren een grote verandering door gemaakt. Door de opkomst van Object Oriented Programming en Service Oriented Architecture (SOA) zijn er nieuwe lagen aangebracht in de software. Deze lagen zijn onafhankelijk van elkaar te testen en dus ook automatisch te testen. Door niet alleen op de graphical user interface (GUI) te automatiseren, maar ook net daaronder, kunnen tests sneller en stabieler geautomatiseerd worden. In de afgelopen jaren is er een duidelijke verschuiving gekomen in het soort tools dat gebruikt wordt voor testautomatisering en daarmee ook in de succesverhalen rond geautomatiseerd testen. De ouderwetse record/playback tools zijn vervangen door veelal kleinere frameworks waar tegenaan geprogrammeerd moet worden, de proprietary talen van de tools zijn uitgefaseerd en vervangen voor volwassen programmeertalen als C#, Java en Python. Record/ playback wordt niet langer gezien als de oplossing, maar slechts gezien als inspiratie voor de daadwerkelijke testscripts. Naast de vele grote namen bij de commerciële tools zijn er steeds meer kleine namen en open source projecten in opkomst om het testen te automatiseren. 20