stress testing guide
शुरुआती लोगों के लिए एक व्यापक तनाव परीक्षण गाइड:
एक बिंदु से परे कुछ भी करने से मनुष्यों, मशीन या एक कार्यक्रम में गंभीर परिणाम होते हैं। यह या तो गंभीर नुकसान का कारण बनता है या इसे पूरी तरह से तोड़ देता है।
इसी तरह, इस ट्यूटोरियल में, हम सीखेंगे कि इसके प्रभाव के साथ-साथ वेब अनुप्रयोगों का परीक्षण कैसे करें।
अपने ऐप्स या वेबसाइटों को किसी भी स्थायी नुकसान से बचने के लिए जब उन्हें जोर दिया जाता है यानी बहुत अधिक लोड किया जाता है, तो हमें ऐसी स्थिति से बचने के लिए ब्रेकिंग पॉइंट खोजने और समाधान को बदलने की आवश्यकता होती है। जरा सोचिए कि जब क्रिसमस की सेल के दौरान आपकी शॉपिंग वेबसाइट डाउन हो जाएगी तो कैसा रहेगा। कितना होगा नुकसान?
नीचे सूचीबद्ध कुछ वास्तविक मामलों के उदाहरण हैं जहां एक ऐप या वेबसाइट का परीक्षण करने के लिए तनाव का अत्यधिक महत्व है:
सी ++ में रनटाइम बहुरूपता
# 1) वाणिज्यिक खरीदारी एप्लिकेशन या वेबसाइटों को तनाव परीक्षण करने की आवश्यकता होती है क्योंकि त्योहारों, बिक्री या विशेष ऑफ़र अवधि के दौरान लोड बहुत अधिक हो जाता है।
#दो) वित्तीय ऐप्स या वेबसाइटों को तनाव परीक्षण करने की आवश्यकता होती है क्योंकि लोड कई गुना बढ़ जाता है, जैसे जब कंपनी का शेयर ऊपर जाता है, तो बहुत सारे लोग भुगतान के लिए ऑनलाइन शॉपिंग वेबसाइट्स 'नेट-बैंकर्स' को दोबारा खरीदने या बेचने के लिए अपने खाते में लॉग इन करते हैं। आदि।
# 3) वेब या ईमेल एप्लिकेशन को तनाव परीक्षण करने की आवश्यकता है।
# 4) सोशल नेटवर्किंग वेबसाइट या ऐप, ब्लॉग आदि, तनाव परीक्षण आदि की आवश्यकता है।
आप क्या सीखेंगे:
- तनाव परीक्षण क्या है और हम तनाव परीक्षण क्यों करते हैं?
- तनाव परीक्षण के लिए रणनीति
- मोबाइल ऐप्स के लिए तनाव परीक्षण
- लोड परीक्षण और तनाव परीक्षण के बीच अंतर
- नमूना परीक्षण मामले
- 5 सर्वश्रेष्ठ तनाव परीक्षण सॉफ्टवेयर
- निष्कर्ष
- अनुशंसित पाठ
तनाव परीक्षण क्या है और हम तनाव परीक्षण क्यों करते हैं?
तनाव परीक्षण को हार्डवेयर या सॉफ्टवेयर के परीक्षण की प्रक्रिया के रूप में परिभाषित किया गया है ताकि भारी भार की स्थिति में इसकी स्थिरता बनी रहे। यह परीक्षण संख्यात्मक बिंदु को खोजने के लिए किया जाता है जब सिस्टम टूट जाएगा (कई उपयोगकर्ताओं और सर्वर अनुरोधों के संदर्भ में) और उसी के लिए संबंधित त्रुटि से निपटने।
तनाव परीक्षण के दौरान, ब्रेकिंग पॉइंट को सत्यापित करने और यह देखने के लिए कि कितनी अच्छी तरह से त्रुटि से निपटने के लिए परीक्षण (AUT) के तहत एप्लिकेशन को एक निश्चित समय के लिए भारी भार के साथ बमबारी की जाती है।
उदाहरण: जब आप 7-8 GB की फ़ाइल को कॉपी करने का प्रयास करते हैं, तो MS Word onding नॉट रिस्पॉन्सिंग ’त्रुटि संदेश दे सकता है।
आपने एक विशाल आकार की फ़ाइल के साथ Word पर बमबारी की है और यह इतनी बड़ी फ़ाइल को संसाधित नहीं कर सकता है और परिणामस्वरूप, इसे लटका दिया जाता है। जब हम जवाब देना बंद करते हैं, तो हम आम तौर पर टास्क मैनेजर के ऐप्स को मार देते हैं, इसके पीछे कारण यह है कि ऐप्स तनाव में आ जाते हैं और जवाब देना बंद कर देते हैं।
तनाव परीक्षण करने के पीछे कुछ तकनीकी कारण निम्नलिखित हैं:
- असामान्य या अत्यधिक लोड की स्थिति के तहत सिस्टम व्यवहार को सत्यापित करने के लिए।
- उपयोगकर्ताओं के संख्यात्मक मूल्य, अनुरोधों आदि को खोजने के लिए, जिसके बाद सिस्टम टूट सकता है।
- उपयुक्त संदेश दिखाकर धैर्यपूर्वक त्रुटि को संभालें।
- ऐसी परिस्थितियों के लिए अच्छी तरह से तैयार होना और एहतियाती उपाय करना जैसे कि कोड सफाई, डीबी सफाई, आदि।
- सिस्टम के टूटने से पहले डेटा हैंडलिंग को सत्यापित करने के लिए यानी यह देखने के लिए कि डेटा हटाया गया था, सहेजा गया था या नहीं आदि।
- ऐसी टूटने की स्थिति आदि के तहत सुरक्षा खतरे को सत्यापित करना।
तनाव परीक्षण के लिए रणनीति
यह एक प्रकार का गैर-कार्यात्मक परीक्षण है और यह परीक्षण आमतौर पर किसी वेबसाइट या ऐप के कार्यात्मक परीक्षण पूरा होने के बाद किया जाता है। परीक्षण के मामले, परीक्षण करने का तरीका और यहां तक कि परीक्षण करने के उपकरण भी कई बार भिन्न हो सकते हैं।
निम्नलिखित कुछ संकेत हैं जो आपको अपनी परीक्षण प्रक्रिया को रणनीतिक बनाने में मदद करेंगे:
- परिदृश्यों, कार्यात्मकताओं आदि की पहचान करें, जो सबसे अधिक एक्सेस किए जाएंगे और सिस्टम को तोड़ सकते हैं। एक वित्तीय ऐप के लिए, सबसे अधिक इस्तेमाल की जाने वाली कार्यक्षमता पैसे स्थानांतरित कर रही है।
- उस लोड को पहचानें जो सिस्टम किसी दिए गए दिन पर अनुभव कर सकता है यानी अधिकतम और न्यूनतम दोनों।
- एक अलग बनाएँ जाँच की योजना , परिदृश्य, टेस्ट केस और टेस्ट सूट।
- विभिन्न मेमोरी, प्रोसेसर आदि के साथ परीक्षण के लिए 3-4 विभिन्न कंप्यूटर सिस्टम का उपयोग करें।
- विभिन्न संस्करणों के साथ वेब एप्लिकेशन के लिए उपयोगकर्ता 3-4 विभिन्न ब्राउज़र।
- आदर्श रूप से, ब्रेकपॉइंट पर ब्रेकपॉइंट के नीचे का मान ढूंढें और ब्रेकपॉइंट के बाद का मूल्य (जब सिस्टम बिल्कुल भी जवाब नहीं देगा), इन के आसपास एक परीक्षण बिस्तर और डेटा बनाएं।
- वेब ऐप्स के मामले में, धीमे नेटवर्क के साथ भी तनाव का प्रयास करें।
- केवल एक या दो राउंड में परीक्षणों के निष्कर्ष पर न जाएं, कम से कम 5 राउंड के लिए समान परीक्षणों को निष्पादित करें और फिर अपने निष्कर्षों को समाप्त करें।
- वेब सर्वर के आदर्श प्रतिक्रिया समय का पता लगाएं और ब्रेकपॉइंट पर क्या समय है।
- ऐप के विभिन्न बिंदुओं पर ब्रेकिंग पॉइंट पर ऐप व्यवहार ढूंढें जैसे कि ऐप लॉन्च करते समय, लॉग-इन करना, कुछ एक्शन पोस्ट पोस्ट करना आदि।
मोबाइल ऐप्स के लिए तनाव परीक्षण
देशी मोबाइल ऐप्स के लिए तनाव परीक्षण वेब ऐप्स से थोड़ा अलग है। देशी ऐप्स में, विशाल डेटा जोड़कर आमतौर पर उपयोग की जाने वाली स्क्रीन के लिए एक तनाव परीक्षण किया जाता है।
कुछ सत्यापन निम्नलिखित हैं जो देशी मोबाइल एप्लिकेशन के लिए इस परीक्षण के एक भाग के रूप में किए गए हैं:
- बड़ा डेटा दिखाए जाने पर ऐप क्रैश नहीं होता है। जैसे एक ईमेल ऐप के लिए, लगभग 4-5 लाख प्राप्त किए गए ईमेल कार्ड, शॉपिंग ऐप्स के लिए, समान मात्रा में आइटम कार्ड आदि।
- स्क्रॉल करना नि: शुल्क है और ऊपर या नीचे स्क्रॉल करते समय एप्लिकेशन लटका नहीं है।
- उपयोगकर्ता को कार्ड का विवरण देखने में सक्षम होना चाहिए या विशाल सूची से कार्ड पर कुछ कार्रवाई करनी चाहिए।
- ऐप से सर्वर पर लाखों अपडेट भेजना जैसे किसी आइटम को, पसंदीदा ’के रूप में चिह्नित करना, किसी आइटम को शॉपिंग कार्ट में जोड़ना आदि।
- 2G नेटवर्क पर विशाल डेटा के साथ ऐप को लोड करने का प्रयास करें, जब ऐप लटका या क्रैश हो जाए, तो उसे एक उपयुक्त संदेश दिखाना चाहिए।
- जब विशाल डेटा और धीमे 2G नेटवर्क आदि हों तो परिदृश्य के अंत का प्रयास करें।
मोबाइल एप्लिकेशन पर परीक्षण के लिए आपकी रणनीति निम्नलिखित होनी चाहिए:
- उन स्क्रीन की पहचान करें जिनमें कार्ड, चित्र आदि हैं, ताकि उन स्क्रीन को विशाल डेटा के साथ लक्षित किया जा सके।
- इसी तरह, उन फंक्शनालिटीज की पहचान करें जिन्हें सबसे ज्यादा इस्तेमाल किया जाएगा।
- परीक्षण बिस्तर बनाते समय, मध्यम और निम्न-अंत फोन का उपयोग करने का प्रयास करें।
- समानांतर उपकरणों पर एक साथ परीक्षण करने का प्रयास करें।
- एमुलेटर और सिमुलेटर पर इस परीक्षण से बचें।
- वाईफ़ाई कनेक्शन पर परीक्षण से बचें क्योंकि वे मजबूत हैं।
- मैदान आदि में कम से कम एक तनाव परीक्षण चलाने की कोशिश करें।
लोड परीक्षण और तनाव परीक्षण के बीच अंतर
क्र.सं. | तनाव परीक्षण | लोड परीक्षण |
---|---|---|
1 | यह परीक्षण प्रणाली के ब्रेकिंग पॉइंट का पता लगाने के लिए किया जाता है। | यह परीक्षण अपेक्षित लोड के तहत सिस्टम के प्रदर्शन को सत्यापित करने के लिए किया जाता है। |
दो | यह परीक्षण यह पता लगाने के लिए किया जाता है कि क्या सिस्टम अपेक्षा के अनुरूप व्यवहार करेगा कि क्या लोड सामान्य सीमा से परे चला जाता है। | यह परीक्षण अपेक्षित विशिष्ट लोड के लिए सर्वर की प्रतिक्रिया समय की जांच करने के लिए किया जाता है। |
३ | इस परीक्षण में त्रुटि से निपटने को भी सत्यापित किया गया है। | त्रुटि हैंडलिंग तीव्रता से परीक्षण नहीं किया गया है। |
४ | यह सुरक्षा खतरों, मेमोरी लीक आदि की भी जाँच करता है। | ऐसी कोई भी परीक्षा अनिवार्य नहीं है। |
५ | सिस्टम की स्थिरता की जाँच करता है। | सिस्टम की विश्वसनीयता की जाँच करता है। |
६ | परीक्षण अधिकतम से अधिक के साथ किया जाता है। उपयोगकर्ताओं, अनुरोधों आदि का संभव सं। | परीक्षण उपयोगकर्ताओं, अनुरोधों आदि की अधिकतम संख्या के साथ किया जाता है। |
तनाव परीक्षण बनाम लोड परीक्षण
नमूना परीक्षण मामले
आपके परीक्षण के लिए आपके द्वारा बनाए गए परीक्षण मामले आवेदन और उसकी आवश्यकताओं पर निर्भर करेंगे। परीक्षण मामलों को बनाने से पहले, सुनिश्चित करें कि आप फ़ोकस क्षेत्रों को जानते हैं यानी कि फ़ंक्शंस जो एक असामान्य भार की स्थिति के तहत टूटेंगे।
कुछ नमूना परीक्षण मामले निम्नलिखित हैं जिन्हें आप अपने परीक्षण में शामिल कर सकते हैं:
- सत्यापित करें कि जब सिस्टम ब्रेकपॉइंट तक पहुंचता है तो एक उचित त्रुटि संदेश दिखाया जाता है यानी अधिकतम संख्या को पार कर जाता है। अनुमति उपयोगकर्ताओं या अनुरोधों की।
- रैम, प्रोसेसर, और नेटवर्क आदि के विभिन्न संयोजनों के लिए उपरोक्त परीक्षण मामले की जाँच करें।
- सत्यापित करें कि जब सिस्टम अधिकतम उम्मीद के मुताबिक काम करता है। उपयोगकर्ताओं या अनुरोधों पर कार्रवाई की जा रही है। इसके अलावा रैम, प्रोसेसर, और नेटवर्क आदि के विभिन्न संयोजनों के लिए उपरोक्त परीक्षण मामले की जाँच करें।
- सत्यापित करें कि अनुमति से अधिक नं। उपयोगकर्ता या अनुरोध एक ही ऑपरेशन कर रहे हैं (जैसे खरीदारी की वेबसाइट से सामान खरीदना या धन हस्तांतरण आदि) और यदि सिस्टम गैर-जिम्मेदार हो जाता है, तो डेटा के बारे में एक उचित त्रुटि संदेश दिखाया जाता है (सहेजा नहीं गया? - निर्भर करता है) कार्यान्वयन)।
- अनुमति से अधिक नहीं की जाँच करें। उपयोगकर्ता या अनुरोध अलग-अलग ऑपरेशन कर रहे हैं (जैसे एक उपयोगकर्ता लॉग इन कर रहा है, एक उपयोगकर्ता ऐप या वेब लिंक लॉन्च कर रहा है, एक उपयोगकर्ता उत्पाद का चयन कर रहा है) और यदि सिस्टम गैर-जिम्मेदार हो जाता है, तो डेटा के बारे में एक उपयुक्त त्रुटि संदेश दिखाया जाता है (बचाया नहीं? - कार्यान्वयन पर निर्भर करता है)।
- यह सत्यापित करें कि बिंदु उपयोगकर्ता या अनुरोध को तोड़ने के लिए प्रतिक्रिया समय एक स्वीकृति मूल्य में है।
- नेटवर्क बहुत धीमा होने पर ऐप या वेबसाइट के प्रदर्शन को सत्यापित करें, the टाइमआउट ’की स्थिति के लिए एक उचित त्रुटि संदेश दिखाया जाना चाहिए।
- उपरोक्त सभी परीक्षण मामलों को एक सर्वर के लिए सत्यापित करें, जिसमें एक से अधिक एप्लिकेशन चल रहे हों ताकि यह जांचा जा सके कि क्या अन्य एप्लिकेशन प्रभावित होता है आदि।
परीक्षण निष्पादित करने से पहले, सुनिश्चित करें कि:
- परीक्षण के तहत आवेदन की सभी कार्यात्मक विफलताएं तय और सत्यापित हैं।
- परीक्षण प्रणाली के लिए पूर्ण अंत तैयार है और एकीकरण का परीक्षण किया गया है।
- कोई नया कोड चेक-इन जो परीक्षण को प्रभावित करेगा, किया जाता है।
- अन्य टीमों को आपके परीक्षण कार्यक्रम के बारे में सूचित किया जाता है।
- बैकअप सिस्टम कुछ गंभीर मुद्दों के मामले में बनाया जाता है।
5 सर्वश्रेष्ठ तनाव परीक्षण सॉफ्टवेयर
जब तनाव परीक्षण मैन्युअल रूप से किया जाता है, तो यह बहुत जटिल और थकाऊ काम है। यह आपको अपेक्षित परिणाम नहीं दे सकता है।
स्वचालन उपकरण आपको अपेक्षित परिणाम प्राप्त कर सकते हैं और उनका उपयोग करके आवश्यक परीक्षण बिस्तर बनाना अपेक्षाकृत आसान है। ऐसा हो सकता है कि जो उपकरण आप अपने सामान्य कार्यात्मक परीक्षण के लिए उपयोग कर रहे हैं, वे तनाव परीक्षण के लिए पर्याप्त न हों।
इसलिए यह आपके और आपकी टीम के लिए तय करना है कि क्या वे विशेष रूप से इस परीक्षण के लिए एक अलग उपकरण चाहते हैं। यह दूसरों के लिए भी फायदेमंद है कि आप रात में सुइट चलाएं ताकि उनका काम बाधित न हो। ऑटोमेशन टूल्स का उपयोग करके, आप रात में चलने के लिए सुइट को शेड्यूल कर सकते हैं और अगले दिन परिणाम आपके लिए तैयार होंगे।
निम्नलिखित सबसे अनुशंसित उपकरणों की एक सूची है:
# 1) लोड रनर:
लोडरनर एचपी द्वारा लोड परीक्षण के लिए डिज़ाइन किया गया एक उपकरण है, लेकिन इसका उपयोग तनाव परीक्षणों के लिए भी किया जा सकता है।
यह उपयोगकर्ताओं को बनाने और लोड और तनाव परीक्षण के लिए अनुरोधों के लिए वुजन यानी वर्चुअल यूजर जेनरेटर का उपयोग करता है। इस उपकरण में अच्छी विश्लेषण रिपोर्टें हैं जो रेखांकन, चार्ट आदि के रूप में परिणाम निकालने में मदद कर सकती हैं।
# 2) नेओलाड:
Neoload एक पेड टूल है जो वेब और मोबाइल ऐप्स के परीक्षण में सहायक है।
यह सिस्टम के प्रदर्शन को सत्यापित करने और सर्वर के प्रतिक्रिया समय को खोजने के लिए 1000 से अधिक उपयोगकर्ताओं को अनुकरण कर सकता है। यह लोड और तनाव परीक्षण दोनों के लिए क्लाउड के साथ एकीकृत करता है। यह अच्छा स्केलेबिलिटी प्रदान करता है और इसका उपयोग करना बहुत आसान है।
# 3) जेमीटर:
JMeter एक खुला स्रोत उपकरण है जो JDK 5 और इसके बाद के संस्करण के साथ काम करता है। इस टूल का फोकस ज्यादातर वेब एप्लिकेशन की टेस्टिंग पर है। इसका उपयोग LDAP, FTP, JDBC डेटाबेस कनेक्शन आदि के परीक्षण के लिए भी किया जा सकता है।
# 4) चक्की:
चक्की एक खुला स्रोत और जावा-आधारित उपकरण है जो लोड और तनाव परीक्षण के लिए उपयोग किया जाता है।
परीक्षण चालू होने के दौरान पैरामीटर को गतिशील रूप से किया जा सकता है। बेहतर तरीके से परिणामों का विश्लेषण करने में आपकी मदद करने के लिए इसकी अच्छी रिपोर्टिंग और दावे हैं। इसमें एक कंसोल है जिसे परीक्षण उद्देश्यों के लिए लोड बनाने के लिए परीक्षण और एजेंटों को बनाने और संपादित करने के लिए आईडीई के रूप में उपयोग किया जा सकता है।
लिनक्स के समान ही है
# 5) वेबलड:
वेबलोड उपकरण में एक मुफ्त और साथ ही एक भुगतान किया गया संस्करण भी है। यह मुफ्त संस्करण अधिकतम 50 उपयोगकर्ता निर्माण की अनुमति देता है।
यह टूल वेब और मोबाइल ऐप स्ट्रेस चेकिंग दोनों को सपोर्ट करता है। यह HTTP, HTTPS, PUSH, AJAX, HTML5, SOAP आदि जैसे विभिन्न प्रोटोकॉल का समर्थन करता है। इसमें एक IDE, लोड जेनरेशन कंसोल, विश्लेषण डैशबोर्ड, और इंटीग्रेशन (जेनकिंस, एपीएम टूल्स आदि के साथ एकीकृत करने के लिए) है।
निष्कर्ष
तनाव परीक्षण पूरी तरह से अपने ब्रेकिंग पॉइंट को खोजने के लिए चरम लोड की स्थिति के तहत सिस्टम का परीक्षण करने पर ध्यान केंद्रित करता है और यह देखता है कि सिस्टम अप्रतिसादी होने पर उपयुक्त संदेश दिखाए जाते हैं या नहीं। यह परीक्षण के दौरान मेमोरी, प्रोसेसर आदि पर जोर देता है और जाँचता है कि वे कितनी अच्छी तरह से ठीक हो गए हैं।
तनाव परीक्षण गैर-कार्यात्मक परीक्षण का एक प्रकार है और आमतौर पर कार्यात्मक परीक्षण के बाद किया जाता है। जब लोड परीक्षण की आवश्यकता होती है, तब यह परीक्षण लोड परीक्षण के चरम मामले के रूप में किया जा सकता है। 90% समय, एक ही स्वचालन उपकरण का उपयोग लोड और तनाव परीक्षण दोनों के लिए किया जा सकता है।
आशा है कि आप तनाव परीक्षण की अवधारणा में एक महान अंतर्दृष्टि प्राप्त करेंगे !!
अनुशंसित पाठ
- एचपी लोडरनर ट्यूटोरियल के साथ लोड परीक्षण
- प्रदर्शन परीक्षण बनाम लोड परीक्षण बनाम तनाव परीक्षण (अंतर)
- शुरुआती के लिए लोड टेस्टिंग कम्प्लीट गाइड
- सर्वश्रेष्ठ सॉफ्टवेयर परीक्षण उपकरण 2021 (क्यूए टेस्ट स्वचालन उपकरण)
- अल्फा परीक्षण और बीटा परीक्षण (एक पूर्ण गाइड)
- वेब एप्लीकेशन पेनेट्रेशन टेस्टिंग के लिए शुरुआती गाइड
- WAPT का उपयोग करके वेब एप्लिकेशन लोड, तनाव और प्रदर्शन परीक्षण
- कार्यात्मक परीक्षण बनाम गैर-कार्यात्मक परीक्षण