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

Java में Testing परिचय

Maria Milusheva

Senior Software Engineer

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

Software Testing:

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

टेस्टिंग हो सकती है:

  • मैनुअल - ज़रूरी, पर सीमित और कम विश्वसनीय
  • ऑटोमेटेड - सेकंडों में सैकड़ों टेस्ट और चेक चलाने का शक्तिशाली तरीका

हम ऑटोमेटेड टेस्टिंग के लिए JUnit 5 इस्तेमाल करेंगे

एक प्रोग्रामर का ग्राफ़िक

Java में Testing परिचय

एज केस

"If it's not tested, it's broken."$^1$

Edge case - ऐसा इनपुट या स्थिति जो सामान्य या अपेक्षित सीमा के सिरे/किनारे पर हो

उदाहरण: वैरिएबल्स अधिकतम क्षमता पर, null या खाली वैरिएबल्स, नकारात्मक मान

टेस्ट का प्रतीक दर्शाता ग्राफ़िक

1 Quote originally by Bruce Eckel
Java में Testing परिचय

एज केस पर अप्रत्याशित व्यवहार का उदाहरण

निम्न कोड पर ध्यान दें:

public int addTwoNumbers(int a, int b) {
    return a + b;
}

⚠ इनपुट लें 2147483647 (integer का अधिकतम मान) और 1

➡ आउटपुट होगा -2147483648 (integer का न्यूनतम मान)

Java में Testing परिचय

स्मरण: वैरिएबल साइज़ - प्रिमिटिव्स की सीमा तय होती है

प्रिमिटिव टाइप्स का सार-सारणी - byte, short, int, long, float, double, char, और boolean

Java में Testing परिचय

उदाहरण: Ariane 5 लॉन्च

1996 में Ariane 5 रॉकेट की पहली उड़ान:

  • विकास में 8+ साल लगे
  • लागत $370 मिलियन से अधिक
  • लॉन्च के 37 सेकंड बाद विस्फोट
  • कारण था सॉफ़्टवेयर त्रुटि: short overflow

European Space Agency के Ariane 5 रॉकेट का लॉन्च.

Java में Testing परिचय

टेस्टिंग के लाभ

  • एज केस बग्स से सुरक्षा
  • प्रोजेक्ट और आवश्यकताओं की समझ बेहतर होती है
  • लंबी अवधि में विकास तेज़ होता है
  • आवश्यकताओं का पालन ऑटोमेट किया जाता है
  • मानवीय त्रुटि से सुरक्षा

light_bulb.jpg

1 https://books.google.com/books/about/Clean_Architecture.html?id=8ngAkAEACAAJ
Java में Testing परिचय

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

Java में Testing परिचय

Preparing Video For Download...