Azure DevOps Repos voor testers: Een branch per test

Lees eerst het algemene onderdeel, zodat onderstaande beter te begrijpen is:
http://www.agiletestenbijnee.nl/p/azure-devops-voor-testers.html

Versiebeheer lijkt geen kennis waarvan testers kennis hoeven te hebben. Maar als je werkt met Azure DevOps wordt dat een ander verhaal. Vooral automatische testen werken zo nauw samen met een goed versiebeheer van de code, dat enige kennis van het versiebeheer in DevOps wel degelijk vereist is.

Azure DevOps Branches for testers: How to use a branch

Waar het voor neerkomt, is het volgende: elke versie, waar je een automatische test op wil uitvoeren, moet een eigen branch hebben. Dus als je bijvoorbeeld na een wijziging van een ontwikkelaar een kleine automatische test uit wil voeren en na het handmatig testen een wat uitgebreidere, heb je twee branches nodig. 1 waarin de ontwikkelaar zijn wijzigingen zet, als hij/zij akkoord is. En 1 waarin de wijzigingen worden gezet, als de tester akkoord is.

Waarom is dat? Dat heeft te maken met de wijze waarop builds in Azure DevOps werken. Een Build wordt altijd gekoppeld aan een branch. En in een build regel je de automatische testen in. Om er nu voor te zorgen, dat de testen geschikt zijn voor de versie, waar je tegenaan test, moet je de juiste testcode of testbestanden aan een build kunnen koppelen. En dat kan dus alleen als ze in een branch zitten.

Om van het bovenstaande voorbeeld uit te gaan: stel je hebt in een sprint 2 stories, die een importbestand wijzigen. Een story brengt het import bestand van "Import 1" naar "Import 2". En de tweede is een vervolg story, deze brengt "Import 2" naar "Import 3". De ontwikkelaar heeft de code afgerond om "Import 1" naar "Import 2" te wijzigen. Je wil daar een korte test op uitvoeren. Daarom breng je je eigen testbestand handmatig naar "Import 2" en voert de korte import test uit.

Vervolgens gaat de tester naar de wijzigingen voor "Import 2" kijken. Maar de ontwikkelaar gaat alvast aan de gang voor de wijzigingen naar "Import 3". Door nu twee branches te hebben, kan je in de ene branch de test uitvoeren voor de wijzigingen van "Import 2" naar "Import 3". En tegelijkertijd in de andere branch de testen van "Import 1" naar "Import 2". Doordat in beide branches een andere versie van het importbestand staan, kan je probleemloos beide versies testen. Want beide branches kan je koppelen aan een build, die ervoor zorgt dat de testen uitgevoerd worden.

Wat als je ontwikkelteam geen versiebeheer wil? Of geen gebruik maakt van Azure DevOps? Maar jij voor je automatische testen wel? Voel je dan vrij om zelf versies te maken. In Azure DevOps hangen goede automatische testen sterk samen met een goed versiebeheer. 1 branch per te testen versie is daarom een vereiste. Ongeacht of je collega's hier nu wel of niet in meegaan.

In het voorbeeld heb ik niet voor niets voor een importbestand gekozen. Want om je automatische testen goed in te richten, moet elk bestand dat je nodig hebt voor je automatische testen in de branch worden toegevoegd. Dus niet alleen de code voor je automatische testen. Maar ook je import bestanden, configuratie files, XML-bestanden, enz.

Zorg dat je weet hoe Azure DevOps is ingericht en zorg dat dit bruikbaar is voor je automatische testen. Het heeft zeker voordelen je aan te sluiten bij de wijze van je ontwikkelaars. Maar het is belangrijker om je automatische testen goed te kunnen draaien. Stem het goed af en zorg dat je weet wat je nodig hebt.


Geen opmerkingen:

Een reactie posten

Opmerking: Alleen leden van deze blog kunnen een reactie posten.