Copilot के साथ टेस्टिंग और कोड क्वालिटी

GitHub Copilot के साथ Software Development

Thalia Barrera

AI Engineering Curriculum Manager, DataCamp

आपने क्या सीखा

 

  • Code completions — टाइप करते समय सुझाव
  • Copilot Chat — सवाल पूछें, समझाएँ, और कोड रिफैक्टर करें
  • Agent mode — स्वायत्त, मल्टी-स्टेप टास्क्स
  • Custom tools — Copilot की क्षमताएँ बढ़ाएँ
GitHub Copilot के साथ Software Development

अब, इसे लागू करें

nanobanana: half: एक डेवलपर की यात्रा, जहाँ तीन माइलस्टोन आइकन टेस्टिंग, सिक्योरिटी, और परफॉर्मेंस दर्शाते हैं, कोड एडिटर से पॉलिश्ड डिप्लॉयड ऐप तक जाती राह, फ्लैट वेक्टर इलस्ट्रेशन

 

  • Testing — बग्स प्रोडक्शन तक जाने से पहले पकड़ें
  • Security — कमजोरियाँ जल्दी पहचानें
  • Performance — स्केलेबल कोड लिखें
GitHub Copilot के साथ Software Development

Copilot टेस्टिंग आसान करता है

nanobanana: half: एक AI असिस्टेंट डेवलपर की स्क्रीन पर टेस्ट कोड जेनरेट कर रहा है, टेस्ट परिणामों के पास हरे चेकमार्क दिख रहे हैं, फ्लैट वेक्टर इलस्ट्रेशन

 

  • ✔️ पूरे टेस्ट सूट जेनरेट करें
  • 💡 एज केस पकड़ें
  • 🤖 बॉयलरप्लेट संभालें
GitHub Copilot के साथ Software Development

वे एज केस जो निकल जाते हैं

 

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

calculate_discount(50, 20)  # → 40.0 ✓

 

लेकिन क्या होगा अगर...

  • नकारात्मक price
  • discount_pct > 100
  • ऑर्डर की मात्रा शून्य
GitHub Copilot के साथ Software Development

[screencast]

GitHub Copilot के साथ Software Development

[screencast]

GitHub Copilot के साथ Software Development

कब गहराई में जाएँ

nanobanana: half: एक केंद्रित सॉफ्टवेयर डेवलपर लैपटॉप पर AI चैट इंटरफेस में संदेश लिखते हुए

सीधे-सरल केस

  • /tests

 

खास केस

calculate_discount के लिए pytest यूनिट टेस्ट लिखें: negative price, 100% से बड़ा discount, और empty item list को कवर करें। एज केस के लिए parametrize का उपयोग करें।

GitHub Copilot के साथ Software Development

यूनिट टेस्ट से आगे

nanobanana: half: एक टेस्टिंग पिरामिड जिसमें तीन क्षैतिज परतें हैं: चौड़ा बेस unit tests, बीच में integration tests, और सबसे ऊपर संकरा end-to-end tests

 

  • Unit/tests या एक सरल प्रॉम्प्ट
  • Integration — कंपोनेंट्स कैसे जुड़ते हैं, बताइए
  • End-to-end — पूरी codebase का कॉन्टेक्स्ट लें
GitHub Copilot के साथ Software Development

Integration tests

 

  • हर संबंधित फ़ाइल #file: से जोड़ें
  • interaction और mocking strategy बताइए
  • कोई टेस्ट टूटे तो /fixTestFailure इस्तेमाल करें

 

checkout फ्लो के लिए integration tests लिखें। #file:cart.py और #file:payment.py उपयोग करें। payment gateway को mock करें और सुनिश्चित करें कि order status सही से अपडेट होता है।

GitHub Copilot के साथ Software Development

End-to-end tests

 

  • @workspace अपने-आप संबंधित कोड ढूँढ लेता है
  • Playwright और Cypress के साथ बढ़िया काम करता है
  • फेल्योर डिबग करने के लिए #terminalLastCommand का उपयोग करें

 

@workspace यूज़र रजिस्ट्रेशन फ्लो के लिए Playwright end-to-end tests लिखें। जाँचें कि कन्फर्मेशन ईमेल ट्रिगर होता है।

GitHub Copilot के साथ Software Development

[screencast]

GitHub Copilot के साथ Software Development

अभ्यास करते हैं!

GitHub Copilot के साथ Software Development

Preparing Video For Download...