Test e qualità del codice con Copilot

Sviluppo software con GitHub Copilot

Thalia Barrera

AI Engineering Curriculum Manager, DataCamp

Cosa hai imparato

 

  • Completamenti di codice — suggerimenti mentre scrivi
  • Copilot Chat — fai domande, ottieni spiegazioni e refactoring
  • Modalità agente — task autonomi, multi‑step
  • Strumenti personalizzati — estendi le capacità di Copilot
Sviluppo software con GitHub Copilot

Ora mettiamolo in pratica

nanobanana: half: Il percorso di uno sviluppatore con tre tappe per test, sicurezza e performance, che va da un editor di codice a un'app distribuita, illustrazione vettoriale piatta

 

  • Testing — intercetta bug prima della produzione
  • Sicurezza — trova vulnerabilità presto
  • Performance — scrivi codice che scala
Sviluppo software con GitHub Copilot

Copilot semplifica il testing

nanobanana: half: Un assistente AI genera codice di test sullo schermo di uno sviluppatore, con segni di spunta verdi accanto ai risultati dei test, illustrazione vettoriale piatta

 

  • ✔ Genera suite di test complete
  • 💡 Cattura casi limite
  • 🤖 Gestisce il boilerplate
Sviluppo software con GitHub Copilot

I casi limite che sfuggono

 

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

calculate_discount(50, 20)  # → 40.0 ✓

 

Ma che succede con...

  • price negativo
  • discount_pct > 100
  • Ordine con quantità zero
Sviluppo software con GitHub Copilot

[screencast]

Sviluppo software con GitHub Copilot

[screencast]

Sviluppo software con GitHub Copilot

Quando andare più a fondo

nanobanana: half: Uno sviluppatore concentrato al laptop che scrive un messaggio in un'interfaccia chat AI

Casi semplici

  • /tests

 

Casi speciali

Scrivi test unitari pytest per calculate_discount che coprano: prezzo negativo, sconto > 100% e lista articoli vuota. Usa parametrize per i casi limite.

Sviluppo software con GitHub Copilot

Oltre gli unit test

nanobanana: half: Una piramide di test con tre livelli orizzontali: la base ampia etichettata unit test, lo strato centrale integration test e la cima stretta end-to-end test

 

  • Unit — /tests o prompt semplice
  • Integration — descrivi come si collegano i componenti
  • End-to-end — usa il contesto dell’intero codebase
Sviluppo software con GitHub Copilot

Test di integrazione

 

  • Allega ogni file rilevante con #file:
  • Descrivi interazioni e strategia di mocking
  • Usa /fixTestFailure se un test fallisce

 

Scrivi test di integrazione per il flusso di checkout. Usa #file:cart.py e #file:payment.py. Mocka il payment gateway e verifica che lo stato dell’ordine si aggiorni correttamente.

Sviluppo software con GitHub Copilot

Test end‑to‑end

 

  • @workspace trova automaticamente il codice rilevante
  • Funziona bene con Playwright e Cypress
  • Usa #terminalLastCommand per fare debug dei fail

 

@workspace Scrivi test end‑to‑end Playwright per il flusso di registrazione utente. Verifica che l’email di conferma venga inviata.

Sviluppo software con GitHub Copilot

[screencast]

Sviluppo software con GitHub Copilot

Ayo berlatih!

Sviluppo software con GitHub Copilot

Preparing Video For Download...