डायनेमिक टेस्टिंग क्या है? प्रकार, तकनीक और उदाहरण
गतिशील परीक्षण
गतिशील परीक्षण एक सॉफ्टवेयर परीक्षण विधि है जिसका उपयोग सॉफ्टवेयर कोड के गतिशील व्यवहार का परीक्षण करने के लिए किया जाता है। गतिशील परीक्षण का मुख्य उद्देश्य गतिशील चर या ऐसे चर के साथ सॉफ्टवेयर व्यवहार का परीक्षण करना है जो स्थिर नहीं हैं और सॉफ्टवेयर रनटाइम वातावरण में कमजोर क्षेत्रों का पता लगाना है। गतिशील व्यवहार का परीक्षण करने के लिए कोड को निष्पादित किया जाना चाहिए।
हम सभी जानते हैं कि परीक्षण सत्यापन और मान्यता है, और परीक्षण को पूरा करने के लिए 2 V की आवश्यकता होती है। 2 V में से, सत्यापन को स्टेटिक परीक्षण कहा जाता है और दूसरे “V”, मान्यता को डायनेमिक परीक्षण के रूप में जाना जाता है।
गतिशील परीक्षण उदाहरण
आइए एक उदाहरण से समझें कि डायनामिक परीक्षण कैसे किया जाता है:
मान लीजिए कि हम एक लॉगिन पेज का परीक्षण कर रहे हैं, जहां हमारे पास दो फ़ील्ड हैं, जैसे "यूजरनेम" और "पासवर्ड", और यूजरनेम अल्फ़ान्यूमेरिक तक सीमित है।
जब उपयोगकर्ता उपयोगकर्ता नाम “Guru99” दर्ज करता है, तो सिस्टम उसे स्वीकार कर लेता है। जबकि जब उपयोगकर्ता Guru99@123 दर्ज करता है, तो एप्लिकेशन एक त्रुटि संदेश देता है। यह परिणाम दर्शाता है कि कोड गतिशील रूप से कार्य कर रहा है उपयोगकर्ता इनपुट के आधार पर.
डायनेमिक टेस्टिंग तब होती है जब आप इनपुट देकर वास्तविक सिस्टम के साथ काम कर रहे होते हैं और एप्लिकेशन के वास्तविक व्यवहार की तुलना अपेक्षित व्यवहार से करते हैं। दूसरे शब्दों में, त्रुटियों को खोजने के इरादे से सिस्टम के साथ काम करना।
अतः उपरोक्त कथनों के आधार पर हम यह कह सकते हैं या निष्कर्ष निकाल सकते हैं कि गतिशील परीक्षण सही सॉफ्टवेयर बनाने के लिए विभिन्न वातावरणों में अंतिम उपयोगकर्ता के रूप में सॉफ्टवेयर अनुप्रयोगों को मान्य करने की एक प्रक्रिया है।
गतिशील परीक्षण क्या करता है?
गतिशील परीक्षणों का मुख्य उद्देश्य यह सुनिश्चित करना है कि सॉफ्टवेयर स्थापना के दौरान और उसके बाद भी ठीक से काम करता रहे, जिससे बिना किसी बड़ी खामी के एक स्थिर अनुप्रयोग सुनिश्चित हो सके (यह कथन इसलिए कहा गया है क्योंकि कोई भी सॉफ्टवेयर त्रुटि मुक्त नहीं है, परीक्षण केवल दोषों की उपस्थिति दिखा सकता है, अनुपस्थिति नहीं)
गतिशील परीक्षण का मुख्य उद्देश्य सॉफ्टवेयर की स्थिरता सुनिश्चित करना है; आइए एक उदाहरण से इस पर चर्चा करें।
बैंकिंग एप्लिकेशन में हमें अलग-अलग स्क्रीन मिलती हैं जैसे मेरा खाता अनुभाग, फंड ट्रांसफर, Bill भुगतान, आदि.. इन सभी स्क्रीन में राशि फ़ील्ड होती है जो कुछ अक्षर स्वीकार करती है।
मान लीजिए कि मेरा खाता फ़ील्ड राशि को इस प्रकार प्रदर्शित करता है 25,000 और फंड ट्रांसफर $25,000 और Bill स्क्रीन के रूप में भुगतान करें $25000 यद्यपि राशि समान है, लेकिन राशि प्रदर्शित करने का तरीका समान नहीं है, इसलिए सॉफ्टवेयर असंगत है।
संगति केवल कार्यक्षमता तक ही सीमित नहीं है, यह प्रदर्शन, प्रयोज्यता, अनुकूलता आदि जैसे विभिन्न मानकों को भी संदर्भित करती है, इसलिए गतिशील परीक्षण करना बहुत महत्वपूर्ण हो जाता है।
गतिशील परीक्षण के प्रकार
गतिशील परीक्षण को दो श्रेणियों में वर्गीकृत किया गया है
- सफेद Box परीक्षण
- काली Box परीक्षण
नीचे दिया गया चित्रात्मक चित्रण हमें गतिशील परीक्षण के प्रकार, परीक्षण के स्तर आदि के बारे में जानकारी देता है।
आइये हम प्रत्येक प्रकार के परीक्षण और उसके इच्छित उद्देश्य पर संक्षेप में चर्चा करें
सफेद Box परीक्षण - सफेद Box परीक्षण एक सॉफ्टवेयर परीक्षण विधि है जिसमें आंतरिक संरचना/डिजाइन परीक्षक को ज्ञात होता है। व्हाइट का मुख्य उद्देश्य Box परीक्षण का उद्देश्य कोड के आधार पर सिस्टम के प्रदर्शन की जांच करना है। यह मुख्य रूप से डेवलपर्स या व्हाइट द्वारा किया जाता है Box परीक्षक जिन्हें प्रोग्रामिंग का ज्ञान है।
काली Box परिक्षण - काली Box परीक्षण परीक्षण की एक विधि है जिसमें आंतरिक संरचना/कोड/डिज़ाइन नहीं परीक्षक को ज्ञात सभी जानकारी। इस परीक्षण का मुख्य उद्देश्य परीक्षण के तहत सिस्टम की कार्यक्षमता को सत्यापित करना है और इस प्रकार के परीक्षण के लिए संपूर्ण परीक्षण सूट को निष्पादित करने की आवश्यकता होती है और यह मुख्य रूप से परीक्षकों द्वारा किया जाता है, और किसी भी प्रोग्रामिंग ज्ञान की आवश्यकता नहीं होती है।
RSI काली Box परीक्षण को पुनः दो प्रकारों में वर्गीकृत किया गया है।
वे कर रहे हैं
- क्रियात्मक परीक्षण
- गैर-कार्यात्मक परीक्षण
क्रियात्मक परीक्षण:
कार्यात्मक परीक्षण यह सत्यापित करने के लिए किया जाता है कि विकसित की गई सभी विशेषताएं कार्यात्मक विनिर्देशों के अनुसार हैं, और यह QA टीम द्वारा लिखे गए कार्यात्मक परीक्षण मामलों को निष्पादित करके किया जाता है, कार्यात्मक परीक्षण चरण में, इनपुट प्रदान करके, आउटपुट को सत्यापित करके और वास्तविक परिणामों की अपेक्षित परिणामों के साथ तुलना करके सिस्टम का परीक्षण किया जाता है।
कार्यात्मक परीक्षण के विभिन्न स्तर हैं जिनमें से सबसे महत्वपूर्ण हैं
- इकाई का परीक्षण - आम तौर पर यूनिट कोड का एक छोटा सा टुकड़ा होता है जो परीक्षण योग्य होता है, इकाई का परीक्षण सॉफ्टवेयर की व्यक्तिगत इकाई पर किया जाता है और डेवलपर्स द्वारा किया जाता है
- एकीकरण जांच - एकीकरण जांच यह परीक्षण यूनिट परीक्षण के बाद किया जाता है और सभी व्यक्तिगत इकाइयों को मिलाकर किया जाता है जो परीक्षण योग्य हैं और डेवलपर्स या परीक्षकों द्वारा किया जाता है
- सिस्टम परीक्षण - सिस्टम परीक्षण यह सुनिश्चित करने के लिए किया जाता है कि सिस्टम आवश्यकताओं के अनुसार प्रदर्शन करता है या नहीं और आम तौर पर तब किया जाता है जब पूरा सिस्टम तैयार हो जाता है, यह परीक्षकों द्वारा तब किया जाता है जब बिल्ड या कोड QA टीम को जारी किया जाता है
- स्वीकृति परीक्षण - स्वीकृति परीक्षण यह सत्यापित करने के लिए किया जाता है कि क्या सिस्टम ने व्यावसायिक आवश्यकताओं को पूरा किया है और क्या यह उपयोग के लिए तैयार है या तैनाती के लिए तैयार है और आमतौर पर अंतिम उपयोगकर्ताओं द्वारा किया जाता है।
गैर-कार्यात्मक परीक्षण: गैर-कार्यात्मक परीक्षण एक परीक्षण तकनीक है जो कार्यात्मक पहलुओं पर ध्यान केंद्रित नहीं करती है और मुख्य रूप से सिस्टम की गैर-कार्यात्मक विशेषताओं जैसे मेमोरी लीक, प्रदर्शन या सिस्टम की मजबूती पर ध्यान केंद्रित करती है। गैर-कार्यात्मक परीक्षण सभी परीक्षण स्तरों पर किया जाता है।
कई गैर-कार्यात्मक परीक्षण तकनीकें हैं जिनमें से सबसे महत्वपूर्ण हैं
- प्रदर्शन का परीक्षण - प्रदर्शन का परीक्षण यह जांचने के लिए किया जाता है कि क्या सिस्टम का प्रतिक्रिया समय वांछित नेटवर्क लोड के तहत आवश्यकताओं के अनुसार सामान्य है।
- पुनर्प्राप्ति परीक्षण - रिकवरी परीक्षण यह सत्यापित करने की एक विधि है कि कोई सिस्टम क्रैश और हार्डवेयर विफलताओं से कितनी अच्छी तरह से उबरने में सक्षम है।
- संगतता परीक्षण - संगतता परीक्षण यह सत्यापित करने के लिए किया जाता है कि सिस्टम विभिन्न वातावरणों में कैसे व्यवहार करता है।
- सुरक्षा परीक्षण - सुरक्षा परीक्षण एप्लिकेशन की मजबूती को सत्यापित करने के लिए किया जाता है, अर्थात यह सुनिश्चित करने के लिए कि केवल अधिकृत उपयोगकर्ता/भूमिकाएं ही सिस्टम तक पहुंच रही हैं
- उपयोगिता परीक्षण - उपयोगिता परीक्षण यह अंतिम उपयोगकर्ताओं द्वारा सिस्टम की उपयोगिता को सत्यापित करने की एक विधि है, ताकि यह सत्यापित किया जा सके कि उपयोगकर्ता सिस्टम के साथ कितने सहज हैं।
गतिशील परीक्षण तकनीकें
गतिशील परीक्षण तकनीकें in एसटीएलसी इसमें विभिन्न कार्य शामिल होते हैं जैसे परीक्षणों के लिए आवश्यकता विश्लेषण, परीक्षण योजना, परीक्षण मामले का डिज़ाइन और कार्यान्वयन, परीक्षण वातावरण सेटअप, परीक्षण मामले का निष्पादन, बग रिपोर्टिंग और अंत में परीक्षण समापन। गतिशील परीक्षण तकनीकों में सभी कार्य परीक्षण प्रक्रिया में पिछले कार्य के पूरा होने पर निर्भर होते हैं।
एसटीएलसी में, हम कह सकते हैं कि वास्तविक गतिशील परीक्षण प्रक्रिया टेस्ट केस डिजाइन से शुरू होती है, आइए प्रत्येक गतिविधि पर विस्तार से चर्चा करें।
प्रक्रिया में आगे बढ़ने से पहले आइए उस रणनीति पर चर्चा करें जिसका गतिशील परीक्षण के लिए पालन किया जाना चाहिए।
परीक्षण रणनीति मुख्य रूप से उपलब्ध संसाधनों और समय-सीमा पर केंद्रित होनी चाहिए। इन कारकों के आधार पर, परीक्षण का उद्देश्य, परीक्षण का दायरा, परीक्षण के चरण या चक्र, पर्यावरण का प्रकार, सामना की जाने वाली धारणाएँ या चुनौतियाँ, जोखिम आदि का दस्तावेजीकरण किया जाना चाहिए।
एक बार जब रणनीति परिभाषित हो जाती है और प्रबंधन द्वारा स्वीकार कर ली जाती है तो वास्तविक प्रक्रिया परीक्षण मामले का डिजाइन शुरू होता है
परीक्षण डिजाइन और कार्यान्वयन क्या है
इस चरण में हम पहचान करते हैं,
- परीक्षण की जाने वाली विशेषताएं
- परीक्षण की शर्तें निकालें
- कवरेज आइटम प्राप्त करें
- परीक्षण मामले प्राप्त करें
पर्यावरण सेटअप का परीक्षण करें
हमें यह सुनिश्चित करना होगा कि परीक्षण वातावरण हमेशा उत्पादन वातावरण के समान होना चाहिए, इस चरण में हमें बिल्ड को स्थापित करना होगा और परीक्षण मशीनों का प्रबंधन करना होगा।
परीक्षा निष्पादन
इस चरण के दौरान, परीक्षण मामलों को वास्तव में निष्पादित किया जाता है।
बग रिपोर्ट कैप्चर की गई
निष्पादन के आधार पर यदि अपेक्षित और वास्तविक परिणाम समान नहीं हैं तो परीक्षण मामले को असफल के रूप में चिह्नित किया जाना चाहिए और एक बग लॉग किया जाना चाहिए।
गतिशील परीक्षण के लाभ
- गतिशील परीक्षण से उन उजागर दोषों का पता लगाया जा सकता है जिन्हें बहुत कठिन या जटिल माना जाता है और जिन्हें स्थैतिक विश्लेषण के माध्यम से कवर नहीं किया जा सकता है
- गतिशील परीक्षण में, हम सॉफ्टवेयर को शुरू से अंत तक क्रियान्वित करते हैं, जिससे त्रुटि रहित सॉफ्टवेयर सुनिश्चित होता है, जिससे उत्पाद और परियोजना की गुणवत्ता बढ़ जाती है।
- किसी भी सुरक्षा खतरे का पता लगाने के लिए गतिशील परीक्षण एक आवश्यक उपकरण बन जाता है
गतिशील परीक्षण के नुकसान
- गतिशील परीक्षण समय लेने वाला है क्योंकि यह एप्लिकेशन/सॉफ्टवेयर या कोड को निष्पादित करता है जिसके लिए भारी मात्रा में संसाधनों की आवश्यकता होती है
- गतिशील परीक्षण से परियोजना/उत्पाद की लागत बढ़ जाती है, क्योंकि यह सॉफ्टवेयर जीवनचक्र के आरंभ में शुरू नहीं होता है, और इसलिए बाद के चरणों में ठीक किए गए किसी भी मुद्दे के परिणामस्वरूप लागत में वृद्धि हो सकती है।
निष्कर्ष
In सॉफ्टवेयर इंजीनियरिंगसत्यापन और मान्यता दो उपाय हैं जिनका उपयोग यह जाँचने के लिए किया जाता है कि सॉफ़्टवेयर उत्पाद आवश्यकताओं के विनिर्देशों को पूरा करता है या नहीं। स्थैतिक परीक्षण में सत्यापन शामिल होता है जबकि गतिशील परीक्षण में मान्यता शामिल होती है। साथ में वे एक लागत प्रभावी गुणवत्ता वाला सॉफ़्टवेयर देने में मदद करते हैं।