Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> Python

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


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

यूनिट टेस्टिंग एक प्रकार का सॉफ्टवेयर टेस्टिंग है जहां सिस्टम के प्रत्येक व्यक्तिगत घटक का परीक्षण किया जाता है। यूनिट टेस्टिंग डेवलपर्स के लिए एक महत्वपूर्ण अभ्यास है। यह सुनिश्चित करता है कि सॉफ्टवेयर का प्रत्येक घटक अपेक्षा के अनुरूप उचित रूप से कार्य कर रहा है। यूनिट टेस्टिंग मुख्य रूप से सॉफ्टवेयर डेवलपमेंट के कोडिंग चरण के दौरान डेवलपर्स द्वारा की जाती है।

यूनिट टेस्टिंग समस्याओं को ठीक करना आसान बनाती है क्योंकि डेवलपर्स को पता चल जाता है कि सिस्टम या सॉफ्टवेयर के किस विशेष घटक में समस्या है और डेवलपर्स उस विशेष यूनिट को ठीक कर सकते हैं।

Python यूनिट टेस्टिंग

Python में एक इन-बिल्ट पैकेज unittest होता है जिसका उपयोग यूनिट टेस्टिंग करने के लिए किया जाता है। यूनिट टेस्टिंग कोड को फ्यूचर-प्रूफ बनाती है क्योंकि डेवलपर्स उन संभावित मामलों का अनुमान लगाते हैं जहां कोड फेल हो सकता है और कोड का उन मामलों के विरुद्ध परीक्षण किया जाता है। भले ही हम कुछ मामलों को मिस कर दें, फिर भी अधिकांश मामलों को संबोधित किया जाएगा और कोड का उन मामलों के विरुद्ध परीक्षण किया जाएगा।

unittest मॉड्यूल को Python प्रोग्राम में इस प्रकार इम्पोर्ट करके उपयोग किया जा सकता है।

import unittest

उदाहरण

मान लीजिए, हमारे पास एक सिंपल फंक्शन है, जो वर्ग का क्षेत्रफल 계산 करता है। इस फ़ाइल को 'area.py' नाम से सेव करें।

def area(a):
    return (a+a)

अब, उपरोक्त फंक्शन के लिए यूनिट टेस्ट कोड लिखते हैं, जो हमें बताएगा कि हमारा फंक्शन अपेक्षित आउटपुट देता है या नहीं। यूनिट टेस्ट कोड फ़ाइल को "unit_test.py" नाम से सेव करें।

unit_test.py -

from area import *
import unittest
class Testarea(unittest.TestCase):
    def test_area(self):
        self.assertAlmostEqual(area(5),25)
        self.assertAlmostEqual(area(3),9)
        self.assertAlmostEqual(area(4),16)

यहां, जिस फ़ाइल में टेस्ट किए जाने वाले कोड हैं, उसे इम्पोर्ट किया जाता है। unittest मेथड assertAlmostEqual() का उपयोग किया जाता है। यह कुछ इनपुट के साथ area फंक्शन को कॉल करता है और दूसरा पैरामीटर फंक्शन द्वारा लौटाए जाने वाले अपेक्षित आउटपुट को संग्रहीत करता है। यदि area() द्वारा लौटाया गया आउटपुट अपेक्षित आउटपुट के बराबर है, तो टेस्ट पास होता है, अन्यथा यह फेल होता है।

अब कमांड प्रॉम्प्ट से unit_test.py चलाएं ताकि जांच सकें कि हमारा area() कोड टेस्ट पास करता है या नहीं।

यूनिट टेस्ट फ़ाइल चलाने के लिए कमांड प्रॉम्प्ट से निम्नलिखित कमांड निष्पादित करें।

python -m unittest unit_test.py

आउटपुट

C:\Users\Inderjit Singh\Desktop>python -m unittest unit_test.py
F
======================================================================
FAIL: test_area (unit_test.Testarea)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "C:\Users\Inderjit Singh\Desktop\unit_test.py", line 7, in test_area
    self.assertAlmostEqual(area(5),25)
