Test engineering, Tooling, Hard & soft skills

Wat is een bug? Hoe vind je ze, en met behulp van welke tools? Hoe registreer je ze? En misschien wel het belangrijkste: hoe voorkom je bugs? Naar aanleiding van de training Rapid Software Testing die ik onlangs volgde bij Bartosz, geef ik antwoord op deze vragen. Dit doe ik met behulp van de cartoons van Andy Glover. Een plaatje zegt namelijk meer dan duizend woorden.

Wat is een bug?

Kort samengevat is een bug alles over het product wat de waarde ervan bedreigt. Dat maakt een bug dus ruimer in begrip dan een defect. Een defect is eerder een afwijking in de software ten opzichte van de requirements. Wil je weten of je te maken hebt met een bug? Stel dan in de dagstart de eenvoudige vraag: “Ik liep hier tegenaan… is dit een probleem?”

Wat is een bug

Hoe vind je bugs?

Rapid Software Testing (RST) is erop gericht om kritieke bugs snel te vinden. Hiervoor is een combinatie nodig van kennis (technische kennis en product kennis), expertise en analytische vaardigheden. De valkuil zit ‘m in het terugvallen op de ouderwetse testtechnieken. Wanneer je enkel traditionele technieken toepast, mis je veel. Om dit te ondervangen, maken testers gebruik van tools die het vinden van bugs vergemakkelijken en versnellen.

Developer tools

Voor het testen van websites neem ik altijd ‘een kijkje achter de schermen’ met Developer Tools. Browsers hebben een zogenaamde DevTools ingebouwd, die wordt getoond via F12 op je toetsenbord. Een developer met wie ik samenwerkte hamerde erop dat zijn software pas goed was, als er geen fouten naar boven kwamen via F12 DevTools.

Check my links

Een tool om URL’s te controleren is de plugin ‘Check my links’. Bij mijn huidige klant kan ik dit helaas niet installeren op de laptop, vanwege het beveiligingsbeleid. Developers hebben die rechten vaak wel op hun Virtuele Machine. Met behulp van ‘check my links’ kun je in de testomgeving vaststellen of de links actief zijn. Op mijn privé laptop check ik de links in de productieomgeving.

Bug magnet

Hetzelfde geldt voor ‘Bug Magnet’. Met deze tool krijg je een goed beeld wat er allemaal mis kan gaan bij invoervelden. Probeer maar eens! Grote kans dat er in veel gevallen niet eens specificaties zijn voor al die velden in jouw product.

Bughunting

Naast het inzetten van testtools, kun je bugs vinden door middel van Bughunting. Een Bughunt is een exploratieve manier van bugs vinden. Dit doe je niet alleen, maar met mensen vanuit de hele organisatie die zich betrokken voelen bij het product. Plan een tijdslot van 2 uur in en ga op jacht naar onbekende bugs in jouw product. Enkele tips & tricks:

  • Regel een prijs voor diegene die de meeste of mooiste bugs vindt;
  • Geef opvolging aan de bughunt-sessie om betrokkenheid te vergroten;
  • Houd de stemming positief en maak er geen product bashing van.
Hoe vind je bugs

Hoe registreer je bugs?

Vanuit de RST optiek hoef je bugs niet perse te registreren. Je kunt ze toelichten middels storytelling. Toch is een bug (of eigenlijk de beschrijving ervan) een van de meest uit het oog springende eindproducten van een tester. Zelf kies ik voor het loggen van bugs als de oplossing pas na een dag beschikbaar is. Ik wil bugs niet vergeten en het kan in de toekomst handig zijn om te zoeken op sleutelwoorden uit foutmeldingen. Als je bugs vastlegt, houd het dan kort en feitelijk. Gebruik in je beschrijving de 5 W’s: wie, wat, waar, wanneer en waarom. Voeg een schermprintje en/of logging toe en ‘assignen’ maar. Wil je meer lezen over bug reports in combinatie met RST, dan adviseer ik je om dit artikel te lezen.

Hoe registreer je bugs

Hoe voorkom je bugs?

De training Rapid Software Testing draagt bij aan het voorkomen van bugs. Hoe dan!? Wanneer je op traditionele wijze test, gaat kostbare tijd verloren aan het schrijven van een uitgebreid testplan. Idem voor het voorbereiden van testcases, het vastleggen ervan en het maken van schermprints tijdens testuitvoer (veelal verplicht gesteld door audit & control). En dat geldt ook voor het documenteren van simpele bugs. Waarbij registratie, hertesten en het bespreken ervan, ervoor zorgen dat er minder tijd overblijft om serieuze bugs te vinden. Bij RST reduceren we onnodig werk en focussen we op belangrijke risico’s, tests en bugs.

Een model of praatplaat

Developers zijn goed in het verstoppen van bugs in de software. Dit klinkt alsof het hun intentie is, maar dat is het niet. Zo komen er bij implementatietrajecten zeer diverse bugs uit de keten naar voren. Volgens RST biedt het maken van een model dan uitkomst. Bij een van mijn opdrachtgevers maakten we een prachtige praatplaat, die eruit ziet als een stadskaart met allemaal metrostations. Waren we een station gepasseerd, dan werd deze afgevinkt. Ontstond er een bug in de keten, dan voegden we een station toe waar we rekening mee houden bij volgende implementaties. Het model –  aangevuld met een checklist – zorgt ervoor dat je bugs voorkomt. In plaats van ad hoc ‘brandjes blussen’, effectieve preventie. Uiteindelijk is het product dat je live brengt weerbaarder en heb je minder incidenten!

SoapUI

SoapUI is een tool gericht is regressie. Je kunt vrij vroeg in je testtraject testcases toevoegen met checks (assertions genoemd). Als tester geeft dit je inzicht in het product en de wijze waarop het getest wordt. Relatief simpel, maar zo voorkom je functionele bugs.

Hoe voorkom je bugs

Wil je ons nieuwste Paarsz magazine per post ontvangen? Laat dan je gegevens achter.

Ontwerp zonder titel (19)

Werken bij Bartosz?

Vincent Verhelst

Geïnteresseerd in Bartosz? Dan ga ik graag met jou in gesprek. We kunnen elkaar ontmoeten met een kop koffie bij ons op kantoor. Of tijdens ontbijt, lunch, borrel of diner op een plek die jou het beste uitkomt. Jij mag het zeggen.

Mijn Paarsz