Testen en codekwaliteit met Copilot

Softwareontwikkeling met GitHub Copilot

Thalia Barrera

AI Engineering Curriculum Manager, DataCamp

Wat je hebt geleerd

 

  • Codeaanvullingen — suggesties tijdens het typen
  • Copilot Chat — stel vragen, krijg uitleg en refactor code
  • Agent-modus — autonome taken in meerdere stappen
  • Aangepaste tools — Copilot uitbreiden
Softwareontwikkeling met GitHub Copilot

Aan de slag ermee

nanobanana: half: De reis van een ontwikkelaar als een pad met drie mijlpaalpictogrammen voor testen, beveiliging en performance, van een code-editor naar een gepolijste productie-app, vlakke vectorillustratie

 

  • Testen — vang bugs vóór productie
  • Beveiliging — zie kwetsbaarheden vroeg
  • Performance — schrijf schaalbare code
Softwareontwikkeling met GitHub Copilot

Copilot maakt testen makkelijker

nanobanana: half: Een AI-assistent die testcode genereert op het scherm van een ontwikkelaar, met groene vinkjes naast testresultaten, vlakke vectorillustratie

 

  • ✅ Genereer volledige testsuites
  • 💡 Vang randgevallen
  • 🤖 Handel boilerplate af
Softwareontwikkeling met GitHub Copilot

Randgevallen die doorheen glippen

 

def calculate_discount(price, discount_pct):
    discount = price * (discount_pct / 100)
    return price - discount

calculate_discount(50, 20)  # → 40.0 ✓

 

Maar wat als...

  • Negatieve price
  • discount_pct > 100
  • Order met hoeveelheid nul
Softwareontwikkeling met GitHub Copilot

[screencast]

Softwareontwikkeling met GitHub Copilot

[screencast]

Softwareontwikkeling met GitHub Copilot

Wanneer dieper gaan

nanobanana: half: Een gefocuste softwareontwikkelaar achter een laptop die een bericht opstelt in een AI-chatinterface

Eenvoudige gevallen

  • /tests

 

Speciale gevallen

Schrijf pytest-unittests voor calculate_discount voor: negatieve prijs, korting > 100%, en lege artikelenlijst. Gebruik parametrize voor edgecases.

Softwareontwikkeling met GitHub Copilot

Verder dan unit tests

nanobanana: half: Een testpiramide met drie horizontale lagen: de brede basis met unit tests, de middelste laag met integration tests, en de smalle top met end-to-end tests

 

  • Unit — /tests of een korte prompt
  • Integratie — beschrijf hoe onderdelen koppelen
  • End-to-end — gebruik volledige codebasecontext
Softwareontwikkeling met GitHub Copilot

Integratietests

 

  • Voeg elk relevant bestand toe met #file:
  • Beschrijf interactie en mockingstrategie
  • Gebruik /fixTestFailure als een test breekt

 

Schrijf integratietests voor de checkoutflow. Gebruik #file:cart.py en #file:payment.py. Mock de betaalgateway en controleer dat de orderstatus correct bijwerkt.

Softwareontwikkeling met GitHub Copilot

End-to-end tests

 

  • @workspace vindt automatisch relevante code
  • Werkt goed met Playwright en Cypress
  • Gebruik #terminalLastCommand om fouten te debuggen

 

@workspace Schrijf Playwright end-to-end tests voor de gebruikersregistratieflow. Controleer dat de bevestigingsmail wordt verstuurd.

Softwareontwikkeling met GitHub Copilot

[screencast]

Softwareontwikkeling met GitHub Copilot

Laten we oefenen!

Softwareontwikkeling met GitHub Copilot

Preparing Video For Download...