differences between unit testing
इकाई, एकीकरण और कार्यात्मक परीक्षण की एक विस्तृत तुलना:
किसी भी सॉफ्टवेयर एप्लिकेशन के लिए, दोनों यूनिट परीक्षण, साथ ही एकीकरण परीक्षण, बहुत महत्वपूर्ण है क्योंकि उनमें से प्रत्येक एक सॉफ्टवेयर एप्लिकेशन का परीक्षण करने के लिए एक अनूठी प्रक्रिया को नियोजित करता है।
लेकिन किसी एक या यहां तक कि दोनों किसी भी बिंदु पर कार्यात्मक परीक्षण को प्रतिस्थापित नहीं कर सकते हैं।
आप क्या सीखेंगे:
- इकाई परीक्षण बनाम एकीकरण परीक्षण बनाम कार्यात्मक परीक्षण
- यूनिट टेस्टिंग क्या है?
- एकीकरण परीक्षण क्या है?
- इकाई परीक्षण बनाम एकीकरण परीक्षण
- क्रियात्मक परीक्षण
- सटीक अंतर
- निष्कर्ष
- अनुशंसित पाठ
इकाई परीक्षण बनाम एकीकरण परीक्षण बनाम कार्यात्मक परीक्षण
इकाई का परीक्षण इसका मतलब यह है कि कोड सही काम कर रहा है यह पुष्टि करने के लिए अलगाव (किसी निर्भरता के साथ बातचीत के बिना) में एक आवेदन के व्यक्तिगत मॉड्यूल का परीक्षण करना।
एकीकरण जांच एक समूह के रूप में एक साथ संयुक्त होने पर विभिन्न मॉड्यूल ठीक काम कर रहे हैं या नहीं, इसकी जाँच करना।
क्रियात्मक परीक्षण सिस्टम में कार्यक्षमता की एक स्लाइस का परीक्षण करना (यह निर्भरता के साथ बातचीत कर सकता है) यह पुष्टि करने के लिए कि कोड सही चीजें कर रहा है।
फ़ंक्शनल परीक्षण एकीकरण परीक्षणों से संबंधित हैं, हालांकि, वे उन परीक्षणों का संकेत देते हैं जो पूरे एप्लिकेशन की कार्यक्षमता को एक साथ चलने वाले सभी कोड के साथ, लगभग एक सुपर एकीकरण परीक्षण की जाँच करते हैं।
यूनिट टेस्टिंग सिस्टम के एक एकल घटक की जांच करने पर विचार करता है जबकि कार्यक्षमता परीक्षण सिस्टम आवश्यकता विनिर्देश में वर्णित इच्छित कार्यक्षमता के विरुद्ध किसी एप्लिकेशन के काम की जाँच करने पर विचार करता है। दूसरी ओर, एकीकरण परीक्षण सिस्टम में एकीकृत मॉड्यूल की जाँच करने पर विचार करता है।
और, सबसे महत्वपूर्ण बात, निवेश पर रिटर्न (आरओआई) का अनुकूलन करने के लिए, आपके कोड आधार में यथासंभव अधिक यूनिट परीक्षण, कम एकीकरण परीक्षण और कम से कम कार्यात्मक परीक्षण होने चाहिए।
यह निम्नलिखित परीक्षण पिरामिड में सबसे अच्छा सचित्र है:
यूनिट परीक्षणों को लिखना आसान है और निष्पादित करने के लिए तेज है। उपरोक्त पिरामिड में दिखाए गए परीक्षणों को लागू करने और बनाए रखने का समय और प्रयास यूनिट परीक्षण से कार्यात्मक परीक्षण तक बढ़ता है।
उदाहरण के साथ ब्लैक बॉक्स परीक्षण और व्हाइटबॉक्स परीक्षण क्या है
उदाहरण:
आइए इन तीनों प्रकारों के परीक्षण को एक बड़े उदाहरण के साथ समझें।
उदाहरण के लिए: । एक कार्यात्मक मोबाइल फोन के लिए, आवश्यक मुख्य भाग 'बैटरी' और 'सिम कार्ड' हैं।
इकाई परीक्षण उदाहरण - बैटरी को उसके जीवन, क्षमता और अन्य मापदंडों के लिए जांचा जाता है। सिम कार्ड की सक्रियता के लिए जाँच की जाती है।
एकीकरण परीक्षण उदाहरण - मोबाइल फोन शुरू करने के लिए बैटरी और सिम कार्ड को एकीकृत किया जाता है।
कार्यात्मक परीक्षण उदाहरण - मोबाइल फोन की कार्यक्षमता इसकी विशेषताओं और बैटरी उपयोग के साथ-साथ सिम कार्ड सुविधाओं के संदर्भ में जांची जाती है।
हमने आम आदमी की शर्तों में एक उदाहरण देखा है।
अब, अब एक लॉगिन पृष्ठ का तकनीकी उदाहरण लेते हैं:
लगभग हर वेब एप्लिकेशन को अपने उपयोगकर्ताओं / ग्राहकों को लॉग इन करने की आवश्यकता होती है। उसके लिए, प्रत्येक एप्लिकेशन में एक 'लॉगिन' पृष्ठ होना चाहिए जिसमें ये तत्व हैं:
- खाता उपयोगकर्ता नाम
- कुंजिका
- लॉगिन / साइन इन करें बटन
यूनिट परीक्षण के लिए, निम्नलिखित परीक्षण मामले हो सकते हैं:
- फ़ील्ड लंबाई - उपयोगकर्ता नाम और पासवर्ड फ़ील्ड।
- इनपुट फ़ील्ड मान मान्य होना चाहिए।
- दोनों ही क्षेत्रों में वैध मान (प्रारूप और लंबाईवार) दर्ज करने के बाद ही लॉगिन बटन सक्षम किया जाता है।
एकीकरण परीक्षण के लिए, निम्नलिखित परीक्षण मामले हो सकते हैं:
- उपयोगकर्ता मान्य मूल्यों को दर्ज करने और लॉगिन बटन को पुश करने के बाद स्वागत संदेश देखता है।
- मान्य प्रविष्टि और लॉगिन बटन पर क्लिक करने के बाद उपयोगकर्ता का स्वागत पृष्ठ या मुख पृष्ठ पर नेविगेट किया जाना चाहिए।
अब, यूनिट और इंटीग्रेशन टेस्टिंग होने के बाद, अतिरिक्त देखें ऐसे परीक्षण मामले जिन्हें कार्यात्मक परीक्षण के लिए माना जाता है:
- अपेक्षित व्यवहार की जाँच की जाती है, अर्थात् वैध उपयोगकर्ता नाम और पासवर्ड मान दर्ज करने के बाद लॉगिन बटन पर क्लिक करके उपयोगकर्ता लॉग इन कर सकता है।
- क्या एक स्वागत योग्य संदेश है जो एक सफल लॉगिन के बाद प्रदर्शित होना है?
- क्या कोई त्रुटि संदेश है जो अमान्य लॉगिन पर प्रदर्शित होना चाहिए?
- क्या लॉगिन फ़ील्ड के लिए कोई संग्रहीत साइट कुकीज़ हैं?
- क्या कोई निष्क्रिय उपयोगकर्ता लॉग इन कर सकता है?
- क्या उन उपयोगकर्ताओं के लिए कोई 'पासवर्ड भूल गया' लिंक है जो अपना पासवर्ड भूल गए हैं?
ऐसे बहुत से मामले हैं जो कार्यात्मक परीक्षण करते समय एक कार्यात्मक परीक्षक के दिमाग में आते हैं। लेकिन एक डेवलपर इकाई और एकीकरण परीक्षण मामलों का निर्माण करते समय सभी मामलों को नहीं उठा सकता है।
इस प्रकार, बहुत सारे परिदृश्य हैं जिनका परीक्षण इकाई और एकीकरण परीक्षण के बाद भी किया जाना बाकी है।
अब एक-एक करके यूनिट, इंटीग्रेशन और फंक्शनल टेस्टिंग की जांच करने का समय है।
यूनिट टेस्टिंग क्या है?
जैसा कि नाम से पता चलता है, इस स्तर में एक 'यूनिट' का परीक्षण शामिल है।
यहां यूनिट एक एप्लिकेशन का सबसे छोटा हिस्सा हो सकता है जो कि टेस्ट करने योग्य है, चाहे वह सबसे छोटा व्यक्तिगत फ़ंक्शन, विधि आदि हो। सॉफ्टवेयर डेवलपर वे होते हैं जो यूनिट टेस्ट केस लिखते हैं। यहाँ उद्देश्य आवश्यकताओं और इकाई के अपेक्षित व्यवहार से मेल खाना है।
यूनिट परीक्षण और इसके लाभों के बारे में कुछ महत्वपूर्ण बिंदु नीचे दिए गए हैं:
- इकाई परीक्षण सॉफ्टवेयर डेवलपर्स द्वारा एकीकरण परीक्षण से पहले किया जाता है सफेद बॉक्स परीक्षण तकनीक ।
- यूनिट परीक्षण न केवल सकारात्मक व्यवहार की जाँच करता है यानी वैध इनपुट के मामले में सही आउटपुट, बल्कि अमान्य इनपुट के साथ होने वाली विफलताएं भी।
- प्रारंभिक अवस्था में मुद्दों / बगों को खोजना बहुत उपयोगी है और यह परियोजना की कुल लागत को कम करता है। जैसा कि इकाई परीक्षण कोड के एकीकरण से पहले किया जाता है, इस स्तर पर पाए जाने वाले मुद्दों को बहुत आसानी से हल किया जा सकता है और उनका प्रभाव भी बहुत कम होता है।
- एक इकाई परीक्षण कोड या व्यक्तिगत कार्यों के छोटे टुकड़ों का परीक्षण करता है, इसलिए इन परीक्षण मामलों में पाई गई समस्याएं / त्रुटियां स्वतंत्र हैं और अन्य परीक्षण मामलों को प्रभावित नहीं करती हैं।
- एक अन्य महत्वपूर्ण लाभ यह है कि इकाई परीक्षण के मामले सरल होते हैं और कोड का परीक्षण आसान बनाते हैं। इसलिए, बाद के चरणों में मुद्दों को हल करना आसान हो जाता है क्योंकि कोड में केवल नवीनतम परिवर्तन का परीक्षण किया जाना है।
- यूनिट परीक्षण समय और लागत बचाता है, और इसे पुन: प्रयोज्य और बनाए रखना आसान है।
JUnit () जावा फ्रेमवर्क ), PHPUnit (PHP फ्रेमवर्क), NUnit (.Net फ्रेमवर्क) आदि लोकप्रिय इकाई परीक्षण उपकरण हैं जो विभिन्न भाषाओं के लिए उपयोग किए जाते हैं।
एकीकरण परीक्षण क्या है?
एकीकरण परीक्षण एक साथ सिस्टम के विभिन्न भाग के एकीकरण का परीक्षण कर रहा है। सिस्टम के दो अलग-अलग हिस्से या मॉड्यूल पहले एकीकृत होते हैं और फिर एकीकरण परीक्षण किया जाता है।
एकीकरण परीक्षण का उद्देश्य एकीकृत होने पर सिस्टम की कार्यक्षमता, विश्वसनीयता और प्रदर्शन की जांच करना है।
एकीकरण परीक्षण उन मॉड्यूल पर किया जाता है जो पहले इकाई परीक्षण किए जाते हैं और फिर एकीकरण परीक्षण परिभाषित करते हैं कि मॉड्यूल का संयोजन वांछित आउटपुट देता है या नहीं।
एकीकरण परीक्षण या तो स्वतंत्र परीक्षकों द्वारा या डेवलपर्स द्वारा भी किया जा सकता है।
3 विभिन्न प्रकार के एकीकरण परीक्षण दृष्टिकोण हैं। आइए हम उनमें से हर एक पर संक्षेप में चर्चा करें:
क) बिग बैंग एकता दृष्टिकोण
इस दृष्टिकोण में, सभी मॉड्यूल या इकाइयां एक समय में समग्र रूप से एकीकृत और परीक्षण की जाती हैं। यह आमतौर पर तब किया जाता है जब संपूर्ण प्रणाली एक ही समय में एकीकरण परीक्षण के लिए तैयार होती है।
कृपया सिस्टम परीक्षण के साथ एकीकरण परीक्षण के इस दृष्टिकोण को भ्रमित न करें, केवल मॉड्यूल या इकाइयों के एकीकरण का परीक्षण किया जाता है न कि पूरे सिस्टम का क्योंकि यह सिस्टम परीक्षण में किया जाता है।
बिग बैंग अप्रोच का प्रमुख लाभ यह है कि एकीकृत सब कुछ एक समय में परीक्षण किया जाता है।
एक प्रमुख हानि यह है कि विफलताओं को पहचानना मुश्किल हो जाता है।
उदाहरण: नीचे दिए गए आंकड़े में, यूनिट 1 से यूनिट 6 को बिग बैंग दृष्टिकोण का उपयोग करके एकीकृत और परीक्षण किया गया है।
बी) टॉप-डाउन दृष्टिकोण
इकाइयों / मॉड्यूलों का एकीकरण ऊपर से नीचे के स्तर पर चरण दर चरण परीक्षण किया जाता है।
पहली इकाई को व्यक्तिगत रूप से लिखकर परीक्षण किया जाता है परीक्षण STUBS । इसके बाद, निचले स्तरों को एक-एक करके तब तक एकीकृत किया जाता है जब तक कि अंतिम स्तर को एक साथ नहीं रखा जाता है और परीक्षण नहीं किया जाता है।
ऊपर-नीचे का दृष्टिकोण एकीकृत करने का एक बहुत ही जैविक तरीका है क्योंकि यह वास्तविक वातावरण में चीजों के साथ संगत है।
केवल चिंता इस दृष्टिकोण के साथ कि अंत में प्रमुख कार्यक्षमता का परीक्षण किया जाता है।
सी) नीचे-ऊपर दृष्टिकोण
इकाइयों / मॉड्यूलों का परीक्षण नीचे से ऊपर के स्तर, चरण दर चरण तक किया जाता है, जब तक कि इकाइयों / मॉड्यूल के सभी स्तरों को एक इकाई के रूप में एकीकृत और परीक्षण नहीं किया जाता है। उत्तेजक कार्यक्रम कहा जाता है ड्राइवरों इस दृष्टिकोण में उपयोग किया जाता है। निचले स्तरों पर मुद्दों या त्रुटियों का पता लगाना आसान है।
प्रमुख हानि इस दृष्टिकोण का यह है कि उच्च-स्तरीय मुद्दों को केवल अंत में पहचाना जा सकता है जब सभी इकाइयों को एकीकृत किया गया हो।
इकाई परीक्षण बनाम एकीकरण परीक्षण
यूनिट टेस्टिंग और इंटीग्रेशन टेस्टिंग के बारे में पर्याप्त चर्चा करने के बाद, आइए हम निम्नलिखित तालिका में दोनों के बीच के अंतरों के बारे में जाने:
इकाई का परीक्षण | एकीकरण जांच |
---|---|
परीक्षण के प्रारंभिक चरण में किया गया और फिर कभी भी प्रदर्शन किया जा सकता है | इकाई परीक्षण के बाद और सिस्टम परीक्षण से पहले किया जाना चाहिए |
पूरे सिस्टम के एकल घटक का परीक्षण करता है यानी अलगाव में एक इकाई का परीक्षण करता है। | एक साथ काम करने वाले सिस्टम घटकों का परीक्षण करता है यानी कई इकाइयों के सहयोग का परीक्षण करता है। |
निष्पादित करने के लिए तेज़ | धीमी गति से चल सकता है |
कोई बाहरी निर्भरता नहीं। किसी भी बाहरी निर्भरता का मज़ाक उड़ाया जाता है। | बाहरी निर्भरता के साथ सहभागिता की आवश्यकता होती है (जैसे डेटाबेस, हार्डवेयर, आदि) |
सरल | जटिल |
डेवलपर द्वारा संचालित | परीक्षक द्वारा आयोजित |
यह एक प्रकार का सफेद बॉक्स परीक्षण है | यह एक प्रकार का ब्लैक बॉक्स परीक्षण है |
सस्ता रखरखाव | महंगा रखरखाव |
मॉड्यूल विनिर्देशन से शुरू होता है | इंटरफ़ेस विनिर्देश से शुरू होता है |
इकाई परीक्षण में एक संकीर्ण गुंजाइश है क्योंकि यह सिर्फ यह जांचता है कि क्या कोड का प्रत्येक छोटा टुकड़ा वह कर रहा है जो करने का इरादा है। | इसका व्यापक दायरा है क्योंकि यह पूरे अनुप्रयोग को कवर करता है |
इकाई परीक्षण का परिणाम कोड की विस्तृत दृश्यता है | एकीकरण परीक्षण का परिणाम एकीकरण संरचना की विस्तृत दृश्यता है |
केवल व्यक्तिगत मॉड्यूल की कार्यक्षमता के भीतर समस्याओं को उजागर करें। एकीकरण त्रुटियों या सिस्टम-वाइड समस्याओं को उजागर नहीं करता है। | जब विभिन्न मॉड्यूल एक दूसरे के साथ परस्पर क्रिया करते हैं, तो समग्र प्रणाली बनाने के लिए बग को उजागर करें |
क्रियात्मक परीक्षण
सेवा मेरे ब्लैक बॉक्स परीक्षण तकनीक , जहां एक निश्चित इनपुट प्रदान करने पर वांछित आउटपुट उत्पन्न करने के लिए एप्लिकेशन की कार्यक्षमता का परीक्षण किया जाता है, जिसे 'कार्यात्मक परीक्षण' कहा जाता है।
हमारे में सॉफ्टवेयर परीक्षण प्रक्रियाओं , हम आवश्यकताओं और परिदृश्यों के अनुसार परीक्षण मामलों को लिखकर ऐसा करते हैं। किसी भी कार्यक्षमता के लिए, लिखित मामलों की संख्या एक से कई तक भिन्न हो सकती है।
परीक्षण मामलों में मूल रूप से निम्नलिखित भाग होते हैं:
- टेस्ट सारांश
- आवश्यक शर्तें (यदि कोई हो)
- टेस्ट केस इनपुट चरण
- परीक्षण डेटा (यदि कोई हो)
- अपेक्षित उत्पादन
- नोट्स (यदि कोई हो)
'आवश्यकता-आधारित' और 'व्यावसायिक परिदृश्य-आधारित' कार्यात्मक परीक्षण के दो रूप हैं जो किए जाते हैं।
आवश्यकता आधारित परीक्षण में, परीक्षण मामलों को आवश्यकता के अनुसार बनाया जाता है और तदनुसार परीक्षण किया जाता है। एक व्यावसायिक परिदृश्य आधारित कार्यात्मक परीक्षण में, व्यवसाय के दृष्टिकोण से सभी परिदृश्यों को ध्यान में रखते हुए परीक्षण किया जाता है।
हालांकि, प्रमुख हानि कार्यात्मक परीक्षण परीक्षण में संभावित अतिरेक और कुछ तार्किक त्रुटियों को याद करने की संभावना है।
सटीक अंतर
उनके अंतर को देखते हैं।
यहाँ कुछ प्रमुख हैं:
इकाई का परीक्षण | एकीकरण जांच | क्रियात्मक परीक्षण | |
---|---|---|---|
परिभाषा और उद्देश्य | व्यक्तिगत रूप से सबसे छोटी इकाइयों या मॉड्यूल का परीक्षण करना। | दो या दो से अधिक इकाइयों / मॉड्यूल के परीक्षण एकीकरण कार्य करने के लिए संयुक्त। | आवश्यकता के अनुसार आवेदन के व्यवहार का परीक्षण करना। |
जटिलता | बिल्कुल भी जटिल नहीं है क्योंकि इसमें सबसे छोटे कोड शामिल हैं। | इकाई परीक्षणों की तुलना में थोड़ा अधिक जटिल। | इकाई और एकीकरण परीक्षणों की तुलना में अधिक जटिल। |
परीक्षण तकनीक | सफेद बॉक्स परीक्षण तकनीक। | सफेद बॉक्स और ब्लैक बॉक्स परीक्षण तकनीक। ग्रे बॉक्स परीक्षण | ब्लैक बॉक्स परीक्षण तकनीक। |
प्रमुख ध्यान | व्यक्तिगत मॉड्यूल या इकाइयाँ। | मॉड्यूल या इकाइयों का एकीकरण। | संपूर्ण अनुप्रयोग कार्यक्षमता। |
त्रुटि / मुद्दे शामिल हैं | यूनिट परीक्षण उन मुद्दों को ढूंढते हैं जो मॉड्यूल में अक्सर हो सकते हैं। | एकीकरण परीक्षण उन मुद्दों को खोजते हैं जो विभिन्न मॉड्यूल को एकीकृत करते समय हो सकते हैं। | कार्यात्मक परीक्षण उन मुद्दों को ढूंढते हैं जो किसी एप्लिकेशन को उसकी कार्यक्षमता का प्रदर्शन करने की अनुमति नहीं देते हैं। इसमें कुछ परिदृश्य-आधारित समस्याएँ भी शामिल हैं। |
मुद्दा बच गया | मुद्दे से बचने का कोई मौका नहीं। | जारी होने की संभावना कम। | जारी करने के परीक्षणों की सूची के रूप में जारी होने की अधिक संभावना हमेशा अनंत होती है। |
यह भी पढ़े => फ़ीचर टेस्टिंग क्या है
क्या हैं एपीके फाइलें
निष्कर्ष
ये तीनों परीक्षण प्रकार सहसंबद्ध हैं।
पूर्ण कवरेज प्राप्त करने के लिए, कोड के रास्तों / रेखाओं, कार्यात्मक और एकीकरण परीक्षणों के लिए इकाई परीक्षणों का होना आवश्यक है ताकि आश्वासन दिया जा सके कि that इकाइयां एक साथ मिलकर काम करती हैं।
आशा है कि इस लेख ने आपको उनके अंतर के साथ यूनिट, एकीकरण और कार्यात्मक परीक्षण के बारे में स्पष्ट विचार दिया होगा, हालांकि परीक्षण के इन रूपों के लिए बहुत कुछ है !!
अनुशंसित पाठ
- सर्वश्रेष्ठ सॉफ्टवेयर परीक्षण उपकरण 2021 (क्यूए टेस्ट स्वचालन उपकरण)
- सेलेनियम के साथ एकीकरण और कार्यात्मक परीक्षण के लिए स्पॉक
- कार्यात्मक परीक्षण बनाम गैर-कार्यात्मक परीक्षण
- परीक्षण प्राइमर eBook डाउनलोड
- एकीकरण परीक्षण लिखने के लिए शीर्ष 10 एकीकरण परीक्षण उपकरण
- ब्लैक बॉक्स परीक्षण और व्हाइट बॉक्स परीक्षण के बीच मुख्य अंतर
- इसके प्रकार और उदाहरण के साथ कार्यात्मक परीक्षण गाइड को पूरा करें
- कार्यात्मक परीक्षण बनाम प्रदर्शन परीक्षण: क्या यह एक साथ होना चाहिए?