TestNG - अवलोकन
परीक्षण एक आवेदन की कार्यक्षमता की जांच करने की प्रक्रिया है, यह सुनिश्चित करने के लिए कि यह आवश्यकताओं के अनुसार काम करता है। यूनिट परीक्षण डेवलपर स्तर पर तस्वीर में आता है जहां अंतिम उत्पाद की आवश्यकताओं को पूरा करने के लिए प्रत्येक एकल इकाई (वर्ग या विधि) का परीक्षण करने के लिए पर्याप्त उपाय किए जाते हैं।
JUnit ने किसी भी अन्य परीक्षण ढांचे की तुलना में, विशेषकर इकाई परीक्षणों की परीक्षणों की उपयोगिता को समझने के लिए डेवलपर्स को प्रेरित किया है। बल्कि एक सरल, व्यावहारिक और सख्त वास्तुकला का लाभ उठाते हुए, जुनीत डेवलपर्स की बड़ी संख्या को "संक्रमित" करने में सक्षम रहा है। इसकी विशेषताओं की अच्छी समझ रखने के लिए JUnit के हमारे ट्यूटोरियल पर एक नज़र डालें। JUnit, एक ही समय में, कुछ कमियां भी हैं, जो नीचे सूचीबद्ध हैं -
प्रारंभ में केवल यूनिट परीक्षण को सक्षम करने के लिए डिज़ाइन किया गया था, अब सभी प्रकार के परीक्षण के लिए उपयोग किया जाता है।
निर्भरता परीक्षण नहीं कर सकते।
खराब विन्यास नियंत्रण (सेटअप / टियरडाउन)।
घुसपैठ (आपको कक्षाएं बढ़ाने और अपने तरीकों को एक निश्चित तरीके से नाम देने के लिए मजबूर करता है)।
स्टैटिक प्रोग्रामिंग मॉडल (आपको अनावश्यक रूप से फिर से जोड़ने के लिए मजबूर करता है)।
जटिल परियोजनाओं में परीक्षणों के विभिन्न सुइट्स का प्रबंधन बहुत मुश्किल हो सकता है।
TestNG क्या है?
TestNG की परिभाषा इसके प्रलेखन के अनुसार इस प्रकार है -
TestNG, JUnit और NUnit से प्रेरित एक परीक्षण ढाँचा है, लेकिन कुछ नई कार्यक्षमताओं को प्रस्तुत करता है जो इसे अधिक शक्तिशाली और उपयोग करने में आसान बनाते हैं।
TestNG एक खुला स्रोत स्वचालित परीक्षण ढांचा है; कहाँ पेNG माध्यम NextGeneration। TestNG JUnit (विशेष रूप से JUnit 4) के समान है, लेकिन यह JUnit एक्सटेंशन नहीं है। यह JUnit से प्रेरित है। यह JUnit से बेहतर होने के लिए डिज़ाइन किया गया है, खासकर जब एकीकृत कक्षाओं का परीक्षण। TestNG के निर्माता सेड्रिक बीस्ट हैं ।
पुराने ढांचे की अधिकांश सीमाओं को समाप्त करते हुए, TestNG डेवलपर को अधिक लचीले और शक्तिशाली परीक्षण लिखने की क्षमता देता है। जैसा कि परीक्षणों को परिभाषित करने के लिए जावा एनोटेशंस (जेडडीके 5.0 के साथ पेश) से यह बहुत अधिक उधार लेता है, यह आपको यह भी दिखा सकता है कि वास्तविक उत्पादन वातावरण में जावा भाषा की इस नई सुविधा का उपयोग कैसे करें।
TestNG सुविधाएँ
एनोटेशन का समर्थन करता है।
TestNG अधिक जावा और OO सुविधाओं का उपयोग करता है।
एकीकृत कक्षाओं का परीक्षण करने का समर्थन करता है (उदाहरण के लिए, डिफ़ॉल्ट रूप से, प्रत्येक परीक्षण विधि के लिए एक नया परीक्षण वर्ग उदाहरण बनाने की आवश्यकता नहीं है)।
रन-टाइम कॉन्फ़िगरेशन / डेटा जानकारी से संकलन-समय परीक्षण कोड को अलग करता है।
लचीला रनटाइम कॉन्फ़िगरेशन।
'परीक्षण समूहों' का परिचय देता है। एक बार जब आप अपने परीक्षण संकलित कर लेते हैं, तो आप बस TestNG को सभी "फ्रंट-एंड" टेस्ट, या "फास्ट", "स्लो", "डेटाबेस" टेस्ट आदि चलाने के लिए कह सकते हैं।
आश्रित परीक्षण विधियों, समानांतर परीक्षण, लोड परीक्षण और आंशिक विफलता का समर्थन करता है।
लचीला प्लग-इन एपीआई।
बहु थ्रेडेड परीक्षण के लिए समर्थन।