Hoe kan een gedistribueerd versiebeheer systeem de uitrol van een nieuwe release verbeteren?

gedistribueerd versiebeheer systeem frustreert je?Voor het beantwoorden van deze vraag is literatuurstudie verricht naar hoe het gebruik van een DVCS een positief effect heeft op de kwaliteit van de software.

In het onderzoek van Brindescu, Codoban, Shmarkatiuk  & Dig wordt ingegaan op hoe het gebruik van centrale en gedistribueerde versiebeheer systemen invloed hebben op het maken van aanpassingen in software. Dit onderzoek is relevant omdat het aantoont dat het gebruik van een DVCS een positieve invloed heeft op het maken van aanpassingen in software.  Dankzij het gebruik van een DVCS is het mogelijk om lokaal te committen, waardoor er geen problemen worden veroorzaakt bij andere ontwikkelaars. Dit moedigt het frequent committen en experimenteren aan waardoor de ontwikkelaar bewuster met zijn code omgaat, voordat zijn werk wordt gesynchroniseerd met het werk van andere ontwikkelaars.

Doordat de ontwikkelaar bewuster met zijn code omgaat zal de code beter getest zijn en dus minder bugs bevatten. Het gebruik van een DVCS levert kwalitatief betere code op. Hierdoor zal de uitrol van een nieuwe release beter verlopen, en de noodzaak om terug te keren naar een oudere versie verminderen.

gedistribueerd versiebeheer systeem geeft je hoofdbrekens?Testen kunnen grotendeels worden geautomatiseerd. Unit en integratie testen worden al grotendeels geautomatiseerd (Fugetta & Di Nitto, 2014). Dankzij tools als GitLab CI of Bitrise die integreren met de DVCS kunnen ontwikkelaars snel code testen. Wanneer een ontwikkelaar zijn code commit wordt deze automatisch gecompileerd en getest op basis van vooraf gestelde parameters. De ontwikkelaar krijgt direct de resultaten te zien. Dankzij deze naadloze integratie zal de uitrol van een nieuwe release sneller gaan en minder fouten bevatten (GitLab Inc., sd) (Bitrise ltd., sd).

Dankzij het bisect commando van GIT (welke zo belangrijk bleek dat Mercurial hier een eigen versie van heeft gemaakt) kan de introductie van een bug geautomatiseerd terug gevonden worden. Je gebruikt het bisect commando op een revisie die de bug nog niet heeft en ook op een revisie die de bug wel heeft. Dankzij geautomatiseerde testmethodes worden meerdere revisies met elkaar vergeleken totdat de revisie is gevonden waar de bug voor het eerst werd geïntroduceerd (O’Sullivan, 2009).