Testare și calitate a codului cu Copilot

Dezvoltare software cu GitHub Copilot

Thalia Barrera

AI Engineering Curriculum Manager, DataCamp

Ce ați învățat

 

  • Completări de cod — sugestii pe măsură ce scrieți
  • Copilot Chat — puneți întrebări, obțineți explicații și refactorizați codul
  • Modul agent — sarcini autonome, cu mai mulți pași
  • Instrumente personalizate — extinderea capabilităților Copilot
Dezvoltare software cu GitHub Copilot

Acum, să aplicăm

nanobanana: half: Parcursul unui dezvoltator reprezentat ca o cale cu trei pictograme jaloane pentru testare, securitate și performanță, ducând de la un editor de cod spre o aplicație implementată, ilustrație vectorială plată

 

  • Testare — depistați erorile înainte de producție
  • Securitate — identificați vulnerabilitățile timpuriu
  • Performanță — scrieți cod scalabil
Dezvoltare software cu GitHub Copilot

Copilot simplifică testarea

nanobanana: half: Un asistent AI generând cod de test pe ecranul unui dezvoltator, cu bifă verde lângă rezultatele testelor, ilustrație vectorială plată

 

  • ✔ Generați suite complete de teste
  • 💡 Depistați cazurile limită
  • 🤖 Gestionați codul repetitiv
Dezvoltare software cu GitHub Copilot

Cazurile limită care trec neobservate

 

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

calculate_discount(50, 20)  # → 40.0 ✓

 

Dar ce se întâmplă cu...

  • price negativ
  • discount_pct > 100
  • Comandă cu cantitate zero
Dezvoltare software cu GitHub Copilot

[screencast]

Dezvoltare software cu GitHub Copilot

[screencast]

Dezvoltare software cu GitHub Copilot

Când să aprofundați

nanobanana: half: Un dezvoltator concentrat la laptop, compunând un mesaj într-o interfață de chat AI

Cazuri simple

  • /tests

 

Cazuri speciale

Scrie teste unitare pytest pentru calculate_discount acoperind: preț negativ, discount > 100% și listă de articole goală. Folosește parametrize pentru cazurile limită.

Dezvoltare software cu GitHub Copilot

Dincolo de testele unitare

nanobanana: half: O piramidă de testare cu trei straturi orizontale suprapuse: baza largă etichetată teste unitare, stratul mijlociu etichetat teste de integrare și vârful îngust etichetat teste end-to-end

 

  • Unitare/tests sau un prompt simplu
  • Integrare — descrieți cum se conectează componentele
  • End-to-end — utilizați contextul întregii baze de cod
Dezvoltare software cu GitHub Copilot

Teste de integrare

 

  • Atașați fiecare fișier relevant cu #file:
  • Descrieți interacțiunea și strategia de mock
  • Folosiți /fixTestFailure dacă un test eșuează

 

Scrie teste de integrare pentru fluxul de checkout. Folosește #file:cart.py și #file:payment.py. Mock-uiește gateway-ul de plată și verifică că statusul comenzii se actualizează corect.

Dezvoltare software cu GitHub Copilot

Teste end-to-end

 

  • @workspace descoperă automat codul relevant
  • Funcționează bine cu Playwright și Cypress
  • Folosiți #terminalLastCommand pentru a depana eșecurile

 

@workspace Scrie teste end-to-end Playwright pentru fluxul de înregistrare a utilizatorului. Verifică că emailul de confirmare este declanșat.

Dezvoltare software cu GitHub Copilot

[screencast]

Dezvoltare software cu GitHub Copilot

Să exersăm!

Dezvoltare software cu GitHub Copilot

Preparing Video For Download...