junit tutorial beginners what is junit testing
शुरुआती के लिए यह JUnit ट्यूटोरियल बताता है कि यूनिट परीक्षण, टेस्ट कवरेज और JUnit परीक्षण फ्रेमवर्क के साथ JUnit परीक्षण फ्रेमवर्क क्या है:
इस JUnit श्रृंखला को हमारे दर्शकों पर ध्यान केंद्रित करने के लिए तैयार किया गया है, जो निरपेक्ष शुरुआती हैं और साथ ही जिन्हें जावा या JUnit का अच्छा ज्ञान है, जो JUnit सीखने में गहरी रुचि रखते हैं।
समग्रता में श्रृंखला को इस तरह से सामने रखा गया है जिसमें आप JUnit 4 और Junit 5 के बीच अंतर की व्याख्या कर पाएंगे।
चलो अब JUnit की खोज शुरू करते हैं !!
आप क्या सीखेंगे:
ps4 के साथ संगत आभासी वास्तविकता हेडसेट
इस JUnit श्रृंखला में ट्यूटोरियल की सूची
ट्यूटोरियल # 1: शुरुआती के लिए JUnit ट्यूटोरियल - JUnit परीक्षण क्या है? (यह ट्यूटोरियल)
ट्यूटोरियल # 2: डाउनलोड, स्थापित करें और ग्रहण में कॉन्फ़िगर करें
ट्यूटोरियल # 3: JUnit टेस्ट: उदाहरण के साथ JUnit टेस्ट मामलों को कैसे लिखें
ट्यूटोरियल # 4: एक JUnit टेस्ट स्थिरता क्या है: JUnit 4 उदाहरण के साथ ट्यूटोरियल
ट्यूटोरियल # 5: JUnit टेस्ट को निष्पादित करने के कई तरीके
ट्यूटोरियल # 6: ज्यूनीट एनोटेशन की सूची: ज्यूनिट 4 बनाम ज्यूनीट 5
ट्यूटोरियल # 7: JUnit इग्नोर टेस्ट केस: JUnit 4 @Ignore Vs JUnit 5 @Disabled
ट्यूटोरियल # 8: JUnit टेस्ट सूट और फ़िल्टरिंग टेस्ट मामले: JUnit 4 बनाम JUnit 5
ट्यूटोरियल # 9: JUnit टेस्ट निष्पादन आदेश: टेस्ट का क्रम JUnit 4 बनाम JUnit 5
ट्यूटोरियल # 10: उदाहरण के साथ JUnit 5 एनोटेशन @RepeatedTest का उपयोग कैसे करें
ट्यूटोरियल # 11: JUnit 5 नेस्टेड क्लास: @ नेस्टेड ट्यूटोरियल विद एग्जाम्पल्स
ट्यूटोरियल # 12: JUnit 5 कस्टम प्रदर्शन नाम और सशर्त परीक्षण निष्पादन
ट्यूटोरियल # 13: JUnit Vs TestNG - क्या अंतर हैं
JUnit ट्यूटोरियल
एक विशिष्ट, परीक्षण-संचालित विकास (टीडीडी) दृष्टिकोण में, डेवलपर्स अपने द्वारा विकसित कोड के हर हिस्से के यूनिट परीक्षण पर ध्यान केंद्रित करते हैं। किसी उत्पाद का परीक्षण बेहतर है, बेहतर है इसकी गुणवत्ता। हम सभी जानते हैं, कि परीक्षण को सॉफ्टवेयर विकास जीवन चक्र के प्रत्येक उत्तीर्ण चरण के साथ समानांतर रूप से चलना चाहिए।
आवश्यकता और विश्लेषण से शुरू करके रखरखाव तक डिजाइन और विकास तक, हर चरण में एक उपयुक्त परीक्षण चरण होना चाहिए। विकास के बाद यूनिट परीक्षण एक मजबूत अनुप्रयोग बनाने और एक अनुकूलित कोड रखने के लिए सलाह दी जाती है।
यूनिट परीक्षण क्या है?
इकाई परीक्षण एक छोटे तर्क या एक कोड का परीक्षण कर रहा है यह सत्यापित करने के लिए कि कोड का आउटपुट एक विशिष्ट डेटा के इनपुट पर और / या कुछ शर्त को पूरा करने पर अपेक्षित है। आमतौर पर, यूनिट परीक्षणों को अन्य परीक्षणों से स्वतंत्र माना जाता है।
इकाई परीक्षण किसी अन्य अनुप्रयोग या तीसरे पक्ष / बाहरी सेवाओं के साथ जटिल इंटरफेस का परीक्षण करने के लिए संभव नहीं हैं। एक इकाई परीक्षण केवल कोड की एक छोटी इकाई को लक्षित करता है जो सिर्फ एक विधि या एक वर्ग हो सकता है।
यह डेवलपर को वर्तमान तर्क और वर्तमान परिवर्तन के कारण किसी भी प्रतिगमन विफलताओं के मुद्दों की खोज करने में मदद करता है। इसके अलावा, यह भी जानकारी प्रदान करता है कि वर्तमान कोड भविष्य के कार्यान्वयन को कैसे प्रभावित कर सकता है।
टेस्ट कवरेज
इकाई परीक्षणों द्वारा कोड किए गए कोड का प्रतिशत कहा जाता है परीक्षण कवरेज ।
उद्देश्य के लिए कोड की बेहतर और अधिक परीक्षण कवरेज है जो भविष्य में प्रतिगमन परीक्षण सूट को जोड़ना जारी रखता है और स्वचालित परीक्षण निष्पादन और सत्यापन को बढ़ाने में मदद करता है, जिससे प्रतिगमन परीक्षण में शामिल मैनुअल प्रयास को कम करना पड़ता है।
वर्तमान कोड में परिवर्तन द्वारा शुरू किए गए सॉफ़्टवेयर प्रतिगमन समस्याओं की पहचान करने के लिए चल रहे परीक्षण स्वचालित रूप से मदद करते हैं। अपने कोड का उच्च-परीक्षण कवरेज होने से आपको बहुत सी मैन्युअल परीक्षाओं को करने के बिना विकासशील सुविधाओं को जारी रखने की अनुमति मिलती है।
कई के रूप में एक सवाल के साथ आते हैं कितना परीक्षण कवरेज आवश्यक है । इस प्रश्न का उत्तर यह है कि परीक्षणों का कितना कवरेज आवश्यक है, इसके लिए कोई कठिन और तेज़ नियम नहीं है; यह सब निर्णय है। एप्लिकेशन वर्कफ़्लो और अब तक पाए गए दोषों के ऐतिहासिक ज्ञान पर अनुभव के साथ निर्णय बेहतर हो जाता है।
कुशल परीक्षणों के लिए जरूरी नहीं है कि हर एक शाखा या पथ कवरेज के लिए 100% टेस्ट कवरेज या ऑटोमेशन टेस्ट और / या यूनिट टेस्ट शामिल हों।
एक अनिवार्य फ़ील्ड के लिए एक सत्यापन त्रुटि संदेश जैसे कुछ तुच्छ सत्यापन खाली छोड़ दिए गए हैं जो वर्षों से प्रतिगमन सूट में शामिल होने की आवश्यकता नहीं है।
मैनुअल परीक्षण बनाम स्वचालित परीक्षण
इकाई परीक्षण दो दृष्टिकोणों के माध्यम से किया जा सकता है:
- मैनुअल परीक्षण
- स्वचालित परीक्षण
दोनों तरीकों में वर्कफ़्लो आम रहता है:
- टेस्ट केस बनाना
- इसकी समीक्षा कर रहे हैं
- सुधार की जरूरत है तो Rework
- परीक्षण मामले को निष्पादित करें
- परीक्षण के परिणामों का विश्लेषण करें
नीचे दिए गए कारणों से मैन्युअल परीक्षण पर स्वचालित परीक्षण को प्राथमिकता दी जाती है:
सर्वश्रेष्ठ यूट्यूब एमपी 3 कनवर्टर मुक्त करने के लिए
मैनुअल परीक्षण | स्वचालित परीक्षण |
---|---|
जब किसी उपकरण के हस्तक्षेप के बिना मैन्युअल रूप से एक टेस्टकेस निष्पादित किया जाता है, तो मैन्युअल परीक्षण कहा जाता है। | जब एक टेस्टकेस को बिना किसी मैनुअल हस्तक्षेप के एक उपकरण की मदद से निष्पादित किया जाता है, तो स्वचालित परीक्षण कहा जाता है। |
दोहराए गए मैनुअल प्रयासों में शामिल हैं। | दोहराए गए मैनुअल प्रयासों से बचा जा सकता है। |
मैनुअल परीक्षण में मानव प्रयास गलत और समय लेने वाला हो सकता है। | मैनुअल प्रयासों की तुलना में स्वचालन परीक्षण तेज और त्रुटि मुक्त हैं। |
हर संसाधन को मैन्युअल रूप से चलाने के लिए परीक्षण संसाधन आवश्यक हैं, जिससे संसाधनों में निवेश को जोड़ा जा सके। | निर्दिष्ट स्वचालित उपकरण (ओं) का उपयोग करके स्वचालित परीक्षण को निष्पादित करने के लिए कम परीक्षकों की आवश्यकता होती है, इसलिए परीक्षण संसाधनों में कम निवेश होता है, जिससे लाभप्रदता बढ़ जाती है। |
मैन्युअल परीक्षण को समय सीमा प्रतिबंधों पर विचार करते हुए एक छोटे परीक्षण कवरेज तक सीमित किया जाना है। इसलिए, कई परीक्षण परिदृश्यों को छोड़ देने का जोखिम है और इस प्रकार दोष रिसाव का खतरा भी है। | कई अलग-अलग परीक्षण परिदृश्यों को स्वचालित किया जा सकता है और समय और संसाधन संकट के तहत भी कई बार निष्पादित किया जा सकता है इसलिए बेहतर परीक्षण कवरेज और वितरण की बेहतर गुणवत्ता के लिए अग्रणी है। |
यूनिट टेस्ट फ्रेमवर्क
हमारे पास अगला सवाल यह हो सकता है कि एक विशिष्ट स्वचालन इकाई परीक्षण मामला कैसा दिखता है और इसके बाद का ढांचा क्या है। डेवलपर्स उपयोग करते हैं यूनिट टेस्ट ढांचा स्वचालित इकाई परीक्षण मामले बनाने के लिए।
- यह सत्यापित करने के लिए कि क्या कोड तार्किक रूप से अपेक्षित है, एक विशिष्ट चेकपॉइंट या सत्यापन मानदंड वाला एक टेस्टकेस बनाया गया है।
- जब टेस्टकेस निष्पादित किया जाता है, तो या तो मानदंड / शर्त गुजरती है या विफल रहती है।
- एक लॉग टेस्टकेस वर्कफ़्लो के अनुसार उत्पन्न होता है।
- फ्रेमवर्क पास किए गए परीक्षण मामलों और असफल लोगों पर एक संक्षिप्त परिणाम की रिपोर्ट करेगा।
- विफलता की गंभीरता के अनुसार, टेस्टकेस आगे नहीं बढ़ सकता है और बाद के निष्पादन को रोक सकता है।
- कुछ कम गंभीर विफलताएं हो सकती हैं जो लॉग में रिपोर्ट की जाती हैं, हालांकि यह एक कठिन स्टॉप नहीं दिखाती है लेकिन आगे के परीक्षण चरणों को अवरुद्ध किए बिना जारी रहती है।
JUnit क्या है?
JUnit एक ओपन-सोर्स फ्रेमवर्क है जिसका उपयोग जावा प्रोग्रामिंग भाषा में यूनिट टेस्ट लिखने और निष्पादित करने के लिए किया जाता है। यह सबसे प्रसिद्ध इकाई परीक्षण रूपरेखाओं में से एक है।
नीचे दी गई छवि विभिन्न प्रसिद्ध स्वचालन इकाई परीक्षण उपकरण दिखाती है।
नीचे सूचीबद्ध विशेषताएं हैं जो JUnit के साथ पैक की गई हैं:
- परीक्षण विधियों के लिए कई विशेषताओं को पहचानने, निष्पादित करने और समर्थन करने के लिए एनोटेशन की एक विनम्र सूची है।
- अपेक्षित परिणामों की पुष्टि के लिए दावे हैं।
- यह परीक्षणों को निष्पादित करने के लिए टेस्ट रनर प्रदान करता है।
- JUnit एक बुनियादी अंतर्निहित टेम्पलेट प्रदान करता है ताकि आप कुछ ही समय में छोटे, सरल परीक्षण मामलों को लिख सकें।
- JUnit परीक्षण आपको स्वतंत्र मॉड्यूल लिखने में मदद करते हैं, जिससे परीक्षण की कवरेज और आवेदन की गुणवत्ता में सुधार होता है।
- यह न केवल आसान निर्माण और परीक्षणों के निष्पादन की अनुमति देता है, बल्कि डेवलपर को एक साफ और स्पष्ट स्पष्ट रिपोर्ट के साथ प्रस्तुत करता है जो रिपोर्ट और परीक्षण के परिणामों के रास्ते के माध्यम से डेवलपर की खोज करने की आवश्यकता को समाप्त करता है।
- जब तक परीक्षण निष्पादन सुचारू रूप से नहीं हो रहा है, तब तक आप हरे-रंग के परीक्षण प्रगति पट्टी पर देखने में आराम कर सकते हैं, जो दिखा रहा है कि निष्पादन प्रगति पर है, जबकि यह आपको ’रेड’ में सचेत करता है जैसे ही परीक्षण सत्यापन जांच विफल हो जाता है।
- एक साथ परीक्षण मामलों के अनुक्रम या संबंधित सेट लगाने के लिए टेस्ट सूट बनाया जा सकता है।
जुनेट टेस्टकेस के उदाहरण
नीचे दिए गए एक बहुत ही बुनियादी हैलो वर्ल्ड प्रोग्राम के दो उदाहरण हैं कि एक सामान्य जावा क्लास फ़ाइल के साथ तुलना करने पर एक JUnit टेस्ट क्लास कैसा दिखता है या कितना अलग दिखता है।
उदाहरण 1:
सबसे अच्छा मुफ्त कर्मचारी समय घड़ी सॉफ्टवेयर
यहाँ एक JUnit टेस्टकेस HelloWorldJUnit.java है जो पुष्टि करता है कि स्ट्रिंग 'हैलो वर्ल्ड' स्ट्रिंग 'हैलो वर्ल्ड' से मेल खाती है, जो निष्पादन पर विफल रहती है, क्योंकि मैच संवेदनशील है। इसलिए, दो तार मेल नहीं खाते हैं और परीक्षण करते हैं विफल रहता है ।
HelloWorldJUnit.java के लिए कोड
package demo.tests; import static org.junit.Assert.*; import org.junit.Test; public class HelloWorldJUnit { @Test public void test() { assertEquals('Hello world','hello world'); } }
उदाहरण # 2:
यहां, हम देखेंगे कि कैसे एक सामान्य है जावा कक्षा फ़ाइल सूचना का आदान प्रदान के साथ JUnit परीक्षण मामला। हम एक बनाते हैं जावा कक्षा फ़ाइल हैलोवर्ल्ड_जवा.जवा एक निर्माणकर्ता के साथ जो हमें स्ट्रिंग मान प्राप्त करने के लिए एक स्ट्रिंग मान और एक विधि getText () पास करने की अनुमति देता है।
JUnit टेस्ट क्लास हैलोवर्ल्डजुनिट.जवा ऐसा बनाया जाता है कि HelloWorld_Java के लिए वर्ग ऑब्जेक्ट बनाया जाता है और वास्तविक स्ट्रिंग मान ऑब्जेक्ट को पास किया जाता है। यदि अपेक्षित और वास्तविक स्ट्रिंग मान मेल खाते हैं, तो JUnit से मुखर () पुष्टि करता है।
HelloWorld_Java.java के लिए कोड
package demo.tests; import static org.junit.Assert.*; import org.junit.Test; public class HelloWorldJUnit { @Test public void test() { assertEquals('Hello world','hello world'); } }
HelloWorldJUnit.java के लिए कोड
package demo.tests; public class HelloWorldJUnit{ private String s; public HelloWorld_Java(String s) { @Test public void test() { HelloWorld_Java hw=new HelloWorld_Java('Hello World'); assertEquals(hw.getText(),'Hello World'); } }
परिणामी नीचे दिखता है जहां हम दो स्ट्रिंग्स मैच देखते हैं। इसलिए, JUnit परीक्षण है बीतने के।
निष्कर्ष
जब यह आपको एक त्वरित अवलोकन प्रदान करने की बात करता है कि JUnit क्या है और यह क्या करता है, JUnit एक खूबसूरती से तैयार की गई रूपरेखा है जो आपको स्वचालित तरीके से इकाई परीक्षणों को बनाने और निष्पादित करने में सक्षम बनाता है।
यह एक ओपन-सोर्स टूल है, जो अभी तक परेशानी मुक्त है। चाहे वह परीक्षण मामलों का निर्माण हो या परीक्षण के बाद निष्पादन या परीक्षण के बाद रिपोर्टिंग या परीक्षण को बनाए रखना, हर पहलू में JUnit सुरुचिपूर्ण है। हाँ, यह सुरुचिपूर्ण रूप से भी विफल हो सकता है; और हम देखेंगे कि हमारे आने वाले ट्यूटोरियल में क्या होता है।
लेखक के बारे में: इस ट्यूटोरियल द्वारा लिखा गया हैShobhaडी। वह प्रोजेक्ट लीड के रूप में काम करती हैं और 9+ वर्षों के अनुभव, ऑटोमेशन और एपीआई टेस्टिंग में अनुभव के साथ आती हैं।
आइए हम यहां जून के हर पहलू पर गहराई से प्रकाश डालना जारी रखते हैं।
अनुशंसित पाठ
- उदाहरणों के साथ जावा परावर्तन ट्यूटोरियल
- जावा स्ट्रिंग में () उदाहरण के साथ विधि ट्यूटोरियल शामिल हैं
- जावा में दांतेदार सरणी - उदाहरणों के साथ ट्यूटोरियल
- शुरुआती के लिए गहराई से ग्रहण ट्यूटोरियल
- Java SWING Tutorial: कंटेनर, कंपोनेंट्स एंड इवेंट हैंडलिंग
- जावा में टर्नरी ऑपरेटर - ट्यूटोरियल विथ उदाहरण
- 20+ MongoDB शुरुआती के लिए ट्यूटोरियल: नि: शुल्क MongoDB कोर्स
- स्पॉक ट्यूटोरियल: स्पॉक एंड ग्रूवी के साथ परीक्षण