Pengujian dan kualitas kode dengan Copilot

Pengembangan Perangkat Lunak dengan GitHub Copilot

Thalia Barrera

AI Engineering Curriculum Manager, DataCamp

Apa yang telah Anda pelajari

 

  • Penyelesaian kode — saran saat Anda mengetik
  • Copilot Chat — ajukan pertanyaan, dapatkan penjelasan, dan refactor kode
  • Mode agen — tugas otonom multi-langkah
  • Alat kustom — memperluas kemampuan Copilot
Pengembangan Perangkat Lunak dengan GitHub Copilot

Sekarang, mari terapkan

nanobanana: half: Perjalanan pengembang ditampilkan sebagai jalur dengan tiga ikon tonggak mewakili testing, security, dan performance, mengarah dari editor kode ke aplikasi ter-deploy yang rapi, ilustrasi vektor datar

 

  • Testing — tangkap bug sebelum ke produksi
  • Keamanan — temukan kerentanan lebih awal
  • Kinerja — tulis kode yang skalabel
Pengembangan Perangkat Lunak dengan GitHub Copilot

Copilot mempermudah pengujian

nanobanana: half: Asisten AI menghasilkan kode tes di layar pengembang, menampilkan tanda centang hijau di samping hasil tes, ilustrasi vektor datar

 

  • ✓ Hasilkan suites tes penuh
  • 💡 Tangkap kasus tepi
  • 🤖 Tangani boilerplate
Pengembangan Perangkat Lunak dengan GitHub Copilot

Kasus tepi yang lolos

 

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

calculate_discount(50, 20)  # → 40.0 ✓

 

Namun bagaimana dengan...

  • price negatif
  • discount_pct > 100
  • Pesanan kuantitas nol
Pengembangan Perangkat Lunak dengan GitHub Copilot

[screencast]

Pengembangan Perangkat Lunak dengan GitHub Copilot

[screencast]

Pengembangan Perangkat Lunak dengan GitHub Copilot

Kapan perlu mendalami

nanobanana: half: Seorang pengembang perangkat lunak fokus di laptop mengetik pesan dalam antarmuka chat AI

Kasus sederhana

  • /tests

 

Kasus khusus

Write pytest unit tests for calculate_discount covering: negative price, discount > 100%, and empty item list. Use parametrize for edge cases.

Pengembangan Perangkat Lunak dengan GitHub Copilot

Melampaui unit test

nanobanana: half: Piramida pengujian dengan tiga lapisan horizontal bertumpuk, dasar lebar berlabel unit tests, lapisan tengah berlabel integration tests, dan puncak sempit berlabel end-to-end tests

 

  • Unit — /tests atau prompt sederhana
  • Integrasi — jelaskan koneksi antarkomponen
  • End-to-end — gunakan konteks seluruh codebase
Pengembangan Perangkat Lunak dengan GitHub Copilot

Tes integrasi

 

  • Lampirkan tiap file relevan dengan #file:
  • Jelaskan interaksi dan strategi mocking
  • Gunakan /fixTestFailure jika tes gagal

 

Write integration tests for the checkout flow. Use #file:cart.py and #file:payment.py. Mock the payment gateway and assert that order status updates correctly.

Pengembangan Perangkat Lunak dengan GitHub Copilot

Tes end-to-end

 

  • @workspace otomatis menemukan kode relevan
  • Cocok dengan Playwright dan Cypress
  • Gunakan #terminalLastCommand untuk debug kegagalan

 

@workspace Tulis tes end-to-end Playwright untuk alur pendaftaran pengguna. Pastikan email konfirmasi terpicu.

Pengembangan Perangkat Lunak dengan GitHub Copilot

[screencast]

Pengembangan Perangkat Lunak dengan GitHub Copilot

Ayo berlatih!

Pengembangan Perangkat Lunak dengan GitHub Copilot

Preparing Video For Download...