सिस्टम एकीकरण परीक्षण क्या है?
सिस्टम इंटीग्रेशन टेस्टिंग को पूर्ण सिस्टम के व्यवहार को सत्यापित करने के लिए एक एकीकृत हार्डवेयर और सॉफ्टवेयर वातावरण में किए गए सॉफ्टवेयर परीक्षण के रूप में परिभाषित किया गया है। यह एक पूर्ण, एकीकृत प्रणाली पर परीक्षण किया जाता है ताकि सिस्टम की अनुपालन के लिए इसकी निर्दिष्ट आवश्यकता का मूल्यांकन किया जा सके।
सिस्टम इंटीग्रेशन टेस्टिंग (एसआईटी) एक सॉफ्टवेयर सिस्टम के मॉड्यूल के बीच बातचीत को सत्यापित करने के लिए किया जाता है। यह सॉफ़्टवेयर आवश्यकताएँ विनिर्देश / डेटा और सॉफ़्टवेयर डिज़ाइन दस्तावेज़ में निर्दिष्ट उच्च और निम्न-स्तरीय सॉफ़्टवेयर आवश्यकताओं के सत्यापन से संबंधित है।
यह दूसरों के साथ एक सॉफ्टवेयर सिस्टम के सह-अस्तित्व की पुष्टि करता है और सॉफ्टवेयर एप्लिकेशन के मॉड्यूल के बीच इंटरफेस का परीक्षण करता है। इस प्रकार के परीक्षण में, मॉड्यूल को पहले व्यक्तिगत रूप से परीक्षण किया जाता है और फिर एक सिस्टम बनाने के लिए संयुक्त किया जाता है।
उदाहरण के लिए, सॉफ्टवेयर और / या हार्डवेयर घटक संयुक्त हैं और उत्तरोत्तर परीक्षण किए जाते हैं जब तक कि पूरे सिस्टम को एकीकृत नहीं किया गया हो।
इस ट्यूटोरियल में, आप सीखेंगे-
- सिस्टम एकीकरण परीक्षण क्या है?
- सिस्टम एकीकरण परीक्षण क्यों करते हैं
- सिस्टम इंटीग्रेशन टेस्टिंग कैसे करें
- एकीकरण परीक्षण के लिए प्रवेश और निकास मानदंड
- हार्डवेयर से सॉफ्टवेयर एकीकरण परीक्षण
- सॉफ्टवेयर से सॉफ्टवेयर एकीकरण परीक्षण
- शीर्ष पाद उपागम
- नीचे से ऊपर का दृष्टिकोण
- बिग बैंग दृष्टिकोण
सिस्टम एकीकरण परीक्षण क्यों करते हैं
सॉफ्टवेयर इंजीनियरिंग में, सिस्टम एकीकरण परीक्षण किया जाता है क्योंकि,
- यह जल्दी से दोष का पता लगाने में मदद करता है
- पहले व्यक्तिगत मॉड्यूल की स्वीकार्यता पर प्रतिक्रिया उपलब्ध होगी
- दोष फिक्स का निर्धारण लचीला है, और इसे विकास के साथ ओवरलैप किया जा सकता है
- सही डेटा प्रवाह
- सही नियंत्रण प्रवाह
- सही समय
- सही स्मृति उपयोग
- सॉफ्टवेयर आवश्यकताओं के साथ सही
सिस्टम इंटीग्रेशन टेस्टिंग कैसे करें
यह इंटरफेसिंग से जुड़ी त्रुटियों को उजागर करने के लिए परीक्षण आयोजित करते हुए प्रोग्राम संरचना के निर्माण के लिए एक व्यवस्थित तकनीक है।
सभी मॉड्यूल पहले से एकीकृत हैं, और पूरे कार्यक्रम को संपूर्ण रूप में जांचा जाता है। लेकिन इस प्रक्रिया के दौरान, त्रुटियों का एक सेट सामने आने की संभावना है।
इस तरह की त्रुटियों का सुधार मुश्किल है क्योंकि अलगाव के कारण पूरे कार्यक्रम के विशाल विस्तार से जटिल है। एक बार इन त्रुटियों को सुधारने और ठीक करने के बाद, एक नया दिखाई देगा, और एक अंतहीन लूप में प्रक्रिया निर्बाध रूप से जारी रहती है । इस स्थिति से बचने के लिए, एक और दृष्टिकोण का उपयोग किया जाता है, इंक्रीमेंटल इंटीग्रेशन। हम ट्यूटोरियल में बाद में वृद्धिशील दृष्टिकोण के बारे में अधिक विस्तार देखेंगे।
कुछ वृद्धिशील तरीके हैं जैसे लक्ष्य प्रोसेसर के आधार पर एक सिस्टम पर एकीकरण परीक्षण आयोजित किए जाते हैं। उपयोग की जाने वाली पद्धति ब्लैक बॉक्स परीक्षण है। या तो नीचे-ऊपर या ऊपर-नीचे एकीकरण का उपयोग किया जा सकता है।
केवल उच्च-स्तरीय सॉफ़्टवेयर आवश्यकताओं का उपयोग करके परीक्षण मामलों को परिभाषित किया जाता है।
सॉफ्टवेयर एकीकरण भी मेजबान वातावरण में बड़े पैमाने पर प्राप्त किया जा सकता है, लक्ष्य पर्यावरण के लिए विशिष्ट इकाइयों के साथ मेजबान में अनुकरण किया जा रहा है। पुष्टि के लिए लक्ष्य वातावरण में दोहराए गए परीक्षण फिर से आवश्यक होंगे।
इस स्तर पर पुष्टिकरण परीक्षण पर्यावरण-विशिष्ट समस्याओं की पहचान करेंगे, जैसे कि स्मृति आवंटन और डी-आवंटन में त्रुटियां। मेजबान वातावरण में सॉफ्टवेयर एकीकरण के संचालन की व्यावहारिकता इस बात पर निर्भर करेगी कि विशिष्ट कार्यक्षमता कितनी लक्षित है। कुछ एम्बेडेड सिस्टमों के लिए लक्ष्य वातावरण के साथ युग्मन बहुत मजबूत होगा, जिससे मेजबान वातावरण में सॉफ्टवेयर एकीकरण का संचालन करना अव्यावहारिक हो जाएगा।
बड़े सॉफ्टवेयर विकास सॉफ्टवेयर एकीकरण को कई स्तरों में विभाजित करेंगे। सॉफ़्टवेयर एकीकरण के निचले स्तर मुख्य रूप से मेजबान वातावरण में आधारित हो सकते हैं, सॉफ्टवेयर एकीकरण के बाद के स्तर लक्ष्य वातावरण पर अधिक निर्भर होते हैं।
नोट: यदि सॉफ़्टवेयर का केवल परीक्षण किया जा रहा है, तो इसे सॉफ़्टवेयर सॉफ़्टवेयर एकीकरण परीक्षण [SSIT] कहा जाता है और यदि हार्डवेयर और सॉफ़्टवेयर दोनों का परीक्षण किया जा रहा है, तो इसे हार्डवेयर सॉफ़्टवेयर एकीकरण परीक्षण [HSIT] कहा जाता है।
एकीकरण परीक्षण के लिए प्रवेश और निकास मानदंड
आमतौर पर इंटीग्रेशन टेस्टिंग करते समय, ईटीवीएक्स (एंट्री क्राइटेरिया, टास्क, वैलिडेशन, और एग्जिट क्राइटेरिया) रणनीति का उपयोग किया जाता है।
प्रवेश मानदंड:
- यूनिट परीक्षण का समापन
इनपुट्स:
- सॉफ्टवेयर आवश्यकताएँ डेटा
- सॉफ्टवेयर डिजाइन दस्तावेज़
- सॉफ्टवेयर सत्यापन योजना
- सॉफ्टवेयर एकीकरण दस्तावेज़
गतिविधियाँ:
- उच्च और निम्न-स्तर की आवश्यकताओं के आधार पर परीक्षण मामले और प्रक्रियाएं बनाते हैं
- कम-स्तरीय मॉड्यूल बनाता है जो एक सामान्य कार्यक्षमता को कार्यान्वित करता है
- टेस्ट हार्नेस विकसित करें
- बिल्ड का परीक्षण करें
- एक बार टेस्ट पास हो जाने के बाद, बिल्ड को अन्य बिल्ड्स के साथ जोड़ दिया जाता है और तब तक परीक्षण किया जाता है जब तक कि सिस्टम एक पूरे के रूप में एकीकृत नहीं हो जाता।
- लक्ष्य प्रोसेसर-आधारित प्लेटफ़ॉर्म पर सभी परीक्षणों को फिर से निष्पादित करें, और परिणाम प्राप्त करें
मानदंड से बाहर निकलें:
- लक्ष्य हार्डवेयर पर सॉफ़्टवेयर मॉड्यूल के एकीकरण का सफल समापन
- निर्दिष्ट आवश्यकताओं के अनुसार सॉफ्टवेयर का सही प्रदर्शन
आउटपुट
- एकीकरण परीक्षण रिपोर्ट
- सॉफ्टवेयर टेस्ट मामले और प्रक्रिया [एसवीसीपी]।
हार्डवेयर सॉफ्टवेयर एकीकरण परीक्षण
हार्डवेयर सॉफ्टवेयर एकीकरण परीक्षण लक्ष्य हार्डवेयर वातावरण पर उच्च-स्तरीय कार्यक्षमता के लिए कंप्यूटर सॉफ्टवेयर घटक (CSC) के परीक्षण की एक प्रक्रिया है। हार्डवेयर / सॉफ्टवेयर एकीकरण परीक्षण का लक्ष्य हार्डवेयर घटक पर एकीकृत विकसित सॉफ्टवेयर के व्यवहार का परीक्षण करना है।
हार्डवेयर आधारित सॉफ्टवेयर एकीकरण परीक्षण की आवश्यकता
आवश्यकताओं-आधारित हार्डवेयर / सॉफ़्टवेयर एकीकरण परीक्षण का उद्देश्य यह सुनिश्चित करना है कि लक्ष्य कंप्यूटर में सॉफ़्टवेयर उच्च-स्तरीय आवश्यकताओं को पूरा करेगा। इस परीक्षण विधि द्वारा प्रकट विशिष्ट त्रुटियों में शामिल हैं:
- हार्डवेयर / सॉफ्टवेयर त्रुटियों को रोकता है
- सॉफ्टवेयर विभाजन के उल्लंघन।
- अंतर्निहित परीक्षण द्वारा विफलताओं का पता लगाने में असमर्थता
- हार्डवेयर विफलताओं के लिए गलत प्रतिक्रिया
- अनुक्रमण, क्षणिक इनपुट भार और इनपुट पॉवर ग्राहकों के कारण त्रुटि
- प्रतिक्रिया गलत व्यवहार लूप
- मेमोरी प्रबंधन हार्डवेयर का गलत या अनुचित नियंत्रण
- डेटा बस विवाद समस्या
- फ़ील्ड लोड करने योग्य सॉफ़्टवेयर की संगतता और शुद्धता को सत्यापित करने के लिए तंत्र का गलत संचालन
हार्डवेयर सॉफ़्टवेयर एकीकरण उच्च-स्तरीय आवश्यकताओं के सत्यापन से संबंधित है। इस स्तर पर सभी परीक्षण लक्ष्य हार्डवेयर पर किए जाते हैं।
- ब्लैक बॉक्स परीक्षण प्राथमिक परीक्षण पद्धति है जिसका उपयोग परीक्षण के इस स्तर पर किया जाता है।
- केवल उच्च-स्तरीय आवश्यकताओं से परीक्षण मामलों को परिभाषित करें
- उत्पादन मानक हार्डवेयर (लक्ष्य पर) पर एक परीक्षण निष्पादित किया जाना चाहिए
एचडब्ल्यू / एसडब्ल्यू इंटीग्रेशन के लिए परीक्षण मामलों को डिजाइन करते समय ध्यान देने योग्य बातें
- सॉफ्टवेयर द्वारा सभी डेटा का सही अधिग्रहण
- हार्डवेयर से सॉफ़्टवेयर तक डेटा की स्केलिंग और रेंज
- सॉफ्टवेयर से हार्डवेयर में डेटा का सही आउटपुट
- विनिर्देशों के भीतर डेटा (सामान्य सीमा)
- विनिर्देशों के बाहर डेटा (असामान्य सीमा)
- सीमा डेटा
- प्रसंस्करण में बाधा डालता है
- समय
- सही स्मृति उपयोग (संबोधित करना, ओवरलैप, आदि)
- राज्य परिवर्तन
नोट: व्यवधान परीक्षण के लिए, सभी अवरोधों को पूर्ण सेवा के माध्यम से और पूर्ण होने पर प्रारंभिक अनुरोध से स्वतंत्र रूप से सत्यापित किया जाएगा। टेस्ट मामलों को विशेष रूप से डिज़ाइन किया जाएगा ताकि पर्याप्त रूप से परीक्षण में व्यवधान उत्पन्न हो।
सॉफ्टवेयर से सॉफ्टवेयर एकीकरण परीक्षण
यह मेजबान / लक्ष्य कंप्यूटर के भीतर काम कर रहे कंप्यूटर सॉफ्टवेयर घटक का परीक्षण है
पूरे सिस्टम [अन्य CSC], और उच्च-स्तरीय कार्यक्षमता पर अनुकरण करते समय पर्यावरण।
यह एक नकली मेजबान / लक्ष्य वातावरण में एक सीएससी के व्यवहार पर केंद्रित है। सॉफ़्टवेयर एकीकरण के लिए उपयोग किया जाने वाला दृष्टिकोण एक वृद्धिशील दृष्टिकोण (टॉप-डाउन, बॉटम-अप दृष्टिकोण या दोनों का संयोजन) हो सकता है।
वृद्धिशील दृष्टिकोण
वृद्धिशील परीक्षण एकीकरण परीक्षण का एक तरीका है। इस प्रकार की परीक्षण विधि में, आप पहले सॉफ़्टवेयर के प्रत्येक मॉड्यूल का व्यक्तिगत रूप से परीक्षण करते हैं और फिर अन्य मॉड्यूल को जोड़कर परीक्षण जारी रखते हैं फिर दूसरा और इसी तरह।
वृद्धिशील एकीकरण बिग बैंग दृष्टिकोण के विपरीत है। कार्यक्रम का निर्माण और परीक्षण छोटे क्षेत्रों में किया जाता है, जहां त्रुटियों को अलग करना और सही करना आसान होता है। इंटरफेस को पूरी तरह से जांचने की संभावना है, और एक व्यवस्थित परीक्षण दृष्टिकोण लागू किया जा सकता है।
वृद्धिशील परीक्षण दो प्रकार के होते हैं
- शीर्ष पाद उपागम
- नीचे से ऊपर का दृष्टिकोण
शीर्ष पाद उपागम
इस प्रकार के दृष्टिकोण में, व्यक्ति केवल यूजर इंटरफेस का परीक्षण करके शुरुआत करता है, स्टब्स द्वारा सिम्युलेटेड अंतर्निहित कार्यक्षमता के साथ, फिर आप नीचे और नीचे की परतों को एकीकृत करते हैं, जैसा कि नीचे की छवि में दिखाया गया है।
- मुख्य नियंत्रण मॉड्यूल से शुरू होकर, मॉड्यूल नियंत्रण पदानुक्रम के माध्यम से नीचे की ओर बढ़ते हुए एकीकृत होते हैं
- मुख्य नियंत्रण मॉड्यूल के लिए उप-मॉड्यूल संरचना में या तो पहले-पहले तरीके से या गहराई-पहले तरीके से शामिल किए जाते हैं।
- गहराई-पहले एकीकरण संरचना के एक प्रमुख नियंत्रण पथ पर सभी मॉड्यूल को एकीकृत करता है जैसा कि निम्नलिखित चित्र में दिखाया गया है:
मॉड्यूल एकीकरण प्रक्रिया निम्नलिखित तरीके से की जाती है:
- मुख्य नियंत्रण मॉड्यूल का उपयोग परीक्षण चालक के रूप में किया जाता है, और स्टब्स को सभी मॉड्यूलों के लिए मुख्य नियंत्रण मॉड्यूल के अधीनस्थ रूप से प्रतिस्थापित किया जाता है।
- अधीनस्थ स्टब्स को चुने गए दृष्टिकोण (चौड़ाई पहले या गहराई पहले) के आधार पर वास्तविक मॉड्यूल के साथ एक बार में बदल दिया जाता है।
- टेस्ट को निष्पादित किया जाता है क्योंकि प्रत्येक मॉड्यूल एकीकृत है।
- परीक्षणों के प्रत्येक सेट के पूरा होने पर, परीक्षण के प्रत्येक सेट के पूरा होने पर एक वास्तविक स्टब के साथ एक और स्टब को बदल दिया जाता है
- यह सुनिश्चित करने के लिए कि नई त्रुटियों को पेश नहीं किया गया है प्रतिगमन परीक्षण किया जा सकता है।
संपूर्ण प्रोग्राम संरचना का निर्माण होने तक चरण 2 से प्रक्रिया जारी रहती है। ऊपर-नीचे की रणनीति अपेक्षाकृत जटिल लगती है, लेकिन व्यवहार में, तार्किक समस्याएं पैदा होती हैं।
इनमें से सबसे आम समस्याएं तब होती हैं जब उच्च स्तर पर पर्याप्त रूप से परीक्षण करने के लिए पदानुक्रम में निम्न स्तरों पर प्रसंस्करण की आवश्यकता होती है।
स्टब्स टॉप-डाउन टेस्टिंग की शुरुआत में निम्न-स्तरीय मॉड्यूल को प्रतिस्थापित करते हैं और इसलिए, कोई महत्वपूर्ण डेटा प्रोग्राम संरचना में ऊपर की ओर नहीं बह सकता है।
चुनौतियों का सामना करना पड़ सकता है:
- कई परीक्षणों में देरी करें जब तक कि स्टब्स को वास्तविक मॉड्यूल से बदल न दिया जाए।
- ऐसे स्टब्स विकसित करें जो वास्तविक मॉड्यूल का अनुकरण करने वाले सीमित कार्य करते हैं।
- सॉफ्टवेयर को पदानुक्रम के नीचे से ऊपर की ओर एकीकृत करें।
नोट: पहला दृष्टिकोण हमें विशिष्ट परीक्षणों और विशिष्ट मॉड्यूल को शामिल करने के बीच पत्राचार पर कुछ नियंत्रण खोने का कारण बनता है। इसके परिणामस्वरूप त्रुटियों का कारण निर्धारित करने में कठिनाई हो सकती है जो शीर्ष-डाउन दृष्टिकोण के अत्यधिक विवश प्रकृति का उल्लंघन करता है।
दूसरा दृष्टिकोण व्यावहारिक है लेकिन महत्वपूर्ण ओवरहेड हो सकता है, क्योंकि स्टब्स तेजी से जटिल हो जाते हैं।
नीचे से ऊपर का दृष्टिकोण
कार्यक्रम संरचना में सबसे निचले स्तर पर मॉड्यूल के साथ बॉटम-अप एकीकरण का निर्माण और परीक्षण शुरू होता है। इस प्रक्रिया में, मॉड्यूल नीचे से ऊपर तक एकीकृत होते हैं।
इस दृष्टिकोण में किसी दिए गए स्तर के अधीनस्थ मॉड्यूल के लिए आवश्यक प्रसंस्करण हमेशा उपलब्ध होता है और स्टब्स की आवश्यकता समाप्त हो जाती है।
यह एकीकरण परीक्षण प्रक्रिया चार चरणों की एक श्रृंखला में की जाती है
- निम्न-स्तरीय मॉड्यूल को क्लस्टर में जोड़ा जाता है जो एक विशिष्ट सॉफ्टवेयर उप-कार्य करते हैं।
- ड्राइवर को परीक्षण केस इनपुट और आउटपुट के समन्वय के लिए लिखा जाता है।
- क्लस्टर या बिल्ड का परीक्षण किया जाता है।
- ड्राइवरों को हटा दिया जाता है, और क्लस्टर को प्रोग्राम संरचना में ऊपर की ओर घुमाया जाता है।
जैसे-जैसे एकीकरण ऊपर की ओर बढ़ता है, अलग-अलग परीक्षण ड्राइवरों के पाठ की आवश्यकता होती है। वास्तव में, यदि प्रोग्राम संरचना के शीर्ष दो स्तरों को शीर्ष-नीचे एकीकृत किया जाता है, तो ड्राइवरों की संख्या में काफी कमी आ सकती है, और क्लस्टर का एकीकरण बहुत सरल हो जाता है। एकीकरण नीचे चित्रित पैटर्न का अनुसरण करता है। जैसे-जैसे एकीकरण ऊपर की ओर बढ़ता है, अलग-अलग परीक्षण ड्राइवरों के पाठ की आवश्यकता होती है।
नोट: यदि प्रोग्राम संरचना के शीर्ष दो स्तरों को शीर्ष-नीचे एकीकृत किया जाता है, तो ड्राइवरों की संख्या में काफी कमी आ सकती है, और बिल्ड का एकीकरण बहुत सरल हो जाता है।
बिग बैंग दृष्टिकोण
इस दृष्टिकोण में, सभी मॉड्यूल तब तक एकीकृत नहीं होते हैं जब तक कि सभी मॉड्यूल तैयार न हों। एक बार जब वे तैयार हो जाते हैं, तो सभी मॉड्यूल एकीकृत होते हैं और फिर इसके निष्पादन को यह जानने के लिए किया जाता है कि सभी एकीकृत मॉड्यूल काम कर रहे हैं या नहीं।
इस दृष्टिकोण में, एक बार में सब कुछ एकीकृत करने के कारण विफलता का मूल कारण जानना मुश्किल है।
साथ ही, उत्पादन के वातावरण में महत्वपूर्ण कीड़े होने की एक उच्च संभावना होगी।
यह दृष्टिकोण तभी अपनाया जाता है जब एकीकरण परीक्षण एक बार में किया जाना है।
सारांश:
- एक सॉफ्टवेयर सिस्टम के मॉड्यूल के बीच बातचीत को सत्यापित करने के लिए एकीकरण किया जाता है। यह दोष का जल्द पता लगाने में मदद करता है
- हार्डवेयर-सॉफ्टवेयर या हार्डवेयर-हार्डवेयर एकीकरण के लिए एकीकरण परीक्षण किया जा सकता है
- एकीकरण परीक्षण दो तरीकों से किया जाता है
- वृद्धिशील दृष्टिकोण
- बिग बैंग दृष्टिकोण
- इंटीग्रेशन टेस्टिंग करते समय आम तौर पर ईटीवीएक्स (एंट्री क्राइटेरिया, टास्क, वैलिडेशन, और एग्जिट क्राइटेरिया) रणनीति का उपयोग किया जाता है।