DevOps सॉफ्टवेयर विकास और वितरण के लिए विकास और संचालन प्रथाओं का एक समामेलन है।
DevOps डिलीवरी मॉडल में शामिल होने वाले परीक्षक प्रश्न पूछना शुरू करते हैं:
यह पोस्ट उन उपकरणों, रणनीतियों, और प्रथाओं की चर्चा करता है जिन्हें हमें DevOps की दुनिया में प्रभावी रूप से परीक्षण करने के लिए लागू करने की आवश्यकता है, स्वचालन को गले लगाते हुए और DevOps में निरंतर परीक्षण।
परीक्षण जलप्रपात से फुर्तीले से देवो तक कैसे विकसित हुआ है?
परीक्षण और गुणवत्ता आश्वासन प्रथाओं ने झरना, एजाइल और अब DevOps के दिनों से काफी बदलाव देखा है। झरना मॉडल में, परीक्षण को सॉफ्टवेयर विकास जीवन चक्र में एक चरण के रूप में देखा गया था। परीक्षक और परीक्षण के प्रयास बहुत अधिक चुप थे जहां परीक्षक एक परीक्षण टीम का हिस्सा हुआ करते थे और अक्सर विकास टीम से अलग होते थे।
परीक्षार्थियों का स्वामित्व था परीक्षण की रणनीति और गुणवत्ता के द्वारपाल के रूप में देखे गए। परीक्षण काफी हद तक मैनुअल था और सॉफ्टवेयर के पूरी तरह से विकसित होने और उत्पादन जारी करने से ठीक पहले हुआ करता था।
इसी तरह, सॉफ्टवेयर को डिलीवर होने में लंबा समय लगता था। एक अलग संचालन टीम सॉफ्टवेयर को उत्पादन के लिए जारी करने के लिए जिम्मेदार थी, जो हर कुछ महीनों में सबसे अच्छा हुआ। ऑप्स टीम और देव टीम के बीच संचार / सहयोग का कोई निम्न या निम्न स्तर नहीं था।
एजाइल मॉडल ने विकास और परीक्षण स्थान के साथ-साथ रिलीज़ आवृत्ति में बदलाव किया। सॉफ्टवेयर को iteratively और incrementally विकसित किया गया था। एग्री डिलीवरी मॉडल में स्क्रम, जो जल्दी से बहुत लोकप्रिय हो गया।
आमतौर पर 2-4 सप्ताह तक चलने वाले छोटे पुनरावृत्तियों की श्रृंखला में विकास का प्रयास टूट गया। प्रत्येक पुनरावृत्ति नए या मौजूदा सुविधाओं को जोड़कर एक संभावित shippable सॉफ्टवेयर बनाएगी।
परीक्षक विकास टीम का हिस्सा बन गए और परीक्षण एसडीएलसी के अंत में एक चरण के बजाय, सॉफ्टवेयर विकास के लिए एक समानांतर गतिविधि बन गई। परीक्षण गतिविधि एक साझा जिम्मेदारी बन गई और गुणवत्ता का विकास टीम के स्वामित्व में हुआ।
एजाइल मॉडल ने विकास और परीक्षण के तरीकों का उपयोग किया और सॉफ्टवेयर की तेजी से डिलीवरी के लिए मार्ग प्रशस्त किया, हालांकि, उत्पादन के लिए वास्तविक तैनाती अभी भी एक अलग TechOps टीम द्वारा की गई थी।
जबकि TechOps टीम को सर्वर, नेटवर्क और तैनाती का ज्ञान होगा, वे आम तौर पर प्रत्येक रिलीज के विवरण से अनजान थे। विकास दल की प्रतिक्रिया धीमी रही। यदि कोई बग रिलीज़ में मौजूद था, तो सामान्य रूप से विकास टीम को समस्या के बारे में जागरूक होने में कुछ घंटे लगेंगे।
DevOps एजाइल मॉडल को विकास और परीक्षण के लिए रिलीज और तैनाती गतिविधियों के करीब लाकर एक कदम आगे ले जाता है। इसका मतलब यह है कि अपने दम पर एक फुर्तीली टीम उनके द्वारा बनाए गए सॉफ़्टवेयर के विकास, परीक्षण और रिलीज़ के लिए जिम्मेदार है।
DevOps में परीक्षण पूरे सॉफ्टवेयर विकास और वितरण जीवनचक्र का विस्तार करता है। परीक्षक अब केवल कार्यात्मक परीक्षण और सुविधा सत्यापन पर ध्यान केंद्रित नहीं कर रहे हैं।
परीक्षक के रूप में, हमें संचालन परीक्षण, प्रदर्शन परीक्षण, बुनियादी सुरक्षा परीक्षण, साथ ही उत्पादन डेटा और लॉग की निगरानी और विश्लेषण करने में सक्षम होना चाहिए।
डैन एशबी ने ए उत्कृष्ट पोस्ट DevOps में परीक्षण के बारे में जिसमें वह वर्णन करता है
आप देख सकते हैं कि लोग यह समझने के लिए संघर्ष क्यों कर रहे हैं कि परीक्षण एक मॉडल में फिट बैठता है जो इसका उल्लेख बिल्कुल नहीं करता है। मेरे लिए, इस मॉडल में हर एक बिंदु पर परीक्षण फिट बैठता है।
वास्तव में, परीक्षण एक DevOps मॉडल में प्रत्येक चरण में हो सकता है और होना चाहिए। में चंचल टेस्ट रणनीति पोस्ट , हमने बताया कि कैसे परीक्षण फुर्तीले मॉडल में फिट बैठता है।
निम्नलिखित अनुभागों को जोड़कर DevOps परीक्षण रणनीति का विस्तार कर सकते हैं:
DevOps मॉडल में उपकरण और तकनीक की पसंद इतनी महत्वपूर्ण हो जाती है। टूल का चुनाव संगठन की क्षमता को उच्च वेग पर अनुप्रयोगों और सेवाओं को वितरित करने की अनुमति देता है।
DevOps में स्वचालित परीक्षण पर अधिक जोर दिया जाता है क्योंकि हम एक ऐसी संस्कृति बनाना चाहते हैं जहां हम सिस्टम को जल्दी और विश्वास के साथ कोड को नीचे धकेल सकते हैं।
स्वचालित कार्यात्मक परीक्षणों के साथ-साथ, हमें प्रदर्शन परीक्षणों के साथ-साथ वितरण पाइपलाइन में सुरक्षा / लचीलापन परीक्षणों का भी सेट होना चाहिए।
कहने की जरूरत नहीं है कि उपरोक्त स्वचालित परीक्षणों में से किसी को लागू करने में सक्षम होने से पहले, सबसे पहले और सबसे आगे जेनकींस जैसे एक सतत एकीकरण उपकरण में एक स्वचालित निर्माण और वितरण पाइपलाइन का निर्माण किया जाता है।
उत्पादन में परीक्षण का मतलब यह नहीं है कि लाइव सिस्टम के खिलाफ अपनी कार्यात्मक / प्रदर्शन परीक्षण स्क्रिप्ट निष्पादित करना जहां उपयोगकर्ता एप्लिकेशन का उपयोग कर रहे हैं।
हम ए / बी या बहुभिन्नरूपी परीक्षणों में प्रवृत्तियों का विश्लेषण करके शुरू कर सकते हैं। हम किसी भी अजीब व्यवहार के लिए सर्वर की निगरानी भी कर सकते हैं, जैसे कि मेमोरी लीक, उच्च सीपीयू उपयोग, आदि।
इस सब ने देवओपीएस में परीक्षकों और परीक्षण की भूमिका को कैसे बदल दिया है?
परीक्षकों से अपेक्षा की जाती है कि वे कम से कम निम्नलिखित ज्ञान और कौशल के साथ प्रभावी ढंग से परीक्षण गतिविधियों को करने में सक्षम हों