इस ट्यूटोरियल में, आप सीखेंगे
- एंबेडेड सिस्टम क्या हैं?
- एंबेडेड परीक्षण क्या है?
- एंबेडेड सॉफ्टवेयर टेस्टिंग प्रकार
- अंतर: एंबेडेड टेस्टिंग और सॉफ्टवेयर टेस्टिंग
- चुनौतियां: एंबेडेड सॉफ्टवेयर टेस्टिंग
एंबेडेड सिस्टम क्या हैं?
एंबेडेड सिस्टम इलेक्ट्रॉनिक रूप से नियंत्रित डिवाइस हैं जहां सॉफ्टवेयर और हार्डवेयर को कसकर जोड़ा जाता है। एंबेडेड सिस्टम में विभिन्न प्रकार के कंप्यूटिंग डिवाइस शामिल हो सकते हैं। ये अनुप्रयोग-विशिष्ट कार्यों को संचालित करने के लिए अन्य उपकरणों में शामिल पीसी हैं। अंत उपयोगकर्ता आमतौर पर उनके अस्तित्व के बारे में भी नहीं जानते हैं।
एंबेडेड परीक्षण
एम्बेडेड परीक्षण एक एम्बेडेड सिस्टम में सॉफ्टवेयर और हार्डवेयर दोनों के कार्यात्मक और गैर-कार्यात्मक विशेषताओं की जांच करने के लिए एक परीक्षण प्रक्रिया है और यह सुनिश्चित करता है कि अंतिम उत्पाद दोष मुक्त है। एंबेडेड परीक्षण का मुख्य उद्देश्य यह सत्यापित और सत्यापित करना है कि एम्बेडेड हार्डवेयर और सॉफ़्टवेयर का अंतिम उत्पाद क्लाइंट की आवश्यकताओं को पूरा करता है या नहीं।
एंबेडेड सॉफ्टवेयर परीक्षण की जाँच करता है और यह सुनिश्चित करता है कि संबंधित सॉफ्टवेयर अच्छी गुणवत्ता का है और सभी आवश्यकताओं का अनुपालन करता है जो इसे मिलना चाहिए। एंबेडेड सॉफ्टवेयर टेस्टिंग चिकित्सा उपकरणों, रेलवे, विमानन, वाहन उद्योग आदि जैसे महत्वपूर्ण अनुप्रयोगों में सुरक्षा की गारंटी के लिए एक उत्कृष्ट दृष्टिकोण है। सॉफ्टवेयर प्रमाणन देने के लिए सख्त और सावधानीपूर्वक परीक्षण महत्वपूर्ण है।
एंबेडेड सॉफ्टवेयर टेस्टिंग कैसे करें
सामान्य तौर पर, आप चार कारणों से परीक्षण करते हैं:
- सॉफ्टवेयर में कीड़े खोजने के लिए
- उपयोगकर्ताओं और कंपनी दोनों के लिए जोखिम को कम करने में मदद करता है
- विकास और रखरखाव की लागत में कटौती
- प्रदर्शन में सुधार करने के लिए
एंबेडेड टेस्टिंग में, निम्नलिखित गतिविधियाँ की जाती हैं:
1. सॉफ्टवेयर कुछ इनपुट के साथ प्रदान किया जाता है।
2. सॉफ्टवेयर का एक टुकड़ा निष्पादित किया जाता है।
3. सॉफ्टवेयर स्थिति देखी जाती है, और आउटपुट को अपेक्षित गुणों के लिए जांचा जाता है, जैसे कि आउटपुट अपेक्षित परिणाम से मेल खाता है, सिस्टम क्रैश की आवश्यकताओं और अनुपस्थिति के अनुरूप है।
एंबेडेड सॉफ्टवेयर टेस्टिंग प्रकार
मूल रूप से, परीक्षण के पांच स्तर हैं जो एम्बेडेड सॉफ़्टवेयर पर लागू किए जा सकते हैं
सॉफ्टवेयर यूनिट परीक्षण
यूनिट मॉड्यूल या तो एक फ़ंक्शन या वर्ग है। यूनिट परीक्षण विकास टीम द्वारा किया जाता है, मुख्य रूप से डेवलपर और आमतौर पर एक सहकर्मी-समीक्षा मॉडल में किया जाता है। मॉड्यूल परीक्षण के विनिर्देश के आधार पर मामलों का विकास किया जाता है।
एकीकरण जांच
एकीकरण परीक्षण को दो खंडों में वर्गीकृत किया जा सकता है:
- सॉफ्टवेयर एकीकरण परीक्षण
- सॉफ्टवेयर / हार्डवेयर एकीकरण परीक्षण।
अंत में, हार्डवेयर डोमेन और सॉफ्टवेयर घटकों के इंटरैक्शन का परीक्षण किया जाता है। यह अंतर्निहित परिधीय उपकरणों और सॉफ्टवेयर के बीच बातचीत की जांच करना शामिल कर सकता है।
एंबेडेड सॉफ्टवेयर विकास की एक अनूठी विशेषता है जो वास्तविक वातावरण पर केंद्रित है, जिसमें सॉफ्टवेयर चलाया जाता है, आमतौर पर सॉफ्टवेयर के समानांतर बनाया जाता है। यह परीक्षण के लिए असुविधा का कारण बनता है क्योंकि व्यापक परीक्षण एक नकली स्थिति में नहीं किया जा सकता है।
सिस्टम यूनिट परीक्षण
अब परीक्षण किया जाने वाला मॉड्यूल एक पूर्ण ढांचा है जिसमें संपूर्ण सॉफ़्टवेयर कोड के अतिरिक्त सभी वास्तविक समय ऑपरेटिंग सिस्टम (RTOS) और प्लेटफ़ॉर्म से संबंधित टुकड़े जैसे कि व्यवधान, कार्य तंत्र, संचार और इतने पर हैं। नियंत्रण प्रोटोकॉल का बिंदु अब किसी फ़ंक्शन या विधि मंगलाचरण के लिए कॉल नहीं है, बल्कि एक संदेश भेजा / RTOS संदेश कतारों का उपयोग कर रहा है।
सिस्टम संसाधन एम्बेडेड सिस्टम निष्पादन का समर्थन करने की प्रणाली की क्षमता का मूल्यांकन करने के लिए मनाया जाता है। इस पहलू के लिए, ग्रे-बॉक्स परीक्षण पसंदीदा परीक्षण विधि है। संगठन के आधार पर, सिस्टम यूनिट परीक्षण या तो डेवलपर या समर्पित सिस्टम एकीकरण टीम का कर्तव्य है।
सिस्टम एकीकरण परीक्षण
परीक्षण किया जाने वाला मॉड्यूल एकल नोड के भीतर घटकों के एक सेट से शुरू होता है। पॉइंट ऑफ कंट्रोल एंड ऑब्जर्वेशन (पीसीओ) नेटवर्क से संबंधित संचार प्रोटोकॉल और आरटीओएस का मिश्रण है, जैसे नेटवर्क संदेश और आरटीओ इवेंट। इसके अलावा, एक घटक के लिए, एक आभासी परीक्षक एक नोड की भूमिका निभा सकता है।
सिस्टम सत्यापन परीक्षण
परीक्षण किया जाने वाला मॉड्यूल पूर्ण कार्यान्वयन या पूर्ण एम्बेडेड सिस्टम के साथ एक सबसिस्टम है। इस अंतिम परीक्षण का उद्देश्य बाहरी इकाई कार्यात्मक आवश्यकताओं को पूरा करना है। ध्यान दें कि एक बाहरी इकाई या तो एक व्यक्ति हो, या दूरसंचार नेटवर्क में एक उपकरण, या दोनों हो।
अंतर: एंबेडेड टेस्टिंग और सॉफ्टवेयर टेस्टिंग
सॉफ्टवेयर परिक्षण | एंबेडेड परीक्षण |
---|---|
सॉफ्टवेयर परीक्षण केवल सॉफ्टवेयर से संबंधित है। | एंबेडेड परीक्षण दोनों सॉफ्टवेयर के साथ-साथ हार्डवेयर से संबंधित है। |
दुनिया में औसतन 90% परीक्षण विशुद्ध रूप से मैनुअल ब्लैक बॉक्स परीक्षण है। | एंबेडेड परीक्षण एम्बेडेड सिस्टम या चिप्स पर किया जाता है यह एक ब्लैक बॉक्स या व्हाइट बॉक्स परीक्षण हो सकता है। |
परीक्षण के प्राथमिक क्षेत्र जीयूआई जांच, कार्यक्षमता, सत्यापन और डेटाबेस परीक्षण के कुछ स्तर हैं। | परीक्षण के प्राथमिक क्षेत्र नहीं के लिए हार्डवेयर का व्यवहार है। इसे दिए गए इनपुट्स |
सॉफ्टवेयर परीक्षण मुख्य रूप से क्लाइंट-सर्वर, वेब और मोबाइल आधारित अनुप्रयोगों पर किया जाता है। | एंबेडेड परीक्षण आमतौर पर हार्डवेयर पर प्रदर्शन किया। |
जैसे, गूगल मेल, याहू मेल, एंड्रॉइड एप्लिकेशन। | उदाहरण के लिए, हेल्थकेयर डोमेन की मशीनें, कंप्यूटर में उपयोग किए जाने वाले माइक्रोकंट्रोलर। |
चुनौतियां: एंबेडेड सॉफ्टवेयर टेस्टिंग
एंबेडेड सॉफ्टवेयर टेस्टिंग के दौरान कुछ चुनौतियों का सामना करना पड़ सकता है:
हार्डवेयर निर्भरता
हार्डवेयर की निर्भरता हार्डवेयर की सीमित पहुंच के कारण एम्बेडेड सॉफ़्टवेयर परीक्षण के दौरान आने वाली मुख्य कठिनाइयों में से एक है। हालांकि, एमुलेटर और सिमुलेटर वास्तविक डिवाइस के व्यवहार का सटीक रूप से प्रतिनिधित्व नहीं कर सकते हैं और सिस्टम प्रदर्शन और एप्लिकेशन की उपयोगिता की गलत समझ दे सकते हैं।
खुला स्रोत सॉफ्टवेयर
बहुसंख्यक एम्बेडेड सॉफ्टवेयर घटक प्रकृति में खुला स्रोत हैं, इन-हाउस नहीं बनाया गया है और इसके लिए पूर्ण परीक्षण उपलब्ध नहीं है। परीक्षण संयोजनों और परिणामी परिदृश्यों की एक विस्तृत श्रृंखला है।
सॉफ्टवेयर बनाम हार्डवेयर दोष
एक और पहलू यह है कि एक नए सिरे से बनाए गए हार्डवेयर के लिए सॉफ्टवेयर विकसित किया जा रहा है, इस प्रक्रिया के दौरान हार्डवेयर दोषों के उच्च अनुपात की पहचान की जा सकती है। पाया दोष सिर्फ सॉफ्टवेयर तक सीमित नहीं है। यह हार्डवेयर से भी संबंधित हो सकता है।
प्रतिकारक दोष
एम्बेडेड सिस्टम के मामले में दोषों को पुन: उत्पन्न / पुन: बनाने के लिए कठिन है। यह एम्बेडेड परीक्षण प्रक्रिया को एक मानक मामले की तुलना में काफी हद तक हर दोष घटना को महत्व देने के लिए लागू करता है, अन्य डेटा के रूप में इकट्ठा करने के लिए समझदारी से दोष की नींव को खोजने के लिए सिस्टम को बदलने के लिए आवश्यक हो सकता है।
सतत सॉफ्टवेयर अद्यतन
एंबेडेड सिस्टम को नियमित सॉफ्टवेयर अपडेट की आवश्यकता होती है जैसे कर्नेल अपग्रेड, सिक्योरिटी फिक्स, विभिन्न डिवाइस ड्राइवर आदि। सॉफ्टवेयर अपडेट के प्रभाव से पहचाने जाने वाले अवरोध बग की पहचान को मुश्किल बना देते हैं। इसके अतिरिक्त, यह निर्माण और परिनियोजन प्रक्रिया के महत्व को बढ़ाता है।
सारांश
एम्बेडेड सॉफ्टवेयर परीक्षण के परीक्षण में कुछ कठिनाइयाँ हैं जो इसे नियमित सॉफ्टवेयर परीक्षण की तुलना में अधिक कठिन बनाती हैं। सबसे बुनियादी मुद्दा हार्डवेयर वातावरण पर तंग निर्भरता है जो सॉफ्टवेयर के साथ एक साथ तैयार की जाती है, और विश्वसनीय सॉफ़्टवेयर परीक्षण करने के लिए नियमित रूप से आवश्यक है। कभी-कभी कस्टम टूल के बिना सॉफ़्टवेयर का परीक्षण करना और भी मुश्किल होता है, जो सहजता से मोहक रूप से देर के चरणों में परीक्षण पर ध्यान केंद्रित करता है।
सबसे महत्वपूर्ण चीजों में से एक यह है कि आपको इस बारे में सोचना चाहिए कि यह तथ्य है कि आपको अक्सर स्वचालित सॉफ्टवेयर परीक्षण का विकल्प चुनना चाहिए। एम्बेडेड स्वचालित परीक्षण एक तेज प्रक्रिया है जिसे पूरा करने में कुछ घंटे लगेंगे, और इस तरह, आपके सॉफ्टवेयर का मुद्दा सुलझ जाता है।