Test Code Review in the Era of GitHub Actions: A Replication Study
Deze replicatiestudie toont aan dat hoewel het GitHub Pull Request-model meer evenwichtige discussies tussen test- en productcode stimuleert dan Gerrit, de invoering van GitHub Actions leidt tot een sterke verschuiving naar productcode, waardoor testcode review en commentaar vaak volledig worden genegeerd.
Oorspronkelijk artikel gelicentieerd onder CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/). Dit is een AI-gegenereerde uitleg van het onderstaande artikel. Het is niet geschreven of goedgekeurd door de auteurs. Raadpleeg het oorspronkelijke artikel voor technische nauwkeurigheid. Lees de volledige disclaimer
Stel je voor dat softwareontwikkeling een enorme bouwproject is. Je hebt de productiecode (de muren, het dak, de ramen) en je hebt de testcode (de veiligheidsinspecties, de brandblussers en de bouwtekeningen die controleren of alles wel stevig staat).
Vroeger dachten we dat als de veiligheidsinspectie (de test) goed was, het gebouw wel veilig zou zijn. Maar wat als de inspectie zelf fouten bevat? Dan denk je dat alles veilig is, terwijl het dak toch kan instorten.
Dit onderzoek is een herhaling van een eerdere studie, maar dan in de moderne wereld van GitHub (waar de meeste software vandaag wordt gebouwd) en met de komst van GitHub Actions (een robot die automatisch controleert of de bouwtekeningen kloppen).
Hier is wat de onderzoekers hebben ontdekt, vertaald in alledaags taal:
1. De Verandering van Werkplek: Van Strikte Baas naar Vrijblijvende Club
- Vroeger (Gerrit): Softwareontwikkeling gebeurde op een platform dat leek op een strenge baas. Alles moest worden goedgekeurd voordat het mocht. Hier werden testcodes vaak grondig gecontroleerd, maar er was een duidelijke scheiding: de "echte" code kreeg meer aandacht dan de testcode.
- Nu (GitHub): Dit is meer als een openbare markt of een club waar iedereen mee kan doen. Je schuift je werk voor (een 'Pull Request') en hoopt dat iemand het bekijkt.
- Het Resultaat: Op GitHub krijgen testcodes meer aandacht dan vroeger, in verhouding tot de productiecode. Het is eerlijker verdeeld. Maar... er is een grote 'maar': mensen schrijven veel minder opmerkingen in het algemeen. Het is alsof er minder mensen zijn die de bouwplaten bekijken, maar ze kijken wel eerlijker naar zowel de muren als de veiligheidsinspecties.
2. De Komst van de Robot (GitHub Actions)
In 2019 kwam GitHub Actions (GHA) op de markt. Dit is een slimme robot die automatisch controleert of de code werkt, of de tests slagen en of de stijl klopt, voordat een mens er überhaupt naar kijkt.
- De Verwachting: Je zou denken: "Super! De robot doet het saaie werk, dus mensen kunnen zich nu focussen op de moeilijke, slimme dingen in de testcode."
- De Realiteit (De Schok): Het tegendeel gebeurde. Zodra de robot zijn werk deed, keken mensen plotseling veel minder naar de testcode.
- De Analogie: Stel je voor dat je een auto koopt die een perfecte automatische rem heeft. Je vertrouwt de rem zo goed, dat je zelf nooit meer controleert of de rempedalen goed zijn aangesloten. Je kijkt alleen nog maar of de lak mooi is.
- Het Gevolg: Na de komst van de robot, daalde het aantal mensen dat de testcode daadwerkelijk controleerde, soms tot nul. Mensen dachten: "De robot zegt dat het goed is, dus ik hoef niet te kijken."
3. Wat Kijken Mensen Nu Nog Wel?
De onderzoekers keken naar waarom mensen opmerkingen maakten.
- Vroeger: Mensen keken of de test wel echt werkte. "Zit hier een fout in de logica? Werkt deze brandmelder wel als er brand is?"
- Nu: Mensen kijken vooral naar oppervlakkige dingen. "Kunnen we dit woordje anders zetten?", "Is de opmaak netjes?", "Ziet dit er strak uit?"
- Het Probleem: Ze controleren niet meer of de test echt veilig is. Ze maken de testcode mooier, maar niet noodzakelijkerwijs veiliger. Het is alsof je de brandblussers poetsen in plaats van te controleren of ze nog vol zitten.
4. Wat Kijken Mensen Eerst?
Een andere vraag was: kijken mensen eerst naar de muren (productiecode) of eerst naar de veiligheidsinspectie (testcode)?
- Het Antwoord: Mensen kijken altijd eerst naar de muren. Als er veel veranderingen zijn aan de muren (bijvoorbeeld een hele nieuwe vleugel), kijken ze daar naar. De veiligheidsinspectie (testcode) wordt vaak genegeerd of pas later bekeken.
- De Robot helpt niet: Zelfs met de robot die zegt "alles is veilig", kijken mensen nog steeds eerst naar de muren. De robot verandert niet hoe mensen denken; hij verandert alleen wat ze niet meer hoeven te doen, waardoor ze de testcode nog meer over het hoofd zien.
Conclusie: Waarom is dit belangrijk?
Dit onderzoek waarschuwt ons voor een gevaarlijke valkuil in de moderne softwarewereld: Oververtrouwen in automatisering.
Wanneer robots (zoals GitHub Actions) en in de toekomst zelfs AI (kunstmatige intelligentie) alles automatisch testen, gaan mensen denken: "Het is wel goed, de machine zegt het." Hierdoor stoppen mensen met het kritisch kijken naar de testcode.
De les voor iedereen:
- Voor ontwikkelaars: Laat je niet blind door de groene vinkjes van de robot. Kijk zelf nog steeds naar de testcode.
- Voor leiders: Zorg dat er regels zijn die zeggen: "Ook al zegt de robot dat het goed is, een mens moet de testcode nog steeds bekijken."
- Voor toolmakers: Bouw tools die mensen herinneren om dieper te kijken, niet alleen om de oppervlakkige dingen te controleren.
Kortom: Robots zijn geweldig, maar ze mogen ons niet laten vergeten dat we zelf nog steeds de bouwers en veiligheidsinspecteurs moeten blijven.
Verdrinkt u in papers in uw vakgebied?
Ontvang dagelijkse digests van de nieuwste papers die bij uw onderzoekswoorden passen — met technische samenvattingen, in uw taal.