TestAutomatisering & PerformanceTesten

Wat is het Bug Filter?

Een algemeen gedeelde opvatting over het doel van testen binnen software ontwikkeling is “het tegenhouden van bugs en het afdekken van risico’s”. Over hoe dit vervolgens het best valt te organiseren, bestaan er echter vaak veel meningsverschillen.

In deze 2 minute snack sta ik graag even stil bij een inzicht dat verhelderend werkt in deze discussie, vooral wanneer het budget van belang is… Altijd dus. Mijn dank hiervoor gaat mede uit naar Katrina Clokie, via wie ik de term ‘Het Bug Filter’ als eerste heb gehoord.

De Test Automatiserings Piramide van Cohn/Crispin/Huggins kennen we ondertussen allemaal wel. Maar juist op de plek waar er beslissingen gemaakt worden op budgettair vlak, komt deze piramide nogal abstract over. Een veelgehoorde uitspraak is dan ook, “ja, maar als je de frontend test, dan test je indirect ook de backend toch”? Dit heeft dan vaak als uitkomst dat de, in mijn ogen foute, conclusie luidt: “Alleen (geautomatiseerde) testen op de frontend zou voldoende moeten zijn”.

Wij hebben het daarom graag over het Bug Filter. Deze wordt soms gevisualiseerd als een omgekeerde test piramide, maar in dit geval stellen we de Build en Deployment Pipeline als een echte pijplijn voor. Elke code check-in start links, gaat door de pijplijn en komt er rechts als het product uit. Om te controleren of de kwaliteit voldoende is kunnen we zoveel filters plaatsen als we willen. De zogenaamde bugfilters. Ze bestaan in drie soorten:

De Filters

Als eerste hebben we high-speed filters: Ze zijn snel te plaatsen, ze veroorzaken nauwelijks oponthoud wanneer het product passeert en ze zijn ook nog eens goedkoop.

Dan hebben we standaard filters: Ze houden een aantal bugs tegen die niet worden tegengehouden door de high-speed filters, maar ze zijn wat lastiger te plaatsen, ze veroorzaken wat oponthoud in de pijplijn en ze zijn behoorlijk duur.

Als laatste hebben we ultra-de-luxe filters. Deze zijn nog veel lastiger te plaatsen, ze zorgen voor veel oponthoud en zoals de naam al verraadt zijn ze ook nog eens schreeuwend duur. Waarom je deze aan zou willen schaffen? Nou, omdat ze bugs tegenhouden die niet worden afgevangen door de andere twee filters.

De Case

Stel je staat in de plaatselijke Bouw-en-Laat-Los winkel (wij hebben alles voor uw build proces) met een budget van 1000 euro. De filters komen met een respectievelijke prijs van 1, 10 en 100 euro. Wat is dan de beste inkoopstrategie?

Het Bug Filter gevisualiseerd op de Build Pipeline

Inkoop Strategieën

We kunnen 10 ultra-de-luxe filters kopen en daarmee houden we inderdaad 5 bugs tegen. Maar 3 ervan hadden we ook kunnen tegenhouden met een high-speed filter, 1 met een standaard filter en inderdaad, 1 hadden we nooit kunnen tegenhouden zonder een ultra-de-luxe filter. De vraag is: Hoeveel bugs hebben we níet tegen kunnen houden?

Een andere strategie is eerlijk verdelen: we verdelen het budget (350/350/300) over de verschillende filters voor respectievelijk 350, 35 en 3 filters. Hiermee houden we 87 tegen met het high-speed filter, 6 met het standaard filter en 1 met het ultra-de-luxe filter. Een veel betere score!

Of een voortschrijdend inzicht benadering: We kopen net zoveel high-speed filters in totdat we zien dat extra filters niet meer zoveel zin meer hebben. Vervolgens doen we dat met de standaard filters en daarna met de ultra-de-luxe filters. Dit past ook beter bij een Agile aanpak; het maken van geautomatiseerde testen doe je tijden het ontwikkelproces, niet achteraf.

Filters en Testen

De drie filters staan hier natuurlijk voor unit testen, systeem-en-integratie testen, en de functionele acceptatie testen. Maar praten over “Bug Filters” in plaats van “test soorten” laat veel duidelijker zien waarom alleen frontend automation vaak geen verstandige keus is. Een gebalanceerde benadering biedt better-bang-for-buck, is sneller te bouwen en geeft tijdens build tijd sneller resultaat. Combineer dat met een verstandige plaatsing in de pijplijn en het juiste moment van plaatsing, en je hebt die snelle feedback loop waar al die Continuous Delivery experts het altijd over hebben.

Dit bericht is geplaatst in Testautomatisering en getagd in Bug Filter CI/CD Test Automatisering

Geef een reactie

Het e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *

Nieuws

Blijf op de hoogte

Workshop ‘Stop de Magie!’ bij Qquest

04/12/2018

