Copilot ile test ve kod kalitesi

GitHub Copilot ile Yazılım Geliştirme

Thalia Barrera

AI Engineering Curriculum Manager, DataCamp

Neler öğrendiniz

 

  • Kod tamamlama — yazarken öneriler
  • Copilot Chat — soru sorun, açıklama alın, kodu yeniden düzenleyin
  • Aracı modu — özerk, çok adımlı görevler
  • Özel araçlar — Copilot’un yeteneklerini genişletme
GitHub Copilot ile Yazılım Geliştirme

Şimdi uygulayalım

nanobanana: half: Bir geliştiricinin yolculuğu: test, güvenlik ve performans simgeleriyle işaretlenmiş bir patika; kod düzenleyiciden yayınlanmış uygulamaya uzanıyor, düz vektör illüstrasyon

 

  • Test — hataları üretime varmadan yakalayın
  • Güvenlik — açıkları erken saptayın
  • Performans — ölçeklenen kod yazın
GitHub Copilot ile Yazılım Geliştirme

Copilot testleri kolaylaştırır

nanobanana: half: Bir geliştiricinin ekranında test kodu üreten bir Yapay Zekâ asistanı; test sonuçlarında yeşil onay işaretleri görünüyor, düz vektör illüstrasyon

 

  • ✔ Tam test paketleri üretir
  • 💡 Kenar durumları yakalar
  • 🤖 Şablon kodu işler
GitHub Copilot ile Yazılım Geliştirme

Gözden kaçan kenar durumlar

 

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

calculate_discount(50, 20)  # → 40.0 ✓

 

Peki ya...

  • Negatif price
  • discount_pct > 100
  • Sıfır adetli sipariş
GitHub Copilot ile Yazılım Geliştirme

[ekran kaydı]

GitHub Copilot ile Yazılım Geliştirme

[ekran kaydı]

GitHub Copilot ile Yazılım Geliştirme

Ne zaman derinleşmeli

nanobanana: half: Bir AI sohbet arayüzünde mesaj yazan, dizüstünde odaklı bir yazılım geliştirici

Basit durumlar

  • /tests

 

Özel durumlar

calculate_discount için pytest birim testleri yazın; negatif price, %100’ü aşan discount ve boş öğe listesi. Kenar durumlar için parametrize kullanın.

GitHub Copilot ile Yazılım Geliştirme

Birim testlerin ötesi

nanobanana: half: Üç katmanlı bir test piramidi; geniş taban birim testleri, orta katman entegrasyon testleri, dar üst uçtan uca testler olarak etiketli

 

  • Birim — /tests veya basit bir istem
  • Entegrasyon — bileşen bağlantılarını açıklayın
  • Uçtan uca — tam kod tabanı bağlamı kullanın
GitHub Copilot ile Yazılım Geliştirme

Entegrasyon testleri

 

  • İlgili her dosyayı #file: ile ekleyin
  • Etkileşim ve mock stratejisini açıklayın
  • Bir test bozulursa /fixTestFailure kullanın

 

Ödeme adımı için entegrasyon testleri yazın. #file:cart.py ve #file:payment.py kullanın. Ödeme ağ geçidini mock’layın ve sipariş durumunun doğru güncellendiğini doğrulayın.

GitHub Copilot ile Yazılım Geliştirme

Uçtan uca testler

 

  • @workspace ilgili kodu otomatik keşfeder
  • Playwright ve Cypress ile iyi çalışır
  • Hataları ayıklamak için #terminalLastCommand kullanın

 

@workspace Kullanıcı kayıt akışı için Playwright uçtan uca testleri yazın. Onay e-postasının tetiklendiğini doğrulayın.

GitHub Copilot ile Yazılım Geliştirme

[ekran kaydı]

GitHub Copilot ile Yazılım Geliştirme

Ayo berlatih!

GitHub Copilot ile Yazılım Geliştirme

Preparing Video For Download...