उत्परिवर्तन परीक्षण क्या है? (उदाहरण)
उत्परिवर्तन परीक्षण क्या है?
उत्परिवर्तन परीक्षण यह सॉफ़्टवेयर परीक्षण का एक प्रकार है जिसमें स्रोत कोड के कुछ कथनों को बदला/उत्परिवर्तित किया जाता है ताकि यह जांचा जा सके कि परीक्षण मामले स्रोत कोड में त्रुटियाँ ढूँढ़ने में सक्षम हैं या नहीं। उत्परिवर्तन परीक्षण का लक्ष्य मज़बूती के मामले में परीक्षण मामलों की गुणवत्ता सुनिश्चित करना है ताकि यह उत्परिवर्तित स्रोत कोड को विफल कर दे।
म्यूटेंट प्रोग्राम में किए गए परिवर्तन बहुत छोटे रखे जाने चाहिए ताकि यह प्रोग्राम के समग्र उद्देश्य को प्रभावित न करें। म्यूटेशन परीक्षण को दोष-आधारित परीक्षण रणनीति भी कहा जाता है क्योंकि इसमें प्रोग्राम में दोष उत्पन्न करना शामिल है और यह एक प्रकार का है सफेद Box परीक्षण जिसका मुख्य रूप से उपयोग किया जाता है इकाई का परीक्षण.
उत्परिवर्तन मूल रूप से 1971 में प्रस्तावित किया गया था, लेकिन इसमें शामिल उच्च लागतों के कारण इसका उत्साह कम हो गया। अब, फिर से इसने गति पकड़ ली है और इसका व्यापक रूप से भाषाओं के लिए उपयोग किया जाता है जैसे Java और एक्सएमएल।
उत्परिवर्तन परीक्षण कैसे निष्पादित करें?
उत्परिवर्तन परीक्षण (उत्परिवर्तन विश्लेषण) करने के लिए निम्नलिखित चरण हैं:
चरण 1: प्रोग्राम के सोर्स कोड में कई संस्करण बनाकर दोष पेश किए जाते हैं जिन्हें म्यूटेंट कहा जाता है। प्रत्येक म्यूटेंट में एक ही दोष होना चाहिए, और लक्ष्य म्यूटेंट संस्करण को विफल करना है जो परीक्षण मामलों की प्रभावशीलता को प्रदर्शित करता है।
चरण 2परीक्षण मामलों को मूल प्रोग्राम और उत्परिवर्ती प्रोग्राम दोनों पर लागू किया जाता है। परीक्षण का मामला पर्याप्त होना चाहिए, और इसे प्रोग्राम में त्रुटियों का पता लगाने के लिए समायोजित किया जाता है।
चरण 3: मूल और उत्परिवर्ती कार्यक्रम के परिणामों की तुलना करें।
चरण 4: यदि मूल प्रोग्राम और उत्परिवर्ती प्रोग्राम अलग-अलग आउटपुट उत्पन्न करते हैं, तो परीक्षण मामले द्वारा उत्परिवर्ती को मार दिया जाता है। इसलिए परीक्षण मामला मूल और उत्परिवर्ती प्रोग्राम के बीच परिवर्तन का पता लगाने के लिए पर्याप्त है।
चरण 5: यदि मूल प्रोग्राम और म्यूटेंट प्रोग्राम एक ही आउटपुट उत्पन्न करते हैं, तो म्यूटेंट को जीवित रखा जाता है। ऐसे मामलों में, अधिक प्रभावी परीक्षण मामलों को बनाने की आवश्यकता होती है जो सभी म्यूटेंट को मार देते हैं।
उत्परिवर्ती कार्यक्रम कैसे बनाएं?
उत्परिवर्तन कुछ और नहीं बल्कि प्रोग्राम स्टेटमेंट में किया गया एक एकल वाक्यविन्यास परिवर्तन है। प्रत्येक उत्परिवर्ती प्रोग्राम को मूल प्रोग्राम से एक उत्परिवर्तन द्वारा भिन्न होना चाहिए।
| मूल कार्यक्रम | उत्परिवर्ती कार्यक्रम |
|---|---|
| यदि (x>y)
“हैलो” प्रिंट करें अन्य “हाय” प्रिंट करें |
अगर(एक्स<वाई)
“हैलो” प्रिंट करें अन्य “हाय” प्रिंट करें |
म्यूटेंट प्रोग्राम में क्या परिवर्तन किया जाए?
म्यूटेंट प्रोग्राम बनाने के लिए कई तकनीकें इस्तेमाल की जा सकती हैं। आइए उन पर नज़र डालें
| Operaऔर प्रतिस्थापन ऑपरेटर | अभिव्यक्ति संशोधन Operaमरोड़ | कथन संशोधन Operaमरोड़ |
|---|---|---|
| ऑपरेंड को किसी अन्य ऑपरेंड (x को y से या y को x से) या स्थिर मान से प्रतिस्थापित करें। | किसी प्रोग्राम स्टेटमेंट में ऑपरेटर को प्रतिस्थापित करना या नए ऑपरेटर को सम्मिलित करना। | प्रोग्रामेटिक कथनों को उत्परिवर्ती प्रोग्राम बनाने के लिए संशोधित किया जाता है। |
| उदाहरण-
यदि (x>y) तो x और y मानों को प्रतिस्थापित करें यदि (5>y) तो x को स्थिरांक 5 से प्रतिस्थापित करें |
उदाहरण-
यदि(x==y) हम == को >= में बदल सकते हैं और उत्परिवर्ती कार्यक्रम बना सकते हैं यदि(x>=y) और कथन में ++ प्रविष्ट करना यदि(x==++y) |
उदाहरण-
if-else कथन में else भाग को हटाएँ प्रोग्राम कैसे व्यवहार करता है यह जाँचने के लिए संपूर्ण if-els कथन को हटाएँ कुछ नमूना उत्परिवर्तन ऑपरेटर:
|
उत्परिवर्तन परीक्षण का स्वचालन
म्यूटेशन परीक्षण बहुत समय लेने वाला और मैन्युअल रूप से निष्पादित करने में जटिल है। प्रक्रिया को गति देने के लिए, स्वचालन उपकरणों का उपयोग करना उचित है। स्वचालन उपकरण परीक्षण की लागत को भी कम करते हैं।
उपलब्ध उपकरणों की सूची-
उत्परिवर्तन परीक्षण के प्रकार
In सॉफ्टवेयर इंजीनियरिंगउत्परिवर्तन परीक्षण को मूलतः तीन प्रकारों में वर्गीकृत किया जा सकता है- कथन उत्परिवर्तन, निर्णय उत्परिवर्तन और मूल्य उत्परिवर्तन।
- कथन उत्परिवर्तन - डेवलपर कोड का एक हिस्सा काटता है और चिपकाता है जिसके परिणामस्वरूप कुछ लाइनें हट सकती हैं
- मूल्य उत्परिवर्तन– प्राथमिक मापदंडों के मान संशोधित किए जाते हैं
- निर्णय उत्परिवर्तन- नियंत्रण कथनों को बदलना होगा
उत्परिवर्तन स्कोर
उत्परिवर्तन स्कोर को कुल उत्परिवर्ती संख्या में से मारे गए उत्परिवर्ती के प्रतिशत के रूप में परिभाषित किया जाता है।
- उत्परिवर्तन स्कोर = (मारे गए उत्परिवर्ती / उत्परिवर्ती की कुल संख्या) * 100
यदि स्कोर 100% है तो परीक्षण मामले उत्परिवर्तन के लिए पर्याप्त हैं। प्रायोगिक परिणामों से पता चला है कि उत्परिवर्तन परीक्षण परीक्षण मामलों की पर्याप्तता को मापने के लिए एक प्रभावी तरीका है। लेकिन, मुख्य दोष यह है कि उत्परिवर्ती उत्पन्न करने और उस उत्परिवर्ती कार्यक्रम के विरुद्ध प्रत्येक परीक्षण मामले को निष्पादित करने की उच्च लागत है।
उत्परिवर्तन परीक्षण के लाभ
उत्परिवर्तन परीक्षण के लाभ निम्नलिखित हैं:
- यह स्रोत कार्यक्रम की उच्च कवरेज प्राप्त करने के लिए एक शक्तिशाली दृष्टिकोण है।
- यह परीक्षण उत्परिवर्ती कार्यक्रम का व्यापक परीक्षण करने में सक्षम है।
- उत्परिवर्तन परीक्षण से सॉफ्टवेयर डेवलपर को त्रुटि का पता लगाने का अच्छा स्तर प्राप्त होता है।
- यह विधि स्रोत कोड में अस्पष्टताओं को उजागर करती है और प्रोग्राम में सभी दोषों का पता लगाने की क्षमता रखती है।
- ग्राहकों को इस परीक्षण से सर्वाधिक विश्वसनीय और स्थिर प्रणाली प्राप्त होने का लाभ मिलता है।
उत्परिवर्तन परीक्षण के नुकसान
दूसरी ओर, उत्परिवर्ती परीक्षण के नुकसान निम्नलिखित हैं:
- उत्परिवर्तन परीक्षण अत्यंत महंगा और समय लेने वाला होता है, क्योंकि इसमें अनेक उत्परिवर्ती कार्यक्रम तैयार करने होते हैं।
- चूंकि यह परीक्षण काफी समय लेने वाला है, इसलिए यह कहना उचित होगा कि यह परीक्षण स्वचालन उपकरण के बिना नहीं किया जा सकता।
- प्रत्येक उत्परिवर्तन में मूल कार्यक्रम की तुलना में परीक्षण मामलों की संख्या समान होगी। इसलिए, मूल परीक्षण सूट के विरुद्ध बड़ी संख्या में उत्परिवर्ती कार्यक्रमों का परीक्षण करने की आवश्यकता हो सकती है।
- चूंकि इस विधि में स्रोत कोड में परिवर्तन शामिल है, इसलिए यह बिल्कुल भी लागू नहीं है काली Box परीक्षण.
निष्कर्ष
क्या आप अपने एप्लीकेशन का संपूर्ण परीक्षण करना चाहते हैं? इसका उत्तर है म्यूटेशन परीक्षण। यह किसी प्रोग्राम का परीक्षण करने की सबसे व्यापक तकनीक है। यह वह विधि है जो सिस्टम में दोषों या त्रुटियों का पता लगाने के लिए परीक्षण कार्यक्रम की प्रभावशीलता और सटीकता की जांच करती है।