AssertionError: 10 != 25 within 7 places (15 difference)
----------------------------------------------------------------------
Ran 1 test in 0.001s
FAILED (failures=1)

हमारा कोड यूनिट टेस्टिंग में फेल हो गया है। कारण ट्रेसबैक में दिया गया है। पहला फंक्शन self.assertAlmostEqual(area(5),25) हमारे कोड को फेल करता है। चूंकि फंक्शन 10 लौटाता है लेकिन अपेक्षित आउटपुट 25 है।

चूंकि यह एक आसान फंक्शन है, हम इसका फिक्स जानते हैं। हमारा area() कोड गलत है। इसे (a+a) के बजाय (a*a) लौटाना चाहिए।

आइए area() कोड को ठीक करें और यूनिट टेस्ट को फिर से चलाएं।

def area(a):
    return (a*a)

यूनिट टेस्ट को फिर से चलाएं

C:\Users\Inderjit Singh\Desktop>python -m unittest unit_test.py
.
----------------------------------------------------------------------
Ran 1 test in 0.000s
OK

अब, चूंकि हमने area() में कोड को सही कर दिया है, यह OK स्टेटस के साथ सफलतापूर्वक चलता है। यह सुनिश्चित करता है कि हमारा कोड unit_test.py फ़ाइल में निर्दिष्ट सभी मामलों के विरुद्ध पूरी तरह से चलता है।

यह यूनिट टेस्टिंग के बारे में एक बहुत ही सरल विचार था। unittest मॉड्यूल में विभिन्न अन्य फंक्शन्स हैं जिनका उपयोग डेवलपमेंट प्रोसेस में यूनिट टेस्टिंग में किया जाता है।


  1. पायथन में CGI क्या है? पायथन में CGI क्या है?

    कॉमन गेटवे इंटरफ़ेस, या CGI, HTTP सर्वर जैसे सूचना सर्वरों के साथ इंटरफ़ेस करने के लिए बाहरी गेटवे प्रोग्राम्स के लिए एक मानक है।वर्तमान संस्करण CGI/1.1 है और CGI/1.2 प्रगति पर है।वेब ब्राउज़िंगCGI की अवधारणा को समझने के लिए, आइए देखें कि जब हम किसी विशेष वेब पेज या URL को ब्राउज़ करने के लिए एक हाइ

  1. पायथन प्रोग्राम में यूनिट टेस्टिंग Unittest का उपयोग करके पायथन प्रोग्राम में यूनिट टेस्टिंग Unittest का उपयोग करके

    इस लेख में, हम पायथन 3.x में उपलब्ध unittest मॉड्यूल की मदद से सॉफ्टवेयर टेस्टिंग के फंडामेंटल्स सीखेंगे। या इससे पहले। यह ऑटोमेशन, टेस्ट्स के लिए सेटअप और एग्जिट कोड शेयर करने, और हर फ्रेमवर्क के लिए इंडिपेंडेंट टेस्ट्स की अनुमति देता है। यूनिट टेस्ट में, हम ऑब्जेक्ट ओरिएंटेड कॉन्सेप्ट्स की एक वि

  1. पायथन में Unittest का उपयोग करके यूनिट टेस्टिंग पायथन में Unittest का उपयोग करके यूनिट टेस्टिंग

    इस लेख में, हम पायथन 3.x या उससे पहले के संस्करण में उपलब्ध यूनिट टेस्ट मॉड्यूल की मदद से सॉफ्टवेयर टेस्टिंग के मूल सिद्धांतों के बारे में जानेंगे। यह टेस्ट के लिए सेटअप और एग्जिट कोड के ऑटोमेशन, शेयरिंग और हर फ्रेमवर्क के लिए स्वतंत्र टेस्ट की अनुमति देता है।यूनिट टेस्ट में, हम ऑब्जेक्ट-ओरिएंटेड अव