DevOps World में परीक्षण

DevOps सॉफ्टवेयर विकास और वितरण के लिए विकास और संचालन प्रथाओं का एक समामेलन है।

DevOps डिलीवरी मॉडल में शामिल होने वाले परीक्षक प्रश्न पूछना शुरू करते हैं:

  • एक DevOps मॉडल में परीक्षण कहाँ फिट होता है?
  • चुस्त और झरने के मॉडल में परीक्षण से अलग DevOps में परीक्षण और क्यूए कैसे है?
  • क्यूए के रूप में, मुझे क्या अतिरिक्त कौशल जानने की उम्मीद है?

यह पोस्ट उन उपकरणों, रणनीतियों, और प्रथाओं की चर्चा करता है जिन्हें हमें DevOps की दुनिया में प्रभावी रूप से परीक्षण करने के लिए लागू करने की आवश्यकता है, स्वचालन को गले लगाते हुए और DevOps में निरंतर परीक्षण।




देवो में क्यूए और परीक्षण

परीक्षण जलप्रपात से फुर्तीले से देवो तक कैसे विकसित हुआ है?

झरना मॉडल

परीक्षण और गुणवत्ता आश्वासन प्रथाओं ने झरना, एजाइल और अब DevOps के दिनों से काफी बदलाव देखा है। झरना मॉडल में, परीक्षण को सॉफ्टवेयर विकास जीवन चक्र में एक चरण के रूप में देखा गया था। परीक्षक और परीक्षण के प्रयास बहुत अधिक चुप थे जहां परीक्षक एक परीक्षण टीम का हिस्सा हुआ करते थे और अक्सर विकास टीम से अलग होते थे।


परीक्षार्थियों का स्वामित्व था परीक्षण की रणनीति और गुणवत्ता के द्वारपाल के रूप में देखे गए। परीक्षण काफी हद तक मैनुअल था और सॉफ्टवेयर के पूरी तरह से विकसित होने और उत्पादन जारी करने से ठीक पहले हुआ करता था।



इसी तरह, सॉफ्टवेयर को डिलीवर होने में लंबा समय लगता था। एक अलग संचालन टीम सॉफ्टवेयर को उत्पादन के लिए जारी करने के लिए जिम्मेदार थी, जो हर कुछ महीनों में सबसे अच्छा हुआ। ऑप्स टीम और देव टीम के बीच संचार / सहयोग का कोई निम्न या निम्न स्तर नहीं था।

फुर्तीली मॉडल

एजाइल मॉडल ने विकास और परीक्षण स्थान के साथ-साथ रिलीज़ आवृत्ति में बदलाव किया। सॉफ्टवेयर को iteratively और incrementally विकसित किया गया था। एग्री डिलीवरी मॉडल में स्क्रम, जो जल्दी से बहुत लोकप्रिय हो गया।

आमतौर पर 2-4 सप्ताह तक चलने वाले छोटे पुनरावृत्तियों की श्रृंखला में विकास का प्रयास टूट गया। प्रत्येक पुनरावृत्ति नए या मौजूदा सुविधाओं को जोड़कर एक संभावित shippable सॉफ्टवेयर बनाएगी।


परीक्षक विकास टीम का हिस्सा बन गए और परीक्षण एसडीएलसी के अंत में एक चरण के बजाय, सॉफ्टवेयर विकास के लिए एक समानांतर गतिविधि बन गई। परीक्षण गतिविधि एक साझा जिम्मेदारी बन गई और गुणवत्ता का विकास टीम के स्वामित्व में हुआ।

एजाइल मॉडल ने विकास और परीक्षण के तरीकों का उपयोग किया और सॉफ्टवेयर की तेजी से डिलीवरी के लिए मार्ग प्रशस्त किया, हालांकि, उत्पादन के लिए वास्तविक तैनाती अभी भी एक अलग TechOps टीम द्वारा की गई थी।

जबकि TechOps टीम को सर्वर, नेटवर्क और तैनाती का ज्ञान होगा, वे आम तौर पर प्रत्येक रिलीज के विवरण से अनजान थे। विकास दल की प्रतिक्रिया धीमी रही। यदि कोई बग रिलीज़ में मौजूद था, तो सामान्य रूप से विकास टीम को समस्या के बारे में जागरूक होने में कुछ घंटे लगेंगे।

DevOps मॉडल

DevOps एजाइल मॉडल को विकास और परीक्षण के लिए रिलीज और तैनाती गतिविधियों के करीब लाकर एक कदम आगे ले जाता है। इसका मतलब यह है कि अपने दम पर एक फुर्तीली टीम उनके द्वारा बनाए गए सॉफ़्टवेयर के विकास, परीक्षण और रिलीज़ के लिए जिम्मेदार है।




