सॉफ्टवेयर परीक्षण में STRESS परीक्षण क्या है?
⚡ स्मार्ट सारांश
स्ट्रेस टेस्टिंग किसी एप्लिकेशन को उसकी सामान्य परिचालन सीमाओं से परे धकेलकर उसकी टूटने की सीमा का पता लगाती है, यह पुष्टि करती है कि विफलताओं को सुचारू रूप से संभाला जाता है, और यह साबित करती है कि अत्यधिक भार हटा दिए जाने के बाद सिस्टम सुचारू रूप से पुनः प्राप्त हो जाता है।

तनाव परीक्षण क्या है?
तनाव परीक्षण स्ट्रेस टेस्टिंग एक प्रकार का सॉफ्टवेयर परीक्षण है जो किसी सॉफ्टवेयर एप्लिकेशन की स्थिरता और विश्वसनीयता को सत्यापित करता है। स्ट्रेस टेस्टिंग का उद्देश्य अत्यधिक भार की स्थितियों में सॉफ्टवेयर की मजबूती और त्रुटि-प्रबंधन क्षमताओं का आकलन करना और यह सुनिश्चित करना है कि सॉफ्टवेयर संकट की स्थिति में क्रैश न हो। यह जानबूझकर सामान्य परिचालन सीमाओं से परे परीक्षण करता है और चरम स्थितियों में सॉफ्टवेयर के व्यवहार का मूल्यांकन करता है।
स्ट्रेस टेस्टिंग के तहत, परीक्षण किए जा रहे एप्लिकेशन (AUT) पर थोड़े समय के लिए दबाव डाला जाता है ताकि उसकी सहन क्षमता का पता लगाया जा सके। स्ट्रेस टेस्टिंग का सबसे प्रमुख उपयोग उस सीमा को निर्धारित करना है जिस पर सिस्टम, सॉफ़्टवेयर या हार्डवेयर विफल हो जाता है। यह यह भी जांचता है कि उस सीमा को पार करने के बाद सिस्टम प्रभावी त्रुटि प्रबंधन प्रदर्शित करता है या नहीं।
In सॉफ्टवेयर इंजीनियरिंगस्ट्रेस टेस्टिंग को अक्सर इसके साथ सूचीबद्ध किया जाता है। सहनशक्ति परीक्षणलेकिन दोनों में अंतर है: स्ट्रेस टेस्टिंग में टूटने के बिंदु का पता लगाने के लिए थोड़े समय में असामान्य रूप से उच्च भार लगाया जाता है, जबकि एंड्योरेंस (सोक) टेस्टिंग में धीरे-धीरे होने वाले क्षरण को उजागर करने के लिए घंटों तक मध्यम भार बनाए रखा जाता है।
नीचे दिए गए स्क्रीनशॉट में एक वेब पेज से डेटा का एक बड़ा ब्लॉक कॉपी किया जा रहा है।
परीक्षण के तहत एप्लिकेशन पर तब दबाव पड़ता है जब वेबसाइट से 5 जीबी डेटा कॉपी करके नोटपैड में पेस्ट किया जाता है। नोटपैड पर अब दबाव बढ़ जाता है और वह "नॉट रिस्पॉन्डिंग" त्रुटि संदेश दिखाता है, जैसा कि अगले स्क्रीनशॉट में दिखाया गया है।
यही सिद्धांत सर्वर-साइड सिस्टम पर भी सीधे लागू होता है।
तनाव परीक्षण की आवश्यकता
निम्नलिखित वास्तविक समय के उदाहरणों पर विचार करें जहां स्ट्रेस टेस्टिंग का उपयोग स्पष्ट हो जाता है:
- त्योहारों के दौरान, एक ऑनलाइन दुकानping वेबसाइट पर ट्रैफिक में अचानक वृद्धि हो सकती है, या जब वह किसी सेल की घोषणा करती है तब ट्रैफिक बढ़ सकता है।
- जब किसी ब्लॉग का उल्लेख किसी प्रमुख समाचार पत्र में होता है, तो उस पर ट्रैफिक में अचानक वृद्धि हो जाती है।
इस तरह के अप्रत्याशित ट्रैफ़िक उछाल से निपटने के लिए स्ट्रेस टेस्टिंग करना अत्यंत आवश्यक है। इस अचानक ट्रैफ़िक को संभालने में विफलता से राजस्व और प्रतिष्ठा दोनों का नुकसान हो सकता है।
स्ट्रेस टेस्टिंग निम्नलिखित कारणों से भी अत्यंत महत्वपूर्ण है:
- यह जांच करता है कि क्या सिस्टम असामान्य परिस्थितियों में काम करता है।
- यह पुष्टि करता है कि सिस्टम पर दबाव पड़ने पर उचित त्रुटि संदेश प्रदर्शित होता है।
- अत्यधिक कठिन परिस्थितियों में सिस्टम के विफल होने से राजस्व का भारी नुकसान हो सकता है।
- तनाव परीक्षण पहले से ही करके चरम स्थितियों के लिए तैयार रहना बेहतर है।
अगले खंड में यह बताया गया है कि एक सफल स्ट्रेस टेस्ट को क्या साबित करना चाहिए।
तनाव परीक्षण के लक्ष्य
स्ट्रेस टेस्टिंग का उद्देश्य विफलता के बाद सिस्टम के व्यवहार का विश्लेषण करना है। स्ट्रेस टेस्टिंग के सफल होने के लिए, सिस्टम को चरम स्थितियों में उचित त्रुटि संदेश प्रदर्शित करना चाहिए।
स्ट्रेस टेस्टिंग करने के लिए, कभी-कभी विशाल डेटा सेट का उपयोग किया जाता है, और सिस्टम के विफल होने पर वह डेटा नष्ट हो सकता है। परीक्षकों को यह सुनिश्चित करना चाहिए कि स्ट्रेस टेस्टिंग के दौरान सुरक्षा संबंधी यह डेटा नष्ट न हो।
स्ट्रेस टेस्टिंग का मुख्य उद्देश्य यह सुनिश्चित करना है कि सिस्टम विफलता के बाद ठीक हो जाए, इस गुण को रिकवरेबिलिटी कहा जाता है। पुनर्प्राप्ति परीक्षण फिर पुनर्स्थापन प्रक्रिया का विस्तार से सत्यापन करता है।
लोड परीक्षण बनाम तनाव परीक्षण
दोनों तकनीकें इससे संबंधित हैं प्रदर्शन का परीक्षण पारिवारिक पृष्ठभूमि के कारण इनमें भ्रम होना आसान है। नीचे दिया गया आरेख दोनों भार प्रोफाइल की तुलना दर्शाता है।
| लोड परीक्षण | तनाव परीक्षण |
|---|---|
| लोड परीक्षण यह सामान्य कार्यभार स्थितियों के तहत सिस्टम के व्यवहार का परीक्षण करता है; यह वास्तविक अपेक्षित कार्यभार का अनुकरण करता है। | स्ट्रेस टेस्टिंग में सिस्टम के व्यवहार का परीक्षण चरम स्थितियों में किया जाता है और यह तब तक किया जाता है जब तक कि सिस्टम विफल न हो जाए। |
| लोड टेस्टिंग से सिस्टम खराब नहीं होता। | स्ट्रेस टेस्टिंग जानबूझकर सिस्टम को डेटा से भरकर या संसाधनों से वंचित करके उसे तोड़ने की कोशिश करती है। |
संबंधित प्रोफाइल में शामिल हैं स्पाइक परीक्षण (अचानक थोड़े समय के लिए होने वाला विस्फोट), वॉल्यूम परीक्षण (कई उपयोगकर्ताओं के बजाय बड़ा डेटा) और स्केलेबिलिटी परीक्षण (विकास की गुंजाइश)।
तनाव परीक्षण के प्रकार
नीचे स्ट्रेस टेस्टिंग के प्रकारों को एक-एक करके समझाया गया है।
वितरित तनाव परीक्षण
वितरित क्लाइंट-सर्वर सिस्टम में, सर्वर से सभी क्लाइंट्स पर परीक्षण किया जाता है। स्ट्रेस सर्वर की भूमिका सभी स्ट्रेस क्लाइंट्स को स्ट्रेस टेस्ट का एक सेट वितरित करना और tracप्रत्येक क्लाइंट की स्थिति की निगरानी की जाती है। क्लाइंट द्वारा सर्वर से संपर्क करने के बाद, सर्वर क्लाइंट का नाम जोड़ता है और परीक्षण के लिए डेटा भेजना शुरू कर देता है। नीचे दिया गया चित्र दर्शाता है कि कैसे स्ट्रेस सर्वर कुछ क्लाइंट तक पहुँच पाता है लेकिन दूसरों तक नहीं।
इस बीच, क्लाइंट मशीनें एक सिग्नल या हार्टबीट भेजकर पुष्टि करती हैं कि वे अभी भी सर्वर से कनेक्टेड हैं। यदि सर्वर को किसी क्लाइंट मशीन से कोई सिग्नल प्राप्त नहीं होता है, तो उस मशीन की आगे जांच करके डिबगिंग करनी होगी। चित्र में, सर्वर 2 क्लाइंट (क्लाइंट 1 और क्लाइंट 2) से कनेक्ट हो सकता है, लेकिन यह क्लाइंट 3 और क्लाइंट 4 से सिग्नल भेज या प्राप्त नहीं कर सकता है।
इन स्ट्रेस टेस्टिंग परिदृश्यों के लिए रात्रिकालीन परीक्षण सर्वोत्तम विकल्प है। बड़े सर्वर फ़ार्मों को यह निर्धारित करने के लिए अधिक कुशल विधि की आवश्यकता होती है कि किन कंप्यूटरों में तनाव संबंधी विफलताएँ हुई हैं जिनकी जाँच की जानी चाहिए।
अनुप्रयोग तनाव परीक्षण
यह परीक्षण किसी एक एप्लिकेशन में डेटा लॉकिंग और ब्लॉकिंग, नेटवर्क संबंधी समस्याओं और प्रदर्शन संबंधी बाधाओं से संबंधित दोषों का पता लगाने पर केंद्रित है।
लेनदेन तनाव परीक्षण
यह दो या दो से अधिक अनुप्रयोगों के बीच एक या अधिक लेनदेन पर स्ट्रेस टेस्टिंग करता है। इसका उपयोग सिस्टम को बेहतर बनाने और अनुकूलित करने के लिए किया जाता है।
प्रणालीगत तनाव परीक्षण
यह एकीकृत स्ट्रेस टेस्टिंग है जिसे एक ही सर्वर साझा करने वाले कई सिस्टमों पर चलाया जा सकता है। इसका उपयोग उन दोषों को खोजने के लिए किया जाता है जहां एक एप्लिकेशन दूसरे एप्लिकेशन के डेटा को अवरुद्ध कर देता है।
अन्वेषणात्मक तनाव परीक्षण
यह एक प्रकार का स्ट्रेस टेस्टिंग है जिसका उपयोग सिस्टम को असामान्य मापदंडों या स्थितियों के साथ परीक्षण करने के लिए किया जाता है, जिनके वास्तविक परिदृश्य में होने की संभावना कम होती है। इसका उपयोग अप्रत्याशित स्थितियों में दोषों का पता लगाने के लिए किया जाता है, जैसे कि:
- एक ही समय में बड़ी संख्या में उपयोगकर्ताओं ने लॉग इन किया।
- सभी मशीनों पर एक साथ वायरस स्कैनर शुरू हो रहा है।
- किसी वेबसाइट से डेटाबेस को एक्सेस करते समय उसका ऑफ़लाइन हो जाना।
- डेटाबेस में एक साथ बड़ी मात्रा में डेटा डाला जा रहा है।
चाहे जो भी विकल्प लागू हो, निष्पादन क्रम वही रहता है।
तनाव परीक्षण कैसे करें?
स्ट्रेस टेस्टिंग प्रक्रिया को 5 मुख्य चरणों में पूरा किया जा सकता है:
- चरण 1) तनाव परीक्षण की योजना बनाना: यहां आप सिस्टम डेटा एकत्र करते हैं, सिस्टम का विश्लेषण करते हैं और स्ट्रेस टेस्ट के लक्ष्य निर्धारित करते हैं।
- चरण 2) स्वचालन स्क्रिप्ट बनाएं: इस चरण में, आप स्ट्रेस टेस्टिंग ऑटोमेशन स्क्रिप्ट बनाते हैं और स्ट्रेस परिदृश्यों के लिए परीक्षण डेटा उत्पन्न करते हैं।
- चरण 3) स्क्रिप्ट निष्पादन: इस चरण में, आप स्ट्रेस टेस्टिंग ऑटोमेशन स्क्रिप्ट चलाते हैं और स्ट्रेस के परिणामों को स्टोर करते हैं।
- चरण 4) परिणाम विश्लेषण: इस चरण में, आप स्ट्रेस टेस्ट के परिणामों का विश्लेषण करते हैं और बाधाओं की पहचान करते हैं।
- चरण 5) समायोजन और अनुकूलन: इस चरण में, आप वांछित बेंचमार्क को पूरा करने के लक्ष्य के साथ सिस्टम को बेहतर बनाते हैं, कॉन्फ़िगरेशन बदलते हैं और कोड को अनुकूलित करते हैं।
अंत में, वांछित परिणाम प्राप्त हुए हैं या नहीं, यह निर्धारित करने के लिए आप पूरी प्रक्रिया को फिर से चलाते हैं। उदाहरण के लिए, प्रदर्शन लक्ष्यों को प्राप्त करने से पहले स्ट्रेस टेस्टिंग प्रक्रिया के 3 से 4 चक्रों की आवश्यकता होना असामान्य नहीं है, इसलिए स्क्रिप्ट को आमतौर पर साथ-साथ बनाए रखा जाता है। प्रतीपगमन पर।
तनाव परीक्षण के लिए अनुशंसित उपकरण
नीचे दिए गए चार उपकरण अधिकांश आवश्यकताओं को पूरा करते हैं, जिनमें एंटरप्राइज सूट से लेकर एक निःशुल्क ओपन-सोर्स विकल्प तक शामिल हैं।
लोडरनर
लोडरनर यह एक व्यापक रूप से उपयोग किया जाने वाला लोड टेस्टिंग टूल है, जिसे अब बेचा जाता है। OpenText एचपी से माइक्रो फोकस में स्थानांतरित होने के बाद प्रोफेशनल, एंटरप्राइज और क्लाउड संस्करणों में OpenTextLoadRunner द्वारा उत्पन्न लोड परीक्षण परिणामों को एक बेंचमार्क के रूप में माना जाता है।
JMeter
Apache JMeter यह एक ओपन-सोर्स टेस्टिंग टूल है। यह पूरी तरह से एक ओपन-सोर्स टेस्टिंग टूल है। Java यह एप्लिकेशन स्ट्रेस और परफॉर्मेंस टेस्टिंग के लिए है, और इसका उद्देश्य लोड, फंक्शनल और स्ट्रेस जैसे टेस्ट प्रकारों को कवर करना है। वर्तमान 5.6.x रिलीज़ Apache JMeter की आवश्यकता होती है Java 8 या उसके बाद, साथ Java 17 अनुशंसित।
तनाव परीक्षक
यह टूल वेब एप्लिकेशन के प्रदर्शन का व्यापक विश्लेषण प्रदान करता है, परिणामों को ग्राफ़िकल प्रारूप में प्रस्तुत करता है, और इसका उपयोग करना सरल है। इसमें किसी उच्च-स्तरीय स्क्रिप्टिंग की आवश्यकता नहीं होती है, जिससे निवेश पर लाभ कम रहता है।tracछोटी टीमों के लिए उपयुक्त।
Neoभार
Neoभार, अब का हिस्सा है Tricentis पोर्टफोलियो, वेब और परीक्षण के लिए एक लोकप्रिय उपकरण है। मोबाइल एप्लीकेशनयह लोड के तहत एप्लिकेशन के प्रदर्शन का मूल्यांकन करने और प्रतिक्रिया समय का विश्लेषण करने के लिए हजारों उपयोगकर्ताओं का अनुकरण कर सकता है। यह क्लाउड-एकीकृत प्रदर्शन, लोड और स्ट्रेस टेस्टिंग का भी समर्थन करता है और इसकी स्केलिंग क्षमता भी अच्छी है।
गाइड में और भी विकल्प दिए गए हैं। प्रदर्शन परीक्षण उपकरणइनमें से जो भी विकल्प चुना जाए, उसका परिणाम केवल नीचे दिए गए मापदंडों के संदर्भ में ही मायने रखता है।
तनाव परीक्षण के लिए मीट्रिक्स
मैट्रिक्स किसी सिस्टम के प्रदर्शन का मूल्यांकन करने में सहायक होते हैं और आमतौर पर स्ट्रेस टेस्ट के अंत में इनका अध्ययन किया जाता है। आमतौर पर उपयोग किए जाने वाले मैट्रिक्स को तीन श्रेणियों में बांटा गया है।
स्केलेबिलिटी और प्रदर्शन का मापन
- पेज प्रति सेकंड: यह प्रति सेकंड अनुरोधित पृष्ठों की संख्या को मापता है।
- प्रवाह क्षमता: एक बुनियादी मापदंड — प्रति सेकंड प्रतिक्रिया डेटा का आकार।
- राउंड: परीक्षण परिदृश्यों की योजना बनाने की संख्या बनाम ग्राहक द्वारा उन्हें निष्पादित करने की संख्या।
आवेदन प्रतिक्रिया
- हिट टाइम: किसी छवि या पृष्ठ को प्राप्त करने में लगने वाला औसत समय।
- प्रथम बाइट तक का समय: डेटा या जानकारी का पहला बाइट वापस करने में लगा समय।
- पृष्ठ समय: किसी पृष्ठ पर मौजूद सभी जानकारी को पुनः प्राप्त करने में लगने वाला समय।
विफलताओं
- कनेक्शन विफल: क्लाइंट द्वारा अस्वीकृत असफल कनेक्शनों की संख्या (कमजोर सिग्नल)।
- असफल दौर: असफल दौरों की संख्या।
- असफल प्रयास: सिस्टम द्वारा असफल प्रयासों की संख्या (टूटे हुए लिंक या अदृश्य छवियां)।
अंतिम खंड में उन स्थितियों की सूची दी गई है जो अक्सर स्ट्रेस टेस्ट को उचित ठहराती हैं।
स्ट्रेस टेस्टिंग के उदाहरण
जब भी किसी घटना से दैनिक सामान्य स्तर से कहीं अधिक ट्रैफिक बढ़ने की उम्मीद होती है, तो स्ट्रेस टेस्टिंग का महत्व स्पष्ट हो जाता है:
- एक ई-कॉमर्स वेबसाइट त्योहारों के दौरान लगने वाली सेल की घोषणा कर रही है।
- किसी महत्वपूर्ण घटना के समय की एक समाचार वेबसाइट।
- एक शिक्षा बोर्ड परीक्षा परिणाम प्रकाशित करता है।
- किसी वायरल घटना के दौरान सोशल नेटवर्किंग साइट्स, ब्लॉग और मोबाइल ऐप्स का उपयोग।
प्रत्येक मामले में, परीक्षण मेमोरी, प्रोसेसर और नेटवर्क जैसे संसाधनों की निगरानी करता है, यह जांचता है कि तनाव की स्थिति में उचित त्रुटि संदेश दिखाई देते हैं या नहीं, और यह पुष्टि करता है कि सिस्टम बाद में सामान्य स्थिति में लौट आता है। यह इसमें फिट बैठता है। सॉफ्टवेयर परीक्षण जीवन चक्र एक गैर-कार्यात्मक जाँच के साथ सिस्टम परीक्षण और व्यापक समूह सॉफ्टवेयर परीक्षण के प्रकार.

.png)
.png)

