Python में टेस्टिंग परिचय

Python में Testing का परिचय

Alexander Levin

Data Scientist

टेस्टिंग इतनी ज़रूरी क्यों है?

सामान्य समस्याएँ:

  • बग्स और एरर
  • हार्डवेयर फेलियर
  • अप्रत्याशित/अनियमित व्यवहार

इन समस्याओं से फिक्स करने की लागत काफी बढ़ सकती है.

टेस्टिंग से मदद मिलती है:

  • डिफेक्ट, बग, और एरर पहचानने में
  • सॉफ्टवेयर फेलियर के रिस्क घटाने में
  • सॉफ्टवेयर की रिलायबिलिटी, फंक्शनैलिटी, और परफॉर्मेंस बढ़ाने में
Python में Testing का परिचय

टेस्टिंग क्या है?

  • Testing - सिस्टम या सॉफ्टवेयर का मूल्यांकन करने की प्रक्रिया
  • हमें यह जाँचने के लिए टेस्टिंग चाहिए कि यह तय आवश्यकताओं को पूरा करता है

  • Test - सॉफ्टवेयर एप्लिकेशन या सिस्टम की सही कार्यक्षमता सत्यापित करने की प्रक्रिया

Python में Testing का परिचय

कोर्स आवश्यकताएँ

  • एडवांस्ड Python प्रोग्रामिंग
  • assert स्टेटमेंट्स
  • डेकोरेटर्स
  • OOP कॉन्सेप्ट्स (classes, methods, inheritance)
Python में Testing का परिचय

रियल लाइफ में टेस्टिंग

हवाई जहाज़ के बारे में सोचें:

  • विजुअल इंस्पेक्शन
  • इलेक्ट्रॉनिक्स और मैकेनिक्स जाँच
  • फ्यूल जाँच
  • पैसेंजर जाँच
  • मौसम जाँच
  • एयर ट्रैफिक कंट्रोलर से टेक-ऑफ की अनुमति

ये सब — टेस्ट हैं! और सुरक्षा के लिए ज़रूरी हैं.

टेक-ऑफ से पहले हवाई जहाज़

Python में Testing का परिचय

Python में Assert

  • assert condition - यह जाँचने देता है कि condition True है.
  • अगर condition False है, तो Python AssertionError उठाएगा.
Python में Testing का परिचय

pytest से टेस्टिंग - एक सरल उदाहरण

pytest - Python का एक पॉपुलर टेस्टिंग फ्रेमवर्क, जो टेस्ट लिखना सरल बनाता है.

pytest में लिखा एक "assert" टेस्ट उदाहरण:

import pytest

# A function to test
def squared(number):
    return number * number

# A test function always starts with "test"
def test_squared():
    assert squared(-2) == squared(2)
Python में Testing का परिचय

कॉन्टेक्स्ट मैनेजर्स रिकैप

  • Context manager - वह Python ऑब्जेक्ट जिसे with स्टेटमेंट के साथ उपयोग करते हैं
  • हम context managers से अस्थायी कॉन्टेक्स्ट सेटअप और टियरडाउन करते हैं
# फाइल में लिखने का उदाहरण
with open("hello_world.txt", 'w') as hello_file:
    hello_file.write("Hello world \n")
Python में Testing का परिचय

pytest से मिलिए: raises

pytest.raises - जब आप उम्मीद करते हैं कि टेस्ट में Exception उठेगा

import pytest

# A function to test
def division(a, b):
    return a / b

# A test function
def test_raises():
    with pytest.raises(ZeroDivisionError):
        division(a=25, b=0)
Python में Testing का परिचय

सारांश

Testing यह है:

  • मूल्यांकन कि सॉफ्टवेयर अपेक्षा के अनुसार काम करता है
  • रोज़मर्रा की ज़िंदगी में मौजूद
  • सॉफ्टवेयर डेवलपमेंट की चुनौतियों से निपटने के लिए आवश्यक
  • यह सुनिश्चित करने में मदद कि समस्याएँ सही तरह संबोधित हों

Tests का इम्प्लिमेंटेशन:

  • pytest - एक शक्तिशाली Python फ्रेमवर्क जो टेस्टिंग सरल करता है
  • assert - Python कीवर्ड, pytest में कंडीशन वेलिडेट कर बेसिक टेस्ट बनाने हेतु
  • pytest.raises - एक कॉन्टेक्स्ट मैनेजर, जिससे ऐसा टेस्ट बनता है जहाँ Exception अपेक्षित हो
Python में Testing का परिचय

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

Python में Testing का परिचय

Preparing Video For Download...