In het kader van de 4e techday van Qquest heeft Chris met ondersteuning van HenkJaap een workshop gegeven. Basis was de presentatie en demo ‘No more magic’ van Bas en Chris, welke al een groot succes was op de TestAutomationDay en TestNet. Centraal bij het onderwerp ‘No more Magic’ staat het idee dat er bij […]

Visual Regression Testing – Wat is het en wat heb je eraan?

07/11/2018

Visual Regression Testing, of visuele regressie testen, is een categorie van testen die zich focust op het identificeren van visuele wijzigingen tussen iteraties of versies van een website. Dit kan handmatig door schermen of schermafdrukken te vergelijken, maar het is beter herhaalbaar en sneller te testen door dit automatisch te doen. Het mooiste is om deze testen als een […]

Meer efficiency en flexibiliteit in API’s

04/10/2018

Er wordt steeds meer gebruik gemaakt van GraphQL API. Tijdens mijn laatste opdracht heb ik hier dan ook mee gewerkt.. Graag deel ik mijn ervaringen hierover in een aantal blogs. In deze eerste blog wil ik het graag hebben over de uitdagingen met REST API en hoe GraphQL deze oplost. Maar eerst even een korte […]

Impact tooling op performance: Dynatrace

21/09/2018

In deze blog geef ik kort de resultaten weer van een onderzoekje dat ik bij één van mijn laatste opdrachten heb gedaan naar de impact van het gebruik van de tool Dynatrace op de infrastructuur waar het op draait. Mocht je gebruik maken van tooling als Dynatrace of op een andere manier geïnteresseerd zijn in […]

Tips en tricks voor Protractor

06/09/2018

Vanuit PerformanceArchitecten doen we graag aan kennisdeling. Van tool reviews tot aan complete best practices maar ook van een aantal simpele tips en tricks die je kan gebruiken in je dagelijkse werk. Vandaag in die laatste categorie voor gebruikers van Protractor: (Javascript) timing issues en het managen van de volgorde van uitvoeren van actions. Inleiding […]

PerformanceArchitecten @The Next Web conferentie

04/07/2018

Was het een interessante conferentie? Beslist. Heeft TNW PerformanceArchitecten op nieuwe ideeën gebracht? Zeker. Heb jij TNW gemist, maar wil je je wel in vijf minuten op de hoogte laten brengen? Lees dan snel verder! En mocht je er wel zijn geweest.. We zijn benieuwd naar jouw beeld! Wat is de Next Web? Voor hen […]

De ‘waar begin ik met testautomatisering’ handleiding.

11/04/2018

Wij worden regelmatig gevraagd te helpen bij het opzetten of verbeteren van testautomatisering in een Agile omgeving bij een klant. En hoeveel ervaring je ook hebt, wat je opdracht ook precies inhoudt en in welk team je ook terechtkomt, het is altijd even zoeken waar te beginnen. Onderstaand stappenplan ondersteunt hierbij. PerformanceArchitecten organiseert veel kennissessies. Zo […]

Wat is het Bug Filter?

26/03/2018

Een algemeen gedeelde opvatting over het doel van testen binnen software ontwikkeling is “het tegenhouden van bugs en het afdekken van risico’s”. Over hoe dit vervolgens het best valt te organiseren, bestaan er echter vaak veel meningsverschillen. In deze 2 minute snack sta ik graag even stil bij een inzicht dat verhelderend werkt in deze […]

Testen? Begin bij de basis! | Het belang van unittesten

19/02/2018

Inleiding Mijn vrouw en ik zijn op dit moment bezig met het bouwen van een huis. In dit geval niet als bouwvakker of aannemer, maar dan toch wel als opdrachtgever. Spannend vinden we het zeker, leuk ook. Wat heeft dit te maken met unittesten zou je denken. Nou, het volgende… Het huis wordt namelijk gebouwd […]

De Absolute Beginners Guide voor API Testen met rest-assured.io

16/01/2018

Omdat het moeilijk was om een eenvoudige tutorial te vinden voor rest-assured.io, ben ik na eerst zelf uit te vinden hoe het werkt, maar eens begonnen met een tutorial die de absolute basics uitlegt over rest-assured. In deze post laat ik zien hoe we op een zo eenvoudig mogelijke manier een API test kunnen maken met […]

APACHE MPM (op *nix servers)

07/11/2017

Benieuwd naar de impact van het wijzigen van Apache MPM Prefork naar Worker? Lees dan door! Bij één van onze klanten heb ik dit onderzocht. Omdat dit ook interessant kan zijn voor anderen, deel ik mijn resultaten en ervaringen graag. Het is misschien wat technisch allemaal, maar voor performancetesters, de doelgroep, is het vast goed […]

Performancetesten en CI/CD, gaat dat samen?

13/10/2017

De afgelopen najaarseditie van Testnet stond onder het thema Continuous Everything vooral stil bij CI/CD en natuurlijk testen. Gezien DevOps en CI/CD ook grote invloed hebben op het vakgebied performance (testen), zijn wij blij dat we vanuit PerformanceArchitecten een bijdrage mochten leveren door middel van het delen van onze visie hierop. Onze collega René Meijboom […]