'Als ik een pizza bestel en de bezorger laat hem per ongeluk uit zijn handen vallen, dan zijn er vast nog stukken te vinden die prima eetbaar zijn, toch?' James Bach laat er geen gras over groeien als we voorafgaand aan de driedaagse training ‘Rapid Software Testing’ met een klein groepje cursisten de zin en onzin van verschillende testmethodes bespreken.
Hij gaat verder: ‘Maar een weldenkend mens gaat toch niet op zoek naar die eetbare stukjes als het product gewoon niet deugt?’ Door zijn grote bril kijken blauwe ogen me indringend aan. ‘En dat is waarom TMap me niet bevalt. Ook al staan er wellicht zinvolle dingen in het boek, het product deugt in de basis gewoon niet. Hetzelfde geldt voor ISTQB.’
Theoretisch minimum
Tijdens de training blijkt al snel dat Bach hier niet alleen gekomen is om statements te maken over het ‘weapon of choice’ van een groot deel van testend Nederland. Rapid Software Testing is een methode die het denkvermogen van de tester centraal stelt, niet een eindeloze stroom aan papierwerk. De training wordt ondersteund met veel praktijkvoorbeelden en al kort na zijn introductie daagt Bach zijn toehoorders uit om hun hersenen te breken op de eerste testuitdaging. De vraag: Wat is het minimale aantal testgevallen dat nodig is om een probleem te testen? Terwijl iedereen ijverig aan de slag gaat, loopt de kritische Amerikaan een rondje langs de tafels en vraagt zich hardop af waarom er geen vragen gesteld worden. De klas pikt het signaal op en al snel blijkt dat het eenvoudig ogende probleem een essentieel onderdeel is van een groter systeem dat berekeningen maakt over de koers van meteorieten. Het systeem is in staat om deze meteorieten met een laser te vernietigen als de koers bedreigend is voor de aarde. Zo ga je toch anders kijken naar de uitdaging die je omhanden hebt.
En waarom stelde niemand de vraag wat de waarde is van ‘zo min mogelijk testgevalle’n? Immers, als de vraag gesteld wordt omdat de time-to-market kort is, kunnen we dan niet beter gewoon beginnen met testen in plaats van onze tijd te verdoen met zoeken naar een theoretisch minimum? Of wellicht dat testuitvoer erg duur is? Dat zou de vraag om weinig testgevallen kunnen legitimeren, maar dan wil je dat als tester wel graag weten. Het afstemmen van de testmissie is een terugkerend thema in de training: begrijpen jij en je opdrachtgever van elkaar waarom dingen op een bepaalde manier gedaan worden? Hierbij is het zaak om een ‘shallow agreement’ te voorkomen, pas als je elkaar echt begrijpt kun je als tester waarde gaan toevoegen. Dat je om dit te bereiken soms vervelende vragen moet stellen hoort erbij.
Context Driven Testing
Dat de context van een probleem bepalend is voor de gekozen oplossing is één van de zeven principes van Context Driven Testing, de benadering achter Rapid Software Testing. Een andere is dat alleen het goede inschattingsvermogen en de vaardigheid van projectmedewerkers bepaalt of er gedurende het project op het juiste moment de juiste dingen worden gedaan om zo goed mogelijk te kunnen testen. Best practices bestaan niet, je kunt je in een bepaalde situatie hooguit laten inspireren door wat in een soortgelijke context goed lijkt te werken. In de training worden verschillende heuristieken geboden om een probleem te kunnen benaderen, waarbij een heuristiek een mogelijke manier is om het probleem te benaderen.
Verfrissende training
Als tester met de nodige certificeringen en een handvol ervaringsjaren heb ik de training als buitengewoon verfrissend ervaren. Het is een training die ingaat op het vakmanschap van de tester. Over hoe je om kunt gaan met de uitdagingen die iedere dag voor onze voeten worden geworpen, niet over faseringen uit vervlogen tijden of eindeloze plannen en rapportages die niemand leest. De training werd ondersteund met echt uitdagende testopdrachten, waar iedere deelnemer steevast een andere oplossing voor bedacht. Hoe mooi is het om vervolgens te leren van de oplossingen van anderen. James Bach begeleide de discussies die ontstonden na het maken van de opdrachten uitstekend, waarbij zijn Socratische manier van vragen stellen maakt dat je je heel erg bewust wordt van incompleetheden in de aanpak die op papier zo waterdicht leek.
En dat is nou precies waar de schoen van de gemiddelde testtraining wringt: de intellectuele uitdaging die testen is, blijft nagenoeg onaangeraakt. Het vervelende van de certificering waarmee de gemiddelde training wordt afgesloten is dus ook dat die eigenlijk niets zegt over hoe goed iemand in zijn vak is. Daarbij komt dat als een certificaat aangeeft dat iemand een hamer kan hanteren, dat nog niet wil zeggen dat ieder testproject een spijker is. Al lijkt dat gegeven wel het beeld te zijn dat in veel organisaties leeft, kijkend naar de inhoud van vele vacatures. Voor een tester die gewoon steengoed wil worden in zijn vak is een Rapid Software Testing-training van James Bach of één van zijn kornuiten een aanrader. Het zal je anders tegen het vak doen aankijken.
Robert Lourens, testconsultant bij Bartosz
James is 24-25 Oktober terug in Nederland om Exploratory Testen te onderwijzen.
Zie: http://www.codecentric.nl/2013/05/06/exploratory-testing-session-based-test-management-with-james-bach/
Michael Bolton is 18-20 November in Nederland voor Rapid Software Testen.
Zie: http://www.codecentric.nl/2012/10/18/rapid-software-testing-training-18-20-november-2013/
Goede en vooral bruikbare cursussen van zowel Michael en James.
Geen fantasieloze theorie, maar concrete voorbeelden!
James Bach heeft veel bijgedragen aan het ontwikkelen van het testvakgebied. En hij heeft een heel eigen kijk op testen. Zijn oproep aan testers om kritisch te denken is zeer belangrijk.
Tegen deze achtergrond begrijp ik niet waarom James niet uitgaat van zijn eigen kracht maar steeds weer de indruk probeert te wekken dat bekende en breed gedragen methoden zoals TMap en raamwerken zoals ISTQB niet goed zijn.
Elke tester heeft kennis en vaardigheden nodig. James Bach helpt testers bij het versterken van hun vaardigheden. Maar om die vaardigheden goed te kunnen toepassen moet je een solide fundament van kennis hebben. Zowel TMap als ISTQB (die trouwens beide verwijzen naar het gedachtegoed van James Bach) zijn bronnen van kennis.
Het punt dat James probeert te maken, als ik hem goed begrijp, is dat je methoden niet klakkeloos en zonder nadenken moet toepassen. Daarin is het testvak niet uniek. Er zijn ook genoeg voorbeelden van bijvoorbeeld Prince2 dat niet goed wordt toegepast (daar is zelfs de afkorting PINO uit voortgekomen) maar dat wil toch niet zeggen dat Prince2 in zichzelf niet deugt?
Natuurlijk heeft James gelijk dat een certificaat niet aantoont dat iemand goed kan testen. Een TMap of ISTQB certificaat laat zien dat iemand kennis heeft en geeft een indruk van hoe hij de kennis kan toepassen. Maar om een goed tester te zijn is uiteraard meer nodig. Naar mijn mening zegt dat niet dat certificaten nutteloos zijn maar dat je daarnaast meer moet doen, dat kan eventueel een training RST zijn, of coaching door een tester, of juist door iemand uit een ander vakgebied.
De kritiek dat TMap en ISTQB trainingen niet altijd goed genoeg zijn vindt zijn oorsprong in de enorme veelheid aan training providers en trainers. Maar zijn daarom alle trainingen niet goed? James Bach en Michael Bolton zijn de enigen die de Rapid Software Testing training geven. Zij kunnen de kwaliteit dus goed waarborgen. Maar dat beperkt het aantal mensen dat hieraan deel kan nemen enorm. Hoe moet het echter met die 10.000 testers in Nederland? Als er 100 per jaar opgeleid kunnen worden dan gaat het nooit lukken om iedereen te verheffen. Gelukkig zijn er veel meer mensen die zich bezig houden met goed testen in het algemeen en Context Driven Testing in het bijzonder. Sterker nog, op 31 oktober is het gehele TestNet najaarsevenement hieraan gewijd.
Veel wijsheid en plezier met testen!
@Rik: laten we de discussie over TMap en ISTQB niet hier voeren. Misschien een leuk onderwerp voor een TestNet interactieve avond?
Inmiddels geeft Paul Holland (http://testingthoughts.com/) de RST training ook en gaan er meer volgen. Er wordt op dit moment hard gewerkt om ook in Nederland trainers op te leiden. De redenen dat het opleiden niet heel snel gaat is dat James en Michael ontzettend voorzichtig zijn met wie de training mag geven, juist om die kwaliteit te waarborgen.