निरंतर परीक्षण
DevOps में निरंतर परीक्षण एक सॉफ़्टवेयर परीक्षण प्रकार है जिसमें सॉफ़्टवेयर विकास जीवन चक्र के प्रत्येक चरण में सॉफ़्टवेयर का परीक्षण करना शामिल है। निरंतर परीक्षण का लक्ष्य अक्सर प्रारंभिक परीक्षण और अक्सर परीक्षण करके सतत वितरण प्रक्रिया के हर चरण में सॉफ्टवेयर की गुणवत्ता का मूल्यांकन करता है।
DevOps में सतत परीक्षण प्रक्रिया में डेवलपर, DevOps, QA और परिचालनात्मक प्रणाली जैसे हितधारक शामिल हैं।
इस ट्यूटोरियल में, आप सीखेंगे
- निरंतर परीक्षण क्या है?
- कैसे निरंतर परीक्षण अलग है?
- कैसे निरंतर परीक्षण टेस्ट स्वचालन से अलग है?
- सतत परीक्षण कैसे करें
- निरंतर परीक्षण उपकरण
- निरंतर परीक्षण के लाभ
- निरंतर परीक्षण की चुनौतियां
कैसे निरंतर परीक्षण अलग है?
परीक्षण का पुराना तरीका हाथ से केंद्रित था। सॉफ्टवेयर को एक टीम से दूसरी टीम को सौंप दिया गया था। एक परियोजना निश्चित विकास और क्यूए चरणों होगा। गुणवत्ता सुनिश्चित करने के लिए क्यूए की टीमें हमेशा अधिक समय चाहती थीं। लक्ष्य यह था कि परियोजना अनुसूची में गुणवत्ता प्रबल होनी चाहिए।
हालाँकि, व्यवसाय अंतिम उपयोगकर्ता के लिए सॉफ़्टवेयर की तेज़ डिलीवरी चाहता है। नया सॉफ्टवेयर है, बेहतर यह विपणन किया जा सकता है और कंपनी की राजस्व क्षमता में वृद्धि कर सकता है। इसलिए, परीक्षण का एक नया तरीका विकसित किया गया था।
सतत का अर्थ है निरंतर आधार पर किया गया निर्विवाद परीक्षण। एक सतत DevOps प्रक्रिया में, एक सॉफ्टवेयर परिवर्तन (रिलीज उम्मीदवार) विकास से परीक्षण से तैनाती तक लगातार बढ़ रहा है।
कोड लगातार विकसित, वितरित, परीक्षण और तैनात किया जाता है।
उदाहरण के लिए, जब भी कोई डेवलपर सोर्स कोड सर्वर में कोड की जाँच करता है, जैसे जेनकिंस स्वचालित इकाई सेट का निरंतर प्रक्रिया में निष्पादित होता है। यदि परीक्षण विफल होते हैं, तो बिल्ड अस्वीकार कर दिया जाता है, और डेवलपर को सूचित किया जाता है। यदि बिल्ड परीक्षण से गुजरता है, तो यह प्रदर्शन के लिए तैनात किया जाता है, संपूर्ण कार्यात्मक और लोड परीक्षणों के लिए क्यूए सर्वर। परीक्षण समानांतर में चलाए जाते हैं। यदि परीक्षण पास हो जाते हैं, तो सॉफ्टवेयर उत्पादन में तैनात किया जाता है।
सतत परीक्षण निरंतर विकास, एकीकरण और परिनियोजन चक्र में एक छोटा दलदल है।
सॉफ्टवेयर विकास समान नहीं है क्योंकि यह अतीत में है हमने महीने से हफ्तों तक विकास में कटौती की है। वर्तमान परीक्षण स्टैक (ऊपर आंकड़ा देखें) का शीर्षक UI परीक्षण के लिए है। लेकिन लक्ष्य अधिक से अधिक स्वचालित इकाई परीक्षण करना है।
कैसे निरंतर परीक्षण टेस्ट स्वचालन से अलग है?
परीक्षण स्वचालन बनाम निरंतर परीक्षण
पैरामीटर | परीक्षण स्वचालन | निरंतर परीक्षण |
---|---|---|
परिभाषा | टेस्ट ऑटोमेशन एक ऐसी प्रक्रिया है, जिसमें टूल या सॉफ्टवेयर का इस्तेमाल ऑटोमैटिक कार्यों के लिए किया जाता है। | यह एक सॉफ्टवेयर परीक्षण पद्धति है जो निरंतर गुणवत्ता और सुधार प्राप्त करने पर केंद्रित है। |
उद्देश्य | समान या दोहराए जाने वाले कार्यों का एक सेट, एक मशीन कम गलती से, तेजी से निष्पादित कर सकती है। | निरंतर परीक्षण प्रक्रिया जोखिम को खोजने, उन्हें संबोधित करने और उत्पाद की गुणवत्ता में सुधार करने में मदद करती है। |
शर्त | निरंतर परीक्षण को एकीकृत किए बिना परीक्षण में स्वचालन संभव है। | परीक्षण स्वचालन के बिना निरंतर परीक्षण लागू नहीं किया जा सकता है। |
समय | सॉफ्टवेयर रिलीज में एक महीने से लेकर साल तक का समय लग सकता है। | सॉफ्टवेयर रिलीज साप्ताहिक प्रति घंटे के लिए जारी किया जा सकता है। |
प्रतिपुष्टि | प्रत्येक रिलीज का परीक्षण करने के बाद नियमित प्रतिक्रिया। | प्रत्येक चरण में प्रतिक्रिया तत्काल होने की आवश्यकता है। |
इतिहास | परीक्षण प्रक्रिया को तेज करने के लिए दशकों से स्वचालित परीक्षण किया गया है। | निरंतर परीक्षण एक अपेक्षाकृत नई अवधारणा है। |
सतत परीक्षण कैसे करें
- उपयोगकर्ता कहानियों / आवश्यकताओं से परीक्षण स्वचालन सूट उत्पन्न करने के लिए उपकरणों का उपयोग करना
- टेस्ट एनवायरनमेंट बनाएं।
- परीक्षण डेटा बिस्तर बनाने के लिए उत्पादन डेटा की प्रतिलिपि बनाएँ और उसका नामकरण करें
- एपीआई का परीक्षण करने के लिए सेवा वर्चुअलाइजेशन का उपयोग करें
- समानांतर प्रदर्शन परीक्षण
निरंतर परीक्षण उपकरण
यहाँ सर्वश्रेष्ठ सतत परीक्षण उपकरण की एक क्यूरेट सूची है :
1) QuerySurge
QuerySurge स्मार्ट डेटा परीक्षण समाधान है जो निरंतर डेटा परीक्षण के लिए अपनी तरह का पहला पूर्ण DevOps समाधान है। प्रमुख विशेषताओं में 60+ कॉल के साथ रोबस्ट एपीआई, विस्तृत डेटा इंटेलिजेंस और डेटा एनालिटिक्स, निरंतर परीक्षण के लिए DevOps पाइपलाइन में निर्बाध एकीकरण, और बड़ी मात्रा में डेटा की पुष्टि करता है।
मुफ्त में परीक्षण शुरू करें
2) जेनकिंस
जेनकिंस एक कंटीन्यूअस इंटीग्रेशन टूल है जो जावा भाषा का उपयोग करके लिखा गया है। इस उपकरण को GUI इंटरफ़ेस या कंसोल कमांड के माध्यम से कॉन्फ़िगर किया जा सकता है।
डाउनलोड लिंक: https://jenkins.io/
3) ट्रैविस
ट्रैविस GitHub पर होस्ट किए गए निरंतर परीक्षण उपकरण है। यह होस्टेड और ऑन-प्रिमाइसेस वेरिएंट प्रदान करता है। यह विभिन्न भाषाओं और एक अच्छा प्रलेखन प्रदान करता है।
डाउनलोड लिंक: https://travis-ci.org/
4) सेलेनियम
सेलेनियम ओपन-सोर्स सॉफ्टवेयर टेस्टिंग टूल है। यह फ़ायरफ़ॉक्स, क्रोम, IE और सफारी जैसे सभी प्रमुख ब्राउज़रों का समर्थन करता है। सेलेनियम वेबड्राइवर का उपयोग वेब एप्लिकेशन परीक्षण को स्वचालित करने के लिए किया जाता है।
डाउनलोड लिंक: https://www.seleniumhq.org/
निरंतर परीक्षण के लाभ
- सॉफ्टवेयर वितरण में तेजी लाएं
- निरंतर परीक्षण से कोड गुणवत्ता में सुधार होता है
- यह सटीक व्यापार जोखिम कवरेज का आकलन करने में मदद करता है।
- यह मूल रूप से DevOps प्रक्रिया में एकीकृत होता है
- महीनों के बजाय केवल घंटों में एक चुस्त और विश्वसनीय प्रक्रिया बनाने में मदद करता है।
- एक सतत प्रतिक्रिया तंत्र के साथ समय-समय पर बाजार में तेजी लाता है।
- आधुनिक रूप से उद्यम की जरूरतों को पूरा करने के लिए परंपरागत रूप से चुप रहने वाली टीमों को जोड़ता है। विकास, परीक्षण और संचालन टीमों के बीच विघटन होता है।
- टेस्ट ऑटोमेशन सभी प्रासंगिक परीक्षणों के लिए समान कॉन्फ़िगरेशन को बनाए रखकर स्थिरता प्राप्त करने में मदद करता है।
- व्यावसायिक जोखिमों को कम करने के लिए व्यावसायिक अपेक्षाओं पर जोर देता है
- सेवा वर्चुअलाइजेशन के साथ सर्वव्यापी परीक्षण पर्यावरण पहुंच प्रदान करना
सतत परीक्षण की चुनौतियां
- पारंपरिक प्रक्रिया विकास और क्यूए पेशेवरों के बीच सांस्कृतिक बदलाव को सीमित कर रही है।
- Devileps कौशल का अभाव और चुस्त और DevOps वातावरण में परीक्षण के लिए सही उपकरण।
- हेटरोजेनस परीक्षण वातावरण जो कभी भी उत्पादन पर्यावरण को प्रतिबिंबित नहीं करेगा।
- पारंपरिक परीक्षण प्रक्रिया और शिथिल परिभाषित परीक्षण डेटा प्रबंधन।
- लंबे समय तक कोड एकीकरण चक्र एकीकरण मुद्दों और देर से दोष को ठीक करते हैं
- अपर्याप्त और अप्रभावी संसाधन और परीक्षण वातावरण
- जटिल अनुप्रयोग वास्तुकला और व्यावसायिक तर्क जो DevOps अपनाने को प्रतिबंधित करता है।
निष्कर्ष:
- सॉफ्टवेयर इंजीनियरिंग में, निरंतर परीक्षण प्रारंभिक परीक्षण, अक्सर परीक्षण, हर जगह परीक्षण, और स्वचालित करने की प्रक्रिया है।
- परीक्षण का पुराना तरीका एक हैंडऑफ़ केंद्रित था। सॉफ्टवेयर को एक टीम से दूसरी टीम को सौंप दिया जाता है
- जेनकिंस, ट्रैविस और सेलेनियम लोकप्रिय निरंतर परीक्षण और एकीकरण उपकरण हैं।
- सतत परीक्षण डिलीवरी पाइपलाइन के प्रत्येक चरण के अनुसार कार्रवाई योग्य प्रतिक्रिया देता है।
- निरंतर परीक्षण कोड गुणवत्ता में सुधार करने में मदद करता है
- पारंपरिक प्रक्रिया विकास और क्यूए पेशेवरों के बीच सांस्कृतिक बदलाव को सीमित कर रही है।
- लंबे समय तक कोड एकीकरण चक्र एकीकरण मुद्दों और देर से दोष को ठीक करते हैं