what is scalability testing
स्केलेबिलिटी परीक्षण का परिचय:
स्केलेबिलिटी टेस्टिंग एक गैर-कार्यात्मक परीक्षण पद्धति है जिसमें उपयोगकर्ता के अनुरोधों की संख्या या इस तरह के अन्य प्रदर्शन माप विशेषताओं को स्केल करने या बढ़ाने की क्षमता के संदर्भ में किसी एप्लिकेशन के प्रदर्शन को मापा जाता है।
स्केलेबिलिटी परीक्षण एक हार्डवेयर, सॉफ्टवेयर या डेटाबेस स्तर पर किया जा सकता है।
इस परीक्षण के लिए उपयोग किए जाने वाले पैरामीटर एक एप्लिकेशन से दूसरे में भिन्न होते हैं, एक वेब पेज के लिए, यह उपयोगकर्ताओं की संख्या, CPU उपयोग, नेटवर्क उपयोग हो सकता है, जबकि एक वेब सर्वर के लिए यह संसाधित किए गए अनुरोधों की संख्या होगी।
यह ट्यूटोरियल आपको संपूर्ण अवलोकन देगा इसकी विशेषताओं के साथ स्केलेबिलिटी परीक्षण और व्यावहारिक उदाहरणों के साथ परीक्षण करने में शामिल विभिन्न कदम आपको अवधारणा को बेहतर तरीके से समझने में सक्षम बनाते हैं।
आप क्या सीखेंगे:
- स्केलेबिलिटी परीक्षण बनाम लोड परीक्षण
- स्केलेबिलिटी परीक्षण विशेषताएँ
- किसी अनुप्रयोग की स्केलेबिलिटी का परीक्षण करने के लिए कदम
- निष्कर्ष
- अनुशंसित पाठ
स्केलेबिलिटी परीक्षण बनाम लोड परीक्षण
लोड परीक्षण अधिकतम लोड के तहत परीक्षण के तहत आवेदन को मापता है जिस पर सिस्टम क्रैश होगा। लोड परीक्षण का मुख्य उद्देश्य उस चरम बिंदु की पहचान करना है जिसके बाद उपयोगकर्ता सिस्टम का उपयोग नहीं कर पाएंगे।
लोड और स्केलेबिलिटी दोनों प्रदर्शन परीक्षण पद्धति के अंतर्गत आते हैं।
स्केलेबिलिटी लोड टेस्टिंग से इस तथ्य में भिन्न होती है कि स्केलेबिलिटी टेस्ट सॉफ्टवेयर, हार्डवेयर और डेटाबेस स्तर सहित सभी स्तरों पर न्यूनतम और अधिकतम लोड पर सिस्टम को मापता है। एक बार अधिकतम लोड का पता लगने के बाद, डेवलपर्स को यह सुनिश्चित करने के लिए उचित रूप से जवाब देने की आवश्यकता है कि सिस्टम एक विशेष लोड के बाद स्केलेबल है।
उदाहरण: यदि स्केलेबिलिटी परीक्षण 10,000 उपयोगकर्ताओं के लिए अधिकतम लोड निर्धारित करता है, तो सिस्टम को स्केलेबल होने के लिए, डेवलपर्स को कारकों पर उपाय करना होगा जैसे कि 10,000 उपयोगकर्ता सीमा के बाद प्रतिक्रिया समय घटने या बढ़ते उपयोगकर्ता डेटा को समायोजित करने के लिए रैम का आकार बढ़ाना।
लोड परीक्षण में एक बार में विकसित अनुप्रयोगों पर अधिकतम भार रखना शामिल है, जबकि स्केलेबिलिटी परीक्षण में धीरे-धीरे समय की अवधि में लोड को उत्तरोत्तर बढ़ाना शामिल है।
लोड परीक्षण उस बिंदु को निर्धारित करता है जिस पर एप्लिकेशन क्रैश होता है, जबकि स्केलेबिलिटी एप्लिकेशन क्रैश के कारण की पहचान करने की कोशिश करती है और समस्या को हल करने के लिए कदम उठाती है।
साइटों को यूट्यूब से वीडियो डाउनलोड करने के लिए
संक्षेप में, लोड परीक्षण प्रदर्शन समस्याओं की पहचान करने में मदद करता है, जबकि स्केलेबिलिटी परीक्षण यह पहचानने में मदद करता है कि क्या सिस्टम उपयोगकर्ताओं की बढ़ती संख्या तक बढ़ सकता है।
स्केलेबिलिटी परीक्षण विशेषताएँ
स्केलेबिलिटी टेस्ट विशेषताएँ प्रदर्शन के उपायों को परिभाषित करती हैं जिनके आधार पर यह परीक्षण किया जाएगा।
निम्नलिखित कुछ सामान्य विशेषताएं हैं:
1) प्रतिक्रिया समय:
- प्रतिक्रिया समय उपयोगकर्ता के अनुरोध और अनुप्रयोग प्रतिक्रिया के बीच का समय है। यह परीक्षण उस बिंदु की पहचान करने के लिए न्यूनतम लोड, थ्रेशोल्ड लोड और अधिकतम लोड के तहत सर्वर के प्रतिक्रिया समय की पहचान करने के लिए किया जाता है, जिस पर अनुप्रयोग टूट जाएगा।
- अनुप्रयोग पर उपयोगकर्ता के लोड के आधार पर प्रतिक्रिया समय बढ़ या घट सकता है। आदर्श रूप में, उपयोगकर्ता द्वारा लोड बढ़ाते रहने से किसी अनुप्रयोग का प्रतिक्रिया समय घट जाएगा।
- किसी एप्लिकेशन को स्केलेबल माना जा सकता है यदि वह उपयोगकर्ता लोड के विभिन्न स्तरों के लिए एक ही प्रतिक्रिया समय प्रदान कर सकता है।
- क्लस्टर किए गए वातावरणों के मामले में जहां एप्लिकेशन लोड को कई सर्वर घटकों के बीच वितरित किया जाता है, स्केलेबिलिटी परीक्षण को उस सीमा को मापना चाहिए जहां लोड बैलेंसर कई सर्वरों के बीच लोड वितरित कर रहा है। यह सुनिश्चित करेगा कि एक सर्वर अनुरोधों के साथ अतिभारित नहीं हो रहा है, जबकि दूसरा सर्वर निष्क्रिय होकर अनुरोध के लिए आने का इंतजार कर रहा है।
- प्रत्येक सर्वर घटक के प्रतिक्रिया समय को सावधानीपूर्वक मापा जाना चाहिए यदि अनुप्रयोग को क्लस्टर किए गए वातावरण में होस्ट किया गया है और मापनीयता परीक्षण को यह सुनिश्चित करना चाहिए कि प्रत्येक सर्वर पर रखे गए लोड की मात्रा की परवाह किए बिना प्रत्येक सर्वर घटक का प्रतिक्रिया समय समान होना चाहिए।
- उदाहरण: प्रतिक्रिया समय को उस समय के रूप में मापा जा सकता है जिस समय तक उपयोगकर्ता वेब ब्राउज़र पर उस समय तक URL दर्ज करता है जब तक कि वेब पेज सामग्री को लोड करने के लिए नहीं लेता है। प्रतिक्रिया समय जितना कम होगा, एक आवेदन का प्रदर्शन उतना ही अधिक होगा।
2) थ्रूपुट:
- थ्रूपुट एक इकाई समय पर आवेदन द्वारा संसाधित कई अनुरोधों का माप है।
- थ्रूपुट के परिणाम एक आवेदन से दूसरे में भिन्न हो सकते हैं। यदि यह एक वेब एप्लिकेशन है तो प्रति यूनिट समय संसाधित किए गए उपयोगकर्ता अनुरोधों की संख्या और यदि यह एक डेटाबेस है, तो थ्रूपुट मापा जाता है। इकाई समय में संसाधित कई प्रश्नों के संदर्भ में थ्रूपुट मापा जाता है।
- एक अनुप्रयोग को स्केलेबल माना जाता है यदि वह आंतरिक अनुप्रयोगों, हार्डवेयर और डेटाबेस पर लोड के विभिन्न स्तरों के लिए समान प्रवाह प्रदान कर सकता है।
3) CPU उपयोग:
- सीपीयू उपयोग एक आवेदन द्वारा किसी कार्य को करने के लिए सीपीयू यूटिलाइजेशन का एक उपाय है। CPU यूटिलाइजेशन को आमतौर पर इकाई MegaHertz के संदर्भ में मापा जाता है।
- आदर्श रूप से, एप्लिकेशन कोड जितना अधिक अनुकूलित होता है, सीपीयू उत्तोलन उतना ही कम होगा।
- इसे प्राप्त करने के लिए, कई संगठन CPU उपयोग को कम करने के लिए मानक प्रोग्रामिंग प्रथाओं का उपयोग करते हैं।
- उदाहरण: आवेदन में मृत कोड को हटाने और थ्रेड का उपयोग कम से कम। स्लीप मेथड सीपीयू यूटिलाइजेशन को कम करने के लिए सबसे अच्छी प्रोग्रामिंग प्रथाओं में से एक है।
4) मेमोरी उपयोग:
- मेमोरी उपयोग एक एप्लिकेशन द्वारा किसी कार्य को करने के लिए उपभोग की जाने वाली मेमोरी का एक माप है।
- आदर्श रूप से, मेमोरी को बाइट्स (मेगाबाइट्स, गीगाबाइट्स या तेरा बाइट्स) के संदर्भ में मापा जाता है जिसे विकसित एप्लिकेशन रैंडम एक्सेस मेमोरी (रैम) तक पहुंचने के लिए उपयोग करता है।
- सबसे अच्छा प्रोग्रामिंग प्रथाओं का पालन करके किसी एप्लिकेशन की मेमोरी का उपयोग कम से कम किया जा सकता है।
- सर्वश्रेष्ठ प्रोग्रामिंग प्रथाओं के उदाहरणों में अनावश्यक लूप का उपयोग नहीं करना, डेटाबेस में हिट को कम करना, कैश का उपयोग करना, SQL प्रश्नों के उपयोग को अनुकूलित करना आदि शामिल हैं। एक एप्लिकेशन को स्केलेबल माना जाता है यदि यह मेमोरी के उपयोग को कम करता है अधिकतम संभव सीमा।
- उदाहरण: यदि उपयोगकर्ताओं की निर्दिष्ट संख्या के लिए उपलब्ध संग्रहण स्थान मेमोरी से बाहर चला जाता है, तो डेटा के नुकसान की भरपाई के लिए डेवलपर को अतिरिक्त डेटाबेस स्टोरेज जोड़ने के लिए मजबूर किया जाएगा।
5) नेटवर्क का उपयोग:
- नेटवर्क उपयोग परीक्षण के तहत एक आवेदन द्वारा खपत बैंडविड्थ की मात्रा है।
- नेटवर्क उपयोग का लक्ष्य नेटवर्क की भीड़ को कम करना है। नेटवर्क का उपयोग प्रति सेकंड प्राप्त बाइट्स के अनुसार मापा जाता है, प्रति सेकंड प्राप्त फ्रेम, प्रति सेकंड सेगमेंट प्राप्त और भेजा जाता है, आदि।
- प्रोग्रामिंग तकनीकों जैसे कि संपीड़न तकनीकों का उपयोग भीड़ को कम करने और नेटवर्क के उपयोग को कम करने में मदद कर सकता है। एक अनुप्रयोग को स्केलेबल माना जाता है यदि यह न्यूनतम नेटवर्क भीड़ के साथ प्रदर्शन कर सकता है और उच्च अनुप्रयोग प्रदर्शन प्रदान कर सकता है।
- उदाहरण: उपयोगकर्ता अनुरोधों को संसाधित करने के लिए एक कतार तंत्र का अनुसरण करने के बजाय, एक डेवलपर डेटाबेस में अनुरोध आने पर उपयोगकर्ता के अनुरोधों को संसाधित करने के लिए कोड लिख सकता है।
इन मापदंडों के अलावा, सर्वर अनुरोध प्रतिक्रिया समय, कार्य निष्पादन समय, लेनदेन समय, वेब पेज लोडिंग समय, डेटाबेस से प्रतिक्रिया लाने के लिए समय, रिबूट समय, मुद्रण समय, सत्र समय, स्क्रीन संक्रमण जैसे कुछ अन्य कम उपयोग किए जाने वाले पैरामीटर हैं प्रति सेकंड लेनदेन, प्रति सेकंड हिट्स, प्रति सेकंड अनुरोध आदि।
स्केलेबिलिटी परीक्षण की विशेषताएँ एक अनुप्रयोग से दूसरे में भिन्न हो सकती हैं क्योंकि वेब अनुप्रयोगों के लिए प्रदर्शन माप डेस्कटॉप या क्लाइंट-सर्वर अनुप्रयोग के समान नहीं हो सकता है।
किसी अनुप्रयोग की स्केलेबिलिटी का परीक्षण करने के लिए कदम
एक अनुप्रयोग पर इस परीक्षण को करने का मुख्य लाभ उपयोगकर्ता के व्यवहार को समझना है जब अधिकतम लोड हो जाता है और इसे हल करने के तरीके।
इसके अलावा, इस परीक्षण से परीक्षार्थियों को सर्वर-साइड गिरावट और अनुप्रयोग उपयोगकर्ता भार के संबंध में प्रतिक्रिया समय की पहचान करने की अनुमति मिलती है। परिणामस्वरूप, यह परीक्षण दुनिया भर के कई संगठनों पर पसंद किया जा रहा है।
एक आवेदन की मापनीयता का परीक्षण करने के लिए चरणों की सूची नीचे दी गई है:
- स्केलेबिलिटी परीक्षण विशेषताओं में से प्रत्येक के लिए दोहराने योग्य परीक्षण परिदृश्य बनाएं।
- कम, मध्यम और उच्च भार जैसे विभिन्न स्तरों के लिए आवेदन का परीक्षण करें और एक आवेदन के व्यवहार को सत्यापित करें।
- एक परीक्षण वातावरण बनाएं जो संपूर्ण स्केलेबिलिटी परीक्षण चक्र का सामना करने के लिए पर्याप्त स्थिर हो।
- इस परीक्षण को करने के लिए आवश्यक हार्डवेयर को कॉन्फ़िगर करें।
- अलग-अलग उपयोगकर्ता लोड के तहत एक एप्लिकेशन के व्यवहार की पुष्टि करने के लिए आभासी उपयोगकर्ताओं के एक सेट को परिभाषित करें।
- आंतरिक अनुप्रयोगों, हार्डवेयर और डेटाबेस परिवर्तनों की बदलती स्थितियों के तहत कई उपयोगकर्ताओं के लिए परीक्षण परिदृश्यों को दोहराएं।
- एक संकुल वातावरण के मामले में, लोड बैलेंसर उपयोगकर्ता के अनुरोधों को कई सर्वरों के लिए यह सुनिश्चित करने के लिए मान्य करता है कि कोई सर्वर अनुरोधों की एक श्रृंखला से अतिभारित नहीं है।
- परीक्षण वातावरण में परीक्षण परिदृश्यों की जाँच करें।
- उत्पन्न रिपोर्टों का विश्लेषण करें और यदि कोई हो, सुधार के क्षेत्रों को सत्यापित करें।
निष्कर्ष
संक्षेप में,
=> स्केलेबिलिटी परीक्षण यह प्रमाणित करने के लिए एक गैर-कार्यात्मक परीक्षण पद्धति है कि क्या कोई एप्लिकेशन अलग-अलग विशेषताओं को बढ़ा या घटा सकता है। इस परीक्षण के लिए उपयोग किए जाने वाले गुण एक आवेदन से दूसरे में भिन्न होंगे।
=> इस परीक्षण का मुख्य उद्देश्य यह निर्धारित करना है कि जब कोई एप्लिकेशन अधिकतम लोड पर नीचा दिखाना शुरू करता है और यह सुनिश्चित करने के लिए उचित कदम उठाता है कि विकसित अनुप्रयोग आंतरिक अनुप्रयोगों, सॉफ्टवेयर, हार्डवेयर और डेटाबेस में परिवर्तन को समायोजित करने के लिए पर्याप्त है। भविष्य में परिवर्तन।
=> यदि यह परीक्षण ठीक से किया जाता है, तो सॉफ़्टवेयर, हार्डवेयर और डेटाबेस में प्रदर्शन के संबंध में प्रमुख त्रुटियां विकसित अनुप्रयोगों में उजागर की जा सकती हैं।
=> इस परीक्षण का एक बड़ा नुकसान डेटाबेस साइज़ और बफर स्पेस की सीमा के साथ इसके डेटा स्टोरेज की सीमा होगी। इसके अलावा, नेटवर्क बैंडविड्थ सीमा स्केलेबिलिटी परीक्षण के लिए एक बाधा हो सकती है।
=> स्केलेबिलिटी परीक्षण की प्रक्रिया एक संगठन से दूसरे संगठन में भिन्न होती है क्योंकि एक अनुप्रयोग की स्केलेबिलिटी परीक्षण विशेषताओं अन्य अनुप्रयोगों से अलग होगी।
अनुशंसित पाठ
- एचपी लोडरनर ट्यूटोरियल के साथ लोड परीक्षण
- प्रदर्शन परीक्षण बनाम लोड परीक्षण बनाम तनाव परीक्षण (अंतर)
- डेस्कटॉप, क्लाइंट सर्वर परीक्षण और वेब परीक्षण के बीच अंतर
- WAPT का उपयोग करके वेब एप्लिकेशन लोड, तनाव और प्रदर्शन परीक्षण
- सर्वश्रेष्ठ सॉफ्टवेयर परीक्षण उपकरण 2021 [क्यूए टेस्ट स्वचालन उपकरण]
- वेब अनुप्रयोग सुरक्षा परीक्षण गाइड
- एप्लिकेशन टेस्टिंग - सॉफ्टवेयर टेस्टिंग की मूल बातों में!
- डिवाइस पर अपना एप्लिकेशन इंस्टॉल करना और ग्रहण से परीक्षण शुरू करना