DevOps परीक्षण रणनीति

DevOps में परीक्षण पूरे सॉफ्टवेयर विकास और वितरण जीवनचक्र का विस्तार करता है। परीक्षक अब केवल कार्यात्मक परीक्षण और सुविधा सत्यापन पर ध्यान केंद्रित नहीं कर रहे हैं।

परीक्षक के रूप में, हमें संचालन परीक्षण, प्रदर्शन परीक्षण, बुनियादी सुरक्षा परीक्षण, साथ ही उत्पादन डेटा और लॉग की निगरानी और विश्लेषण करने में सक्षम होना चाहिए।

डैन एशबी ने ए उत्कृष्ट पोस्ट DevOps में परीक्षण के बारे में जिसमें वह वर्णन करता है

आप देख सकते हैं कि लोग यह समझने के लिए संघर्ष क्यों कर रहे हैं कि परीक्षण एक मॉडल में फिट बैठता है जो इसका उल्लेख बिल्कुल नहीं करता है। मेरे लिए, इस मॉडल में हर एक बिंदु पर परीक्षण फिट बैठता है।


वास्तव में, परीक्षण एक DevOps मॉडल में प्रत्येक चरण में हो सकता है और होना चाहिए। में चंचल टेस्ट रणनीति पोस्ट , हमने बताया कि कैसे परीक्षण फुर्तीले मॉडल में फिट बैठता है।

निम्नलिखित अनुभागों को जोड़कर DevOps परीक्षण रणनीति का विस्तार कर सकते हैं:

परीक्षण स्वचालन और DevOps में निरंतर परीक्षण

DevOps मॉडल में उपकरण और तकनीक की पसंद इतनी महत्वपूर्ण हो जाती है। टूल का चुनाव संगठन की क्षमता को उच्च वेग पर अनुप्रयोगों और सेवाओं को वितरित करने की अनुमति देता है।


DevOps में स्वचालित परीक्षण पर अधिक जोर दिया जाता है क्योंकि हम एक ऐसी संस्कृति बनाना चाहते हैं जहां हम सिस्टम को जल्दी और विश्वास के साथ कोड को नीचे धकेल सकते हैं।

स्वचालित कार्यात्मक परीक्षणों के साथ-साथ, हमें प्रदर्शन परीक्षणों के साथ-साथ वितरण पाइपलाइन में सुरक्षा / लचीलापन परीक्षणों का भी सेट होना चाहिए।

कहने की जरूरत नहीं है कि उपरोक्त स्वचालित परीक्षणों में से किसी को लागू करने में सक्षम होने से पहले, सबसे पहले और सबसे आगे जेनकींस जैसे एक सतत एकीकरण उपकरण में एक स्वचालित निर्माण और वितरण पाइपलाइन का निर्माण किया जाता है।

उत्पादन में परीक्षण

उत्पादन में परीक्षण का मतलब यह नहीं है कि लाइव सिस्टम के खिलाफ अपनी कार्यात्मक / प्रदर्शन परीक्षण स्क्रिप्ट निष्पादित करना जहां उपयोगकर्ता एप्लिकेशन का उपयोग कर रहे हैं।

हम ए / बी या बहुभिन्नरूपी परीक्षणों में प्रवृत्तियों का विश्लेषण करके शुरू कर सकते हैं। हम किसी भी अजीब व्यवहार के लिए सर्वर की निगरानी भी कर सकते हैं, जैसे कि मेमोरी लीक, उच्च सीपीयू उपयोग, आदि।



परीक्षण पर DevOps का प्रभाव

इस सब ने देवओपीएस में परीक्षकों और परीक्षण की भूमिका को कैसे बदल दिया है?

परीक्षकों से अपेक्षा की जाती है कि वे कम से कम निम्नलिखित ज्ञान और कौशल के साथ प्रभावी ढंग से परीक्षण गतिविधियों को करने में सक्षम हों

  • बुनियादी नेटवर्किंग ज्ञान
  • बेसिक यूनिक्स / शेल स्क्रिप्टिंग, उदा। बैश, अजगर
  • निरंतर एकीकरण / सतत वितरण उदा। जेनकिंस,
  • प्रदर्शन परीक्षण उपकरण जैसे JMeter या गैटलिंग
  • संचालन और लचीलापन परीक्षण के लिए तैयार
  • कंटेनरों का ज्ञान, डोकर, कुबेरनेट्स
  • स्प्लंकिंग जैसे निगरानी उपकरण छोड़ना
  • बादल सेवाएं, उदा। AWS, Azure

दिलचस्प लेख