Testen en uitrollen
Wat is geautomatiseerd testen en uitrollen?
Dat verschil merk je pas als er iets misgaat. Wie met de hand werkt weet bij een storing niet wat er veranderd is, en kan alleen vooruit repareren. Ligt het vast, dan zet je binnen een paar minuten de versie van gisteren terug.
Het scheelt ook tijd. Wijzigingen die vroeger werden opgespaard tot er een geschikt moment was, gaan nu los de deur uit. Testen en uitrollen automatiseren betekent vooral dat kleine dingen klein blijven.
Wat automatisch testen en uitrollen je oplevert
Dit is werk onder de motorkap. Je ziet er als opdrachtgever niets van. Wat je wel merkt, is dit.
Fouten komen boven voordat je klanten ze zien: De controles draaien binnen een paar minuten na elke wijziging: doet bestellen het nog, doet inloggen het nog, praat je site nog met je andere systemen. Een fout die daar opvalt kost tien minuten. Op de echte site kost diezelfde fout een middag en een boze klant.
Terug kunnen in plaats van repareren: Blijkt er na het live zetten toch iets stuk, dan zetten we de vorige versie terug en zoeken we daarna rustig uit wat er misging. Je bezoekers merken er een paar minuten van, geen halve dag.
Ook op vrijdag durven: Als live zetten een handeling van een minuut is met een weg terug, hoef je wijzigingen niet meer op te sparen tot maandag. Kleine verbeteringen worden ineens de moeite waard.
Niet afhankelijk van één persoon: De weg naar live ligt vast in het project zelf, niet in het hoofd van de ontwikkelaar die het toevallig altijd deed.
Voor wie is dit
Testen en uitrollen automatiseren loont zodra er vaker dan een paar keer per jaar iets aan je site of applicatie verandert:
- Je durft niets meer aan te passen omdat je niet weet wat er dan stuk kan gaan
- Je hebt een keer iets live gezet en pas dagen later gehoord dat er iets stuk was
- Je weet niet wat er sinds vorig jaar aan je site is veranderd, en door wie
- Er werken meerdere mensen aan je site en af en toe gooien ze elkaars werk overheen
- Je site hangt aan een systeem dat soms verandert, en je klanten merken dat eerder dan jij
Wat je krijgt
- Alle code in versiebeheer, met per wijziging wie het deed, wanneer en waarom
- Controles die na elke wijziging vanzelf draaien op de dingen die geld kosten als ze stuk zijn
- Een waarschuwing als er een bekend lek zit in de kant-en-klare onderdelen die je site gebruikt
- Dezelfde stappen naar de testomgeving en naar de echte site, zodat er geen verschil ontstaat
- Binnen een paar minuten terug naar de vorige versie, ook als wij net niet bereikbaar zijn
- Een controle op toegankelijkheid die meedraait, zodat een wijziging niets sloopt voor wie de site laat voorlezen
Hoe we het bouwen
Alles op één plek. Eerst zorgen we dat alles wat live staat ook echt in versiebeheer zit, tot de instellingen aan toe. Bij projecten die we overnemen is dat stap één en meteen de vervelendste: er staat altijd wel iets op de server dat nergens anders bestaat.
Testen wat ertoe doet. Daarna schrijven we controles voor de paden die geld waard zijn. Niet voor alles, dat is zonde. Wel voor inloggen, bestellen, betalen en het contact met je andere systemen. Daar wil je dat er een alarm afgaat.
De weg naar live bouwen. Naar de testomgeving bij elke wijziging, naar de echte site met een druk op de knop. Testen en uitrollen zijn dan geen aparte klus meer, maar iets dat vanzelf meeloopt.
Wat kost geautomatiseerd testen en uitrollen?
Wat het inrichten hiervan kost voor een bestaande site of applicatie, hangt af van waar je begint. Staat de code al netjes in versiebeheer, dan is het een paar dagen werk. Moet dat eerst nog gebeuren en is er ook met de hand van alles op de server veranderd, dan wordt het meer.
Bij projecten die wij bouwen zit dit in de bouwkosten. We kennen geen fatsoenlijke manier om zonder te werken, dus het staat niet als keuzevakje op de offerte.
Daarna loopt het mee in hosting en onderhoud. Testen en uitrollen kosten vanaf dat moment nauwelijks nog tijd, en dat is precies de bedoeling.
Waarom Mediavisie Web
We bouwen en beheren zelf, dus we kunnen deze weg naar live ook echt aanleggen. Bij een kant-en-klaar bouwpakket waar je alleen in een venster mag klikken kan dat niet: de live site is dan de enige plek waar iets bestaat, en dus ook de enige plek waar je het stuk kunt maken.
Testen en uitrollen horen bij elke oplevering, samen met een controle op toegankelijkheid. Niet als aparte regel op de factuur, maar als onderdeel van hoe we werken.
En omdat de code van jou is, staat die hele weg naar live in jouw project. Stap je ooit over, dan neemt de volgende partij hem over.
Waar je op moet letten
Testen en uitrollen op de automaat vangt niet alles. Een controle kijkt naar wat iemand erin heeft gezet, en de fout die niemand had bedacht glipt er gewoon doorheen. Het voelt in het begin ook als vertraging: een wijziging die vroeger in vijf minuten op de server stond, gaat nu langs een reeks stappen. Die tijd verdien je terug bij de eerste keer dat er iets stuk zou zijn gegaan.
De techniek eronder
Alle techniekWaar we het mee bouwen.
-
Uitrollen
GitHub Actions
Bouwt, test en zet live bij elke wijziging. Faalt een test, dan gaat er niets naar productie.
-
Omgeving
Docker
Iedereen werkt in dezelfde omgeving, en die omgeving lijkt op productie. Scheelt de klassieke verrassing bij livegang.
-
Testen
Playwright
Doorloopt je site als een echte bezoeker in een echte browser. Ook de toegankelijkheidscontrole draait hierin mee.
-
Versiebeheer
GitLab
Elke wijziging vastgelegd en terug te draaien. Jij krijgt toegang tot de code die van jou is.
-
Bewaking
Sentry
Meldt een fout op het moment dat hij optreedt, met de regel code erbij. Wij zien het voordat jij belt.
-
Server
Ubuntu
De basis onder onze servers. Lange ondersteuning, dus je hoeft niet elk jaar mee met een grote sprong.
Werkwijze
Hoe we het aanpakken.
Van het eerste gesprek tot doorbouwen na livegang. Vier fases, en je weet bij elke fase wat er af is en wat er nog komt.
-
1 tot 2 weken
Uitzoeken
Wat er moet komen en wat er al ligt
We brengen in kaart welke systemen mee moeten, wie het straks beheert en waar het vorige traject op vastliep. Daar komen de uitzonderingen boven water die later de planning bepalen.
Lees verder over Uitzoeken -
Eén week
Afbakenen
Van wensenlijst naar een plan met een prijs
We knippen het werk in stukken die los opgeleverd kunnen worden, en zetten er een prijs en een volgorde op. Daarbij spreken we af wat er in de eerste versie zit en wat later komt.
Lees verder over Afbakenen -
6 tot 12 weken
Ontwerpen en bouwen
Eerst de schermen, dan de techniek eronder
Je kijkt vanaf de eerste week mee op een testomgeving. We leveren in rondes op, te beginnen met het deel dat het meeste werk uit handen neemt, zodat je stuurt op wat je ziet.
Lees verder over Ontwerpen en bouwen -
Doorlopend
Doorbouwen
Na livegang begint het pas
Updates, bewaking en nieuwe functies, met een vast aanspreekpunt dat je project kent. We meten wat er gebruikt wordt, en dat bepaalt waar we het volgende kwartaal aan werken.
Lees verder over Doorbouwen
Zo ziet dat er in de praktijk uit
Alle casesWij werken onder andere voor
Aan de slag
Iets te bouwen?
Vertel wat er moet komen. We denken mee over techniek, haalbaarheid en wat het kost, ook als het plan nog niet rond is.