सॉफ्टवेयर परीक्षण में STRESS परीक्षण क्या है?
तनाव परीक्षण
तनाव परीक्षण यह सॉफ्टवेयर परीक्षण का एक प्रकार है जो सॉफ्टवेयर एप्लीकेशन की स्थिरता और विश्वसनीयता की पुष्टि करता है। तनाव परीक्षण का लक्ष्य अत्यधिक भारी लोड स्थितियों के तहत सॉफ्टवेयर की मजबूती और त्रुटि प्रबंधन क्षमताओं को मापना है और यह सुनिश्चित करना है कि सॉफ्टवेयर क्रंच स्थितियों में क्रैश न हो। यह सामान्य ऑपरेटिंग पॉइंट से परे भी परीक्षण करता है और मूल्यांकन करता है कि सॉफ्टवेयर चरम स्थितियों में कैसे काम करता है।
सॉफ्टवेयर इंजीनियरिंग में, तनाव परीक्षण को इस नाम से भी जाना जाता है सहनशक्ति परीक्षणतनाव परीक्षण के तहत, AUT को इसकी सहन क्षमता जानने के लिए थोड़े समय के लिए तनाव दिया जाता है। तनाव परीक्षण का उद्देश्य उस सीमा को निर्धारित करना है, जिस पर सिस्टम या सॉफ्टवेयर या हार्डवेयर टूट जाता हैयह इस बात की भी जांच करता है कि क्या सिस्टम चरम स्थितियों में प्रभावी त्रुटि प्रबंधन प्रदर्शित करता है।
परीक्षण के तहत आवेदन तब तनावग्रस्त हो जाएगा जब वेबसाइट से 5GB डेटा कॉपी करके नोटपैड में पेस्ट किया जाएगा। नोटपैड तनाव में है और 'Not Responded' त्रुटि संदेश देता है।
तनाव परीक्षण की आवश्यकता
निम्नलिखित वास्तविक समय उदाहरणों पर विचार करें जहां हम तनाव परीक्षण के उपयोग की खोज कर सकते हैं-
- त्यौहारों के समय, या जब कोई ऑनलाइन शॉपिंग साइट सेल की घोषणा करती है, तो उस पर ट्रैफिक में वृद्धि देखी जा सकती है।
- जब किसी ब्लॉग का उल्लेख किसी प्रमुख समाचार पत्र में होता है, तो उस पर ट्रैफिक में अचानक वृद्धि हो जाती है।
इस तरह के असामान्य ट्रैफ़िक स्पाइक्स को समायोजित करने के लिए स्ट्रेस टेस्टिंग करना ज़रूरी है। इस अचानक ट्रैफ़िक को समायोजित करने में विफलता से राजस्व और प्रतिष्ठा का नुकसान हो सकता है।
तनाव परीक्षण निम्नलिखित कारणों से भी अत्यंत मूल्यवान है:
- यह जांचने के लिए कि क्या सिस्टम असामान्य परिस्थितियों में काम करता है।
- जब सिस्टम तनाव में हो तो उचित त्रुटि संदेश प्रदर्शित करना।
- चरम स्थितियों में सिस्टम विफलता से भारी राजस्व हानि हो सकती है
- तनाव परीक्षण करके चरम स्थितियों के लिए तैयार रहना बेहतर है।
तनाव परीक्षण के लक्ष्य
तनाव परीक्षण का लक्ष्य विफलता के बाद सिस्टम के व्यवहार का विश्लेषण करना है। तनाव परीक्षण के सफल होने के लिए, सिस्टम को चरम स्थितियों में होने पर उचित त्रुटि संदेश प्रदर्शित करना चाहिए।
स्ट्रेस टेस्टिंग करने के लिए, कभी-कभी, बहुत बड़े डेटा सेट का इस्तेमाल किया जा सकता है जो स्ट्रेस टेस्टिंग के दौरान खो सकता है। परीक्षकों को स्ट्रेस टेस्टिंग करते समय इस सुरक्षा-संबंधी डेटा को नहीं खोना चाहिए।
तनाव परीक्षण का मुख्य उद्देश्य यह सुनिश्चित करना है कि सिस्टम विफलता के बाद ठीक हो जाए जिसे कहा जाता है वसूली.
लोड परीक्षण बनाम तनाव परीक्षण
लोड परीक्षण | तनाव परीक्षण |
---|---|
लोड परीक्षण सामान्य कार्यभार की स्थिति में सिस्टम व्यवहार का परीक्षण करना है, और यह वास्तविक कार्यभार के साथ परीक्षण या अनुकरण मात्र है | तनाव परीक्षण का उद्देश्य चरम स्थितियों में सिस्टम के व्यवहार का परीक्षण करना है और इसे सिस्टम की विफलता तक किया जाता है। |
लोड परीक्षण से सिस्टम ख़राब नहीं होता | तनाव परीक्षण अत्यधिक डेटा या संसाधनों के साथ परीक्षण करके सिस्टम को तोड़ने का प्रयास करता है। |
तनाव परीक्षण के प्रकार
तनाव परीक्षण के प्रकार निम्नलिखित हैं और इन्हें इस प्रकार समझाया गया है:
वितरित तनाव परीक्षण:
वितरित क्लाइंट-सर्वर सिस्टम में, सर्वर से सभी क्लाइंट पर परीक्षण किया जाता है। स्ट्रेस सर्वर की भूमिका सभी स्ट्रेस क्लाइंट को स्ट्रेस टेस्ट का एक सेट वितरित करना और क्लाइंट की स्थिति पर नज़र रखना है। क्लाइंट द्वारा सर्वर से संपर्क करने के बाद, सर्वर क्लाइंट का नाम जोड़ता है और परीक्षण के लिए डेटा भेजना शुरू करता है।
इस बीच, क्लाइंट मशीनें सिग्नल या हार्टबीट भेजती हैं कि यह सर्वर से जुड़ा हुआ है। यदि सर्वर को क्लाइंट मशीन से कोई सिग्नल नहीं मिलता है, तो इसे डीबगिंग के लिए आगे की जांच करने की आवश्यकता है। चित्र से, एक सर्वर 2 क्लाइंट (क्लाइंट 1 और क्लाइंट 2) से जुड़ सकता है, लेकिन यह क्लाइंट 3 और 4 से सिग्नल भेज या प्राप्त नहीं कर सकता है।
इन तनाव परीक्षण परिदृश्यों को चलाने के लिए नाइट रन सबसे अच्छा विकल्प है। बड़े सर्वर फ़ार्म को यह निर्धारित करने के लिए अधिक कुशल विधि की आवश्यकता होती है कि किन कंप्यूटरों में तनाव विफलताएँ हुई हैं जिनकी जाँच की जानी चाहिए।
अनुप्रयोग तनाव परीक्षण:
यह परीक्षण किसी अनुप्रयोग में डेटा लॉकिंग और ब्लॉकिंग, नेटवर्क समस्याओं और प्रदर्शन संबंधी बाधाओं से संबंधित दोषों को खोजने पर केंद्रित होता है।
लेन-देन संबंधी तनाव परीक्षण:
यह दो या अधिक अनुप्रयोगों के बीच एक या अधिक लेनदेन पर तनाव परीक्षण करता है। इसका उपयोग सिस्टम को ठीक करने और अनुकूलित करने के लिए किया जाता है।
प्रणालीगत तनाव परीक्षण:
यह एकीकृत तनाव परीक्षण है जिसे एक ही सर्वर पर चल रहे कई सिस्टम पर परीक्षण किया जा सकता है। इसका उपयोग उन दोषों को खोजने के लिए किया जाता है जहाँ एक एप्लिकेशन डेटा दूसरे एप्लिकेशन को ब्लॉक करता है।
खोजपूर्ण तनाव परीक्षण:
यह तनाव परीक्षण के प्रकारों में से एक है जिसका उपयोग असामान्य मापदंडों या स्थितियों के साथ सिस्टम का परीक्षण करने के लिए किया जाता है जो वास्तविक परिदृश्य में होने की संभावना नहीं है। इसका उपयोग अप्रत्याशित परिदृश्यों में दोषों को खोजने के लिए किया जाता है जैसे
- एक ही समय में बड़ी संख्या में उपयोगकर्ता लॉग इन हुए
- यदि सभी मशीनों में एक साथ वायरस स्कैनर चालू हो जाए
- यदि किसी वेबसाइट से एक्सेस करने पर डेटाबेस ऑफ़लाइन हो गया है,
- जब डेटाबेस में एक साथ बड़ी मात्रा में डेटा डाला जाता है
तनाव परीक्षण कैसे करें?
तनाव परीक्षण प्रक्रिया 5 प्रमुख चरणों में की जा सकती है:
चरण 1) तनाव परीक्षण की योजना बनाना: यहां आप सिस्टम डेटा एकत्र करते हैं, सिस्टम का विश्लेषण करते हैं, तनाव परीक्षण लक्ष्यों को परिभाषित करते हैं
चरण 2) स्वचालन स्क्रिप्ट बनाएं: इस चरण में, आप तनाव परीक्षण स्वचालन स्क्रिप्ट बनाते हैं, तनाव परिदृश्यों के लिए परीक्षण डेटा उत्पन्न करते हैं।
चरण 3) स्क्रिप्ट निष्पादन: इस चरण में, आप तनाव परीक्षण स्वचालन स्क्रिप्ट चलाते हैं और तनाव परिणामों को संग्रहीत करते हैं।
चरण 4) परिणाम विश्लेषण: इस चरण में, आप तनाव परीक्षण के परिणामों का विश्लेषण करते हैं और बाधाओं की पहचान करते हैं।
चरण 5) सुधार और अनुकूलन: इस चरण में, आप सिस्टम को ठीक करते हैं, कॉन्फ़िगरेशन बदलते हैं, वांछित बेंचमार्क को पूरा करने के लक्ष्य के साथ कोड को अनुकूलित करते हैं।
अंत में, आप यह निर्धारित करने के लिए फिर से पूरा चक्र चलाते हैं कि बदलावों ने वांछित परिणाम दिए हैं या नहीं। उदाहरण के लिए, प्रदर्शन लक्ष्यों को प्राप्त करने के लिए तनाव परीक्षण प्रक्रिया के 3 से 4 चक्रों का होना असामान्य नहीं है
तनाव परीक्षण के लिए अनुशंसित उपकरण
लोडरनर
HP का लोडरनर एक व्यापक रूप से इस्तेमाल किया जाने वाला लोड परीक्षण उपकरण है। लोडरनर द्वारा तैयार किए गए लोड परीक्षण परिणामों को बेंचमार्क माना जाता है।
JMeter
Jmeter एक ओपन सोर्स परीक्षण उपकरण है। यह एक शुद्ध Java तनाव और के लिए आवेदन प्रदर्शन का परीक्षण. Jmeter का उद्देश्य लोड, कार्यात्मक, तनाव आदि जैसे परीक्षणों के प्रकारों को कवर करना है। इसे कार्य करने के लिए JDK 5 या उच्चतर की आवश्यकता है।
तनाव परीक्षक
यह टूल वेब एप्लिकेशन के प्रदर्शन का व्यापक विश्लेषण प्रदान करता है, ग्राफ़िकल प्रारूप में परिणाम प्रदान करता है, और इसका उपयोग करना बेहद आसान है। किसी उच्च-स्तरीय स्क्रिप्टिंग की आवश्यकता नहीं है और यह निवेश पर अच्छा रिटर्न देता है।
Neo भार
यह वेब और इंटरनेट का परीक्षण करने के लिए बाजार में उपलब्ध एक लोकप्रिय उपकरण है। मोबाइल अनुप्रयोग। यह उपकरण लोड के तहत अनुप्रयोग प्रदर्शन का मूल्यांकन करने और प्रतिक्रिया समय का विश्लेषण करने के लिए हजारों उपयोगकर्ताओं का अनुकरण कर सकता है। यह क्लाउड-एकीकृत - प्रदर्शन, लोड और तनाव परीक्षण का भी समर्थन करता है। इसका उपयोग करना आसान है, लागत प्रभावी है और अच्छी मापनीयता प्रदान करता है।
तनाव परीक्षण के लिए मीट्रिक्स
मेट्रिक्स सिस्टम के प्रदर्शन का मूल्यांकन करने में मदद करते हैं और आम तौर पर स्ट्रेस टेस्ट के अंत में इसका अध्ययन किया जाता है। आमतौर पर इस्तेमाल किए जाने वाले मेट्रिक्स हैं -
मापनीयता और प्रदर्शन मापना
- प्रति सेकंड पृष्ठ: यह मापता है कि प्रति सेकंड कितने पृष्ठों का अनुरोध किया गया है
- थ्रूपुट: बेसिक मीट्रिक – प्रतिक्रिया डेटा आकार/सेकंड
- राउंड: परीक्षण परिदृश्यों की योजना बनाने की संख्या बनाम क्लाइंट द्वारा निष्पादित किए जाने की संख्या
आवेदन प्रतिक्रिया
- हिट समय: एक छवि या पृष्ठ को पुनः प्राप्त करने में लगने वाला औसत समय
- पहले बाइट तक का समय: डेटा या सूचना के पहले बाइट को वापस करने में लगने वाला समय
- पृष्ठ समय: किसी पृष्ठ की सभी जानकारी प्राप्त करने में समय लगता है
विफलताओं
- विफल कनेक्शन: क्लाइंट द्वारा अस्वीकार किए गए विफल कनेक्शनों की संख्या (कमज़ोर Signal)
- असफल राउंड: असफल राउंड की संख्या
- असफल हिट्स: सिस्टम द्वारा किए गए असफल प्रयासों की संख्या (टूटे हुए लिंक या अनदेखी छवियां)
निष्कर्ष
तनाव परीक्षण का उद्देश्य चरम स्थितियों में सिस्टम की जाँच करना है। यह मेमोरी, प्रोसेसर, नेटवर्क आदि जैसे सिस्टम संसाधनों की निगरानी करता है, और सिस्टम की सामान्य स्थिति में वापस आने की क्षमता की जाँच करता है। यह जाँचता है कि सिस्टम तनाव के दौरान उचित त्रुटि संदेश प्रदर्शित करता है या नहीं।
तनाव परीक्षण का उदाहरण
- ई-कॉमर्स वेबसाइट ने फेस्टिवल सेल की घोषणा की
- कुछ प्रमुख घटनाओं के समय समाचार वेबसाइट
- शिक्षा बोर्ड की रिजल्ट वेबसाइट
- सोशल नेटवर्किंग साइट या ब्लॉग, ऐप, आदि