Mijlpaal bereikt: Code coverage voor Shopware 6 - 80%

09/21/2020 Plugin updates New

Code coverage, één van de belangrijkere meetpunten bij het evalueren van de kwaliteit van uw code. In dit artikel gaan wij verder in op wat code coverage precies is, samen met iets waar we erg trots op zijn, onze recente mijlpaal: als eerste 80% code coverage bereiken in Shopware 6, en wat dat betekent voor ons en de eindgebruiker.

Refresher; wat is code coverage?

Code coverage is één van die termen die u regelmatig hoort, maar een duidelijke uitleg is vaak ver te zoeken. Om de metriek te definiëren, kunt u het als volgt zien: Het percentage code coverage geeft aan hoeveel van uw code wordt uitgevoerd, terwijl de geautomatiseerde tests lopen. Oftewel, hoeveel van uw code daadwerkelijk gedekt wordt door de geautomatiseerde tests.

Wanneer er op één plaats wijzigingen in de code worden aangebracht, kan dit onvoorziene gevolgen hebben op andere delen van de code, een goed percentage code coverage zal u in staat stellen om dit vrijwel direct te herkennen.

Automatisch testen

Het Integration Team van MultiSafepay heeft altijd een uitgebreide testfase doorlopen voordat nieuwe plugins openbaar gemaakt worden. Hoewel het grondig en effectief is, neemt het veel tijd in beslag voor onze specialisten. Om kostbare tijd te besparen en efficiënter te werken, hebben wij ons bij Shopware 6 vanaf het begin toegelegd op zoveel mogelijk automatisch testen. Door deze inspanningen toen onze Shopware 6 plugin nog in de kinderschoenen stond, hebben we nu een constante code coverage van 80%.

Dat betekent echter niet dat er niet meer handmatig getest wordt, dit gebeurt nog steeds voor elke grote release, als voorzorgsmaatregel. Het belangrijkste voordeel van automatisch testen is dat we geen handmatige tests hoeven uit te voeren wanneer we kleine wijzigingen in onze code aanbrengen.

Om onze hoofdontwikkelaar, Jasper Nadi, te citeren

"We zullen nooit streven naar 100% code coverage. Ons doel is om onze functionaliteiten goed te laten draaien, wat betekent dat je geen 100% dekking nodig hebt. Zoals Goodhart ooit zei: "Wanneer een maatregel een doelwit wordt, is het niet langer een goede maatregel". We hebben nu een situatie die ons in staat stelt om goed te functioneren en het benodigde onderhoud beheersbaar te houden, wat me erg trots maakt."

Belangrijkste voordelen

Het handhaven van een stabiel percentage code coverage heeft veel voordelen, één van de belangrijkste van deze voordelen is te merken wanneer bestaande code wordt aangepast. Normaal gesproken kan het aanpassen van code problemen veroorzaken in een andere sectie van de plugin. Het handmatig controleren hiervan kost tijd en is gevoelig voor menselijke fouten, automatisch testen geeft u direct een overzicht of alles wel of niet goed functioneert.

Dit stelt ons ook in staat om nieuwe Shopware 6 releases direct te implementeren. Zo kunnen we nu en in de toekomst de goede werking van onze plugins garanderen. Uit deze snellere implementatie en algemene controle van de code vloeit een betere gebruikerservaring voort. Het grootste deel van de code wordt voortdurend gecontroleerd en indien nodig gecorrigeerd, zodat er zo min mogelijk bugs en fouten overblijven. Dit komt de eindgebruiker ten goede.

Samengevat, zal een hoger percentage van de code coverage ons de volgende voordelen oplevere

  • Verhoogde kwaliteit van het eindproduct
  • Verbeterde klantervaring / tevredenheid
  • Snellere time-to-market voor nieuwe functies
  • Gemakkelijker om de code basis in de toekomst te behouden

Door de automatische testen in onze Shopware 6 plugin onderscheiden wij ons van de concurrentie. We zijn erg trots op wat wij hebben bereikt, en zullen ernaar streven om hetzelfde te doen voor onze andere plugins.


Wilt u meer uit uw webshop halen?

Contact