what is thread testing software testing
यह ट्यूटोरियल समझाता है कि थ्रेड टेस्टिंग क्या है, कब और कैसे करना है, थ्रेड-बेस्ड टेस्टिंग के प्रकार, और चुनौतियों का सामना करना पड़ता है:
थ्रेड टेस्टिंग एक सॉफ्टवेयर टेस्टिंग तकनीक है, जो क्लाइंट सर्वर-आधारित अनुप्रयोगों का परीक्षण करने के लिए उपयोग की जाती है।
एकीकरण परीक्षण के प्रारंभिक चरणों में थ्रेड आधारित परीक्षण किया जाना चाहिए ताकि किसी विशिष्ट कार्य / कार्यक्रम या धागे के लिए प्रमुख कार्यों का परीक्षण / सत्यापन किया जा सके।
आप क्या सीखेंगे:
- थ्रेड टेस्टिंग क्यों
- थ्रेड टेस्टिंग कब और कैसे की जाती है
- थ्रेड आधारित परीक्षण के प्रकार
- धागा और प्रक्रियाओं के बीच अंतर
- थ्रेड-आधारित और उपयोगकर्ता-आधारित परीक्षण के बीच अंतर
- निष्कर्ष
थ्रेड टेस्टिंग क्यों
जब घटक एकीकृत होते हैं, तो यह जांचना आवश्यक है कि क्या सिस्टम अपेक्षित रूप से काम करेगा या नहीं और सभी लेनदेन आवश्यकता के अनुसार होंगे या नहीं। इस प्रकार थ्रेड आधारित परीक्षण उसी का परीक्षण करने के लिए आता है।
यह परीक्षण सबसिस्टम से संपूर्ण सिस्टम यानी पूरे सिस्टम में शुरू होने वाले सभी स्तरों पर थ्रेड्स को उत्तरोत्तर एकीकृत करके किया जाता है। सभी सिस्टम गतिविधियां केवल थ्रेड्स के साथ आगे बढ़ती हैं।
थ्रेड डेफिनिशन डेवलपर्स और डेवलपर्स के बीच कार्यात्मक पृष्ठभूमि और थ्रेड निष्पादन विवरण को परीक्षकों के बीच साझा करने में मदद करता है।
थ्रेड्स के बारे में
एक धागा एक प्रक्रिया में नियंत्रण का प्रवाह है। यह सिस्टम का सबसे छोटा काम है जिसे चलाया जा सकता है।
html और css साक्षात्कार प्रश्न और उत्तर
उदाहरण
एक वेब ब्राउज़र में एक या अधिक थ्रेड चल सकते हैं। एक धागा चित्र और पाठ प्रदर्शित करने के लिए और दूसरा धागा डेटा पुनः प्राप्त करने के लिए। कुछ मामलों में, सभी प्रक्रियाओं को पूरा करने के लिए एक एकल आवेदन आवश्यक होना चाहिए।
मल्टी-थ्रेड बनाना उसी के लिए सबसे अच्छा समाधान है, क्लाइंट द्वारा सर्वर को कई अनुरोध भेजे जाएंगे और एक-एक करके अनुरोधों को स्वीकार करने में समय लगेगा। मल्टी-थ्रेड अनुरोधों का एक साथ जवाब देने में मदद करेगा।
थ्रेड टेस्टिंग कब और कैसे की जाती है
यह सिस्टम एकीकरण परीक्षण के प्रारंभिक चरण में किया जाना चाहिए।
एकीकरण परीक्षण अलग-अलग मॉड्यूल को योजनाबद्ध तरीके से एकीकृत करके किया जाता है। एकीकरण योजना का पालन उसी के लिए किया जाता है जो उस आदेश को निर्दिष्ट करता है जिसमें मॉड्यूल को पूर्ण प्रणाली बनाने के लिए एकीकृत किया जाएगा।
नीचे सूचीबद्ध एकीकरण परीक्षण निष्पादित करने की तकनीकें हैं:
- बिग-बैंग दृष्टिकोण
- शीर्ष पाद उपागम
- नीचे से ऊपर का दृष्टिकोण
- मिश्रित दृष्टिकोण
आइए प्रत्येक तकनीक को विस्तार से देखें।
(१) बिग-बैंग दृष्टिकोण
बिग बैंग दृष्टिकोण का उपयोग केवल छोटे सिस्टम के लिए किया जाता है क्योंकि सभी मॉड्यूल केवल एक ही बार में एकीकृत और परीक्षण किए जाते हैं।
इस दृष्टिकोण के दौरान पाया गया कोई भी मुद्दा स्थानीय बनाना मुश्किल है क्योंकि यह मुद्दा किसी भी एकीकृत मॉड्यूल से हो सकता है। इसलिए, इस समस्या को हल करने के लिए डिबगिंग समस्याएँ बहुत महंगी हैं।
# 2) टॉप-डाउन दृष्टिकोण
शीर्ष-डाउन दृष्टिकोण को स्टब्स का उपयोग करके किया जाता है यानी एक बार शीर्ष-स्तरीय मॉड्यूल का परीक्षण करने के बाद, तत्काल सबरूटीन को एकीकृत और परीक्षण किया जाता है।
स्टब्स ऐसे प्रोग्राम हैं जो निचले स्तर की दिनचर्या के प्रभाव को अनुकरण करते हैं और परीक्षण के तहत दिनचर्या द्वारा बुलाए जाते हैं। थ्रेड परीक्षण एक टॉप-डाउन दृष्टिकोण का उपयोग करता है।
# 3) नीचे-ऊपर दृष्टिकोण
नीचे-अप दृष्टिकोण में, सभी उप-प्रणालियों का व्यक्तिगत रूप से परीक्षण किया जाता है, और फिर पूरी प्रणाली का परीक्षण किया जाता है। सभी उप-प्रणालियों के अलग-अलग परीक्षण के पीछे का कारण उन सभी मॉड्यूलों के बीच इंटरफ़ेस का परीक्षण करना है जो उप-तंत्र का एक हिस्सा हैं।
इस तकनीक के लिए टेस्ट ड्राइवर्स की आवश्यकता होती है यानी वह प्रोग्राम जो अन्य मॉड्यूल को कॉल करता है और वास्तविक उत्पाद के समान आउटपुट प्रदान करता है।
# 4) मिश्रित एकीकरण परीक्षण
यह तकनीक टॉप-डाउन और बॉटम-अप दोनों तरीकों का एक संयोजन है। इसलिए इसे मिश्रित एकीकरण परीक्षण कहा जाता है।
थ्रेड आधारित परीक्षण करने के लिए मुख्य बिंदु
- थ्रेड परीक्षण करते समय, थ्रेड्स या छोटी कार्यक्षमता को एकीकृत और परीक्षण किया जाता है। किया गया परीक्षण एक उप-प्रणाली स्तर पर और फिर एक पूर्ण प्रणाली के रूप में वृद्धिशील परीक्षण है।
- प्रारंभिक चरण में ही, एकीकरण परीक्षकों को आगे क्या परीक्षण करना है इसके लिए एक अच्छा विचार और ज्ञान मिलता है।
- एकीकरण परीक्षकों को केवल थ्रेड सीमाओं के भीतर सकारात्मक और नकारात्मक दोनों परिदृश्यों को लागू करना और निष्पादित करना है। उन्हें असाधारण मामलों और सीमा मामलों को कवर करने के लिए एक थ्रेड टेस्टिंग दृष्टिकोण पर निर्णय लेना होगा।
- डेवलपर द्वारा परीक्षक को प्रदान की गई थ्रेड परिभाषा इंटीग्रेटर परीक्षक द्वारा तदनुसार धागे का परीक्षण करने में मदद करती है। परीक्षक द्वारा आवश्यक किसी भी अन्य जानकारी का उत्तर थ्रेड रिव्यू प्रक्रिया में दिया जा सकता है।
- थ्रेड प्रोसेस अंत विकास प्रक्रिया के अंत के बजाय एकीकरण प्रक्रियाओं के लिए काम करते हैं।
- मल्टी-थ्रेड कार्यक्षमता का परीक्षण करने के लिए, एप्लिकेशन या प्रोग्राम के कई उदाहरणों को उसी समय सक्रिय होने दें।
- अलग-अलग हार्डवेयर पर मल्टी-थ्रेड प्रोग्राम चलाएँ।
- थ्रेड परीक्षण सत्र परीक्षण का एक रूप है, जिसके लिए सत्र थ्रेड्स का निर्माण होता है। यह आवश्यक नहीं है कि एक गठित धागा एक सत्र हो।
थ्रेड आधारित परीक्षण के प्रकार
दो प्रकार के थ्रेड-आधारित परीक्षण किए जाते हैं:
- एकल धागा परीक्षण
- मल्टी थ्रेड परीक्षण
# 1) सिंगल थ्रेड टेस्टिंग
एकल धागा परीक्षण एक बार में एक लेनदेन का परीक्षण करता है। क्लाइंट के लिए उसके अनुरोध पर प्रतिक्रिया प्राप्त करने के लिए प्रतीक्षा समय थोड़ा लंबा हो सकता है क्योंकि यह एक समय में एक ग्राहक की सेवा या प्रतिक्रिया करने में सक्षम होगा।
यह परीक्षण परीक्षक को प्रोग्राम या लिखित कोड के तर्क को समझने और परीक्षण करने में मदद करता है।
# 2) मल्टी-थ्रेड परीक्षण
मल्टी-थ्रेड परीक्षण एक ही समय में कई सक्रिय लेनदेन का परीक्षण करता है। इस मामले में, ग्राहक के अनुरोधों के लिए अलग थ्रेड बनाए जाते हैं। जब भी कोई अनुरोध किया जाता है, सेवा के लिए एक धागा बनाया जाता है या अनुरोध का जवाब देता है।
एक लेनदेन जो सिंगल थ्रेड टेस्टिंग में ठीक काम कर रहा था, मल्टी-थ्रेड में परीक्षण करते समय विफल हो सकता है और अन्य थ्रेड्स और फंक्शंस के साथ हस्तक्षेप कर सकता है और उन्हें अपेक्षित रूप से काम करने के लिए रोक सकता है।
क्या एक सिंगल थ्रेड दृष्टिकोण की तुलना में एक मल्टीथ्रेड दृष्टिकोण बेहतर है?
बहु-थ्रेडेड एप्लिकेशन एकल-थ्रेडेड से बेहतर हैं क्योंकि यह एप्लिकेशन के प्रदर्शन को बेहतर बनाता है। मल्टी-थ्रेडिंग कई संसाधनों को एक ही समय में एक समस्या / अनुरोध पर काम करने की अनुमति देता है।
थ्रेडिंग आधारित परीक्षण करते समय चुनौतियां
थ्रेड-आधारित परीक्षण करते समय, परीक्षक को कई चुनौतियों का सामना करना पड़ता है जो परीक्षण के प्रदर्शन, समय और लागत को प्रभावित करते हैं।
- बहु-पिरोया कोड के लिए लेखन इकाई परीक्षण मामले चुनौतीपूर्ण हैं।
- जब मल्टी-थ्रेड परीक्षण विभिन्न हार्डवेयर पर किया जा रहा है, तो यह आकार, भंडारण क्षमता, मेमोरी, समस्याओं आदि के लिए भिन्न होता है।
- एकल धागे और कई धागे दोनों के लिए परीक्षण परिदृश्य अलग-अलग हैं।
- कई थ्रेड परीक्षण में, यूनिट परीक्षणों के लिए प्रतिलिपि प्रस्तुत करने योग्य परीक्षणों को क्रमादेशित किया जाना चाहिए।
मल्टी-थ्रेडिंग के फायदे / नुकसान
मल्टी-थ्रेडिंग के कई फायदे हैं और साथ ही नुकसान भी। एक परीक्षक के रूप में एक ही जानने से उन्हें परीक्षण करने और तदनुसार परीक्षण प्रक्रिया को तोड़ने में मदद मिलती है।
लाभ
- मल्टी-थ्रेडिंग उपयोगकर्ता के लिए जवाबदेही बढ़ाता है। यदि एप्लिकेशन का हिस्सा अवरुद्ध हो जाता है तो भी एप्लिकेशन प्रोग्राम को चलने दे सकता है।
- संसाधन साझाकरण एक और लाभ है क्योंकि धागे उस प्रक्रिया के संसाधनों को साझा करते हैं जो वे संबंधित हैं या जिनके संबंध हैं।
- धागे बनाना किफायती है क्योंकि यह उन संसाधनों को साझा करता है जिनसे वे संबंधित हैं।
नुकसान
- जटिल परीक्षण प्रक्रिया
- परिणाम बहुत अप्रत्याशित हैं।
- प्रोग्राम लिखना अधिक कठिन हो जाता है।
- गतिरोध घटना।
डेडलॉक क्या है
जब मल्टी-थ्रेडिंग किया जाता है, तो संसाधन उपलब्ध नहीं होने पर थ्रेड प्रतीक्षा स्थिति में आ जाता है।
प्रतीक्षा की स्थिति थ्रेड के लिए परिवर्तित नहीं हो सकती क्योंकि अनुरोधित संसाधन अन्य प्रतीक्षा थ्रेड द्वारा आयोजित किया गया है। जब ऐसी स्थिति उत्पन्न होती है जिसे डेडलॉक कहा जाता है।
धागा और प्रक्रियाओं के बीच अंतर
थ्रेड और प्रोसेस के अंतर को समझने दें:
एस.एन.ओ. | थ्रेड | प्रोसेस |
---|---|---|
। | थ्रेड्स को आगे विभाजित नहीं किया जा सकता है। | प्रक्रियाओं में कई सूत्र हो सकते हैं। |
एक | धागा एक हल्की प्रक्रिया है। | प्रक्रिया एक हेवीवेट प्रक्रिया है। |
दो | यदि सर्वर थ्रेड अवरुद्ध हो जाता है, तो उसी कार्य का दूसरा थ्रेड प्रक्रिया को पूरा कर सकता है। | यदि सर्वर प्रक्रिया अवरुद्ध हो जाती है, तो अन्य प्रक्रियाएं तब तक नहीं चल सकती हैं जब तक कि अवरुद्ध सर्वर प्रक्रिया अन-ब्लॉक न हो जाए। |
३ | धागे अलग नहीं होते हैं, वे स्मृति साझा करते हैं। | प्रक्रिया अलग-थलग है। |
४ | थ्रेड बनाना, संदर्भ स्विच करना, समाप्ति थ्रेड में कम समय लगता है। | थ्रेड बनाना, संदर्भ स्विच करना, समाप्ति प्रक्रियाओं में अधिक समय लेते हैं। |
५ | थ्रेड एक प्रक्रिया के विशिष्ट कार्य को संदर्भित करता है। | प्रक्रिया किसी भी कार्यक्रम के निष्पादन को संदर्भित करती है। |
६ | उपयोग किए गए संसाधन थ्रेड में बहुत कम हैं। | प्रक्रियाओं में उपयोग किए जाने वाले संसाधन अधिक हैं। |
थ्रेड-आधारित और उपयोगकर्ता-आधारित परीक्षण के बीच अंतर
क्र.सं. | धागा आधारित परीक्षण | उपयोग आधारित परीक्षण |
---|---|---|
एक | थ्रेड्स एकीकृत और व्यक्तिगत रूप से परीक्षण किए जाते हैं। | परीक्षण उन कक्षाओं से शुरू होते हैं जो एक दूसरे पर निर्भर नहीं होते हैं यानी स्वतंत्र होते हैं। |
दो | प्रतिगमन परीक्षण यह सुनिश्चित करने के लिए किया जाता है कि कुछ भी प्रभावित न हो। | एक बार स्वतंत्र कक्षाओं का परीक्षण किया जाता है तो आश्रित कक्षाओं का परीक्षण किया जाता है। आश्रित वे हैं जो स्वतंत्र वर्गों पर निर्भर हैं। यह सिलसिला तब तक चलता है जब तक पूरा सिस्टम नहीं बन जाता। |
३ | थ्रेड-आधारित परीक्षण उन वर्गों को एकीकृत करता है जो सिस्टम के इनपुट या घटना को स्वीकार करने के लिए आवश्यक हैं। | उपयोग-आधार परीक्षण उन वर्गों को एकीकृत करता है जो उपयोग के मामले का जवाब देने या स्वीकार करने के लिए आवश्यक हैं। |
बार बार पूछे जाने वाले प्रश्न
Q # 1) थ्रेड टेस्टिंग क्या है?
उत्तर: थ्रेड आधारित परीक्षण एक पद्धति है जिसे एकीकरण परीक्षण के प्रारंभिक चरण के दौरान किया जाता है। थ्रेड्स या प्रोग्राम एक सबसिस्टम में और फिर पूरे सिस्टम के रूप में एकीकृत और परीक्षण किए जाते हैं।
Q # 2) कौन सा परीक्षण पहले किया जाता है?
उत्तर : आमतौर पर नीचे-ऊपर परीक्षण पहले किया जाता है और फिर टॉप-डाउन परीक्षण किया जाता है।
Q # 3) टॉप-डाउन टेस्टिंग क्या है?
उत्तर: टॉप-डाउन एक एकीकरण परीक्षण तकनीक है जहां परीक्षण स्टब्स का उपयोग करके किया जाता है यानी जब निचले स्तर के घटक एकीकरण का परीक्षण करने के लिए अभी तक तैयार नहीं होते हैं, तो वास्तविक मॉड्यूल के मामले में उसी आउटपुट प्राप्त करने के लिए स्टब्स (अस्थायी मॉड्यूल) बनाए जाते हैं।
निष्कर्ष
थ्रेड आधारित एकीकरण परीक्षण प्रमुख कार्यक्षमता या विशिष्ट कार्य या थ्रेड के परीक्षण में एक महत्वपूर्ण भूमिका निभाता है। यह कार्यप्रणाली क्लाइंट सर्वर-आधारित आर्किटेक्चर के लिए सर्वोत्तम है।
थ्रेड टेस्टिंग करते समय, परीक्षक को कई चुनौतियों का सामना करना पड़ता है, हालांकि इसके कई फायदे भी हैं जो इसे प्रदर्शन के लिए आसान और विश्वसनीय बनाता है। यह परीक्षकों को सभी लेन-देन का परीक्षण करने और यह सत्यापित करने देता है कि यह अपेक्षित और आवश्यकतानुसार काम कर रहा है या नहीं।
धागे के परीक्षण को पूरा करने के लिए सभी लेनदेन / घटनाओं का परीक्षण करना असंभव है क्योंकि, यह एकल और बहु-थ्रेड प्रकारों में विभाजित है।
HTML साक्षात्कार प्रश्न और फ्रेशर्स के उत्तर
अनुशंसित पाठ
- अपने कैरियर के रूप में सॉफ्टवेयर परीक्षण चुनना
- कुछ दिलचस्प सॉफ्टवेयर परीक्षण साक्षात्कार प्रश्न
- क्या सॉफ्टवेयर टेस्टिंग एक इमोशनल टास्क है?
- जावा सिंक्रोनाइज़्ड: जावा में थ्रेड सिंक्रोनाइज़ेशन क्या है
- जावा थ्रेड्स विथ मेथड्स एंड लाइफ साइकल
- उदाहरणों के साथ C ++ में गुणा करना
- जावा में मल्टीथ्रेडिंग - उदाहरण के साथ ट्यूटोरियल
- थ्रेड स्लीप () - थ्रेड स्लीप () विधि जावा में उदाहरण के साथ