DevOps में निरंतर परीक्षण

सतत परीक्षण क्या है?

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

DevOps में निरंतर परीक्षण प्रक्रिया में डेवलपर, DevOps, QA और जैसे हितधारक शामिल होते हैं Operaराष्ट्रीय प्रणाली.

सतत परीक्षण किस प्रकार भिन्न है?

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

परीक्षण का पुराना तरीका हैंड ऑफ केंद्रित था। सॉफ्टवेयर को एक टीम से दूसरी टीम को सौंपा जाता था। एक प्रोजेक्ट में निश्चित विकास और QA चरण होते थे। QA टीमें हमेशा गुणवत्ता सुनिश्चित करने के लिए अधिक समय चाहती थीं। लक्ष्य यह था कि गुणवत्ता परियोजना के शेड्यूल से अधिक महत्वपूर्ण हो।

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

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

सतत DevOps प्रक्रिया
सतत DevOps प्रक्रिया

कोड का निरंतर विकास, वितरण, परीक्षण और परिनियोजन किया जाता है।

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

सतत परीक्षण, सतत विकास, एकीकरण और परिनियोजन चक्र में एक छोटा सा हिस्सा है।

वर्तमान परीक्षण स्टैक
वर्तमान परीक्षण स्टैक

सॉफ़्टवेयर विकास अब वैसा नहीं रहा जैसा पहले था, हमने विकास को महीने से घटाकर हफ़्तों में कर दिया। वर्तमान परीक्षण स्टैक (ऊपर चित्र देखें) यूआई परीक्षण की ओर उन्मुख है। लेकिन लक्ष्य अधिक से अधिक स्वचालित इकाई परीक्षण करना है।

सतत परीक्षण, परीक्षण स्वचालन से किस प्रकार भिन्न है?

परीक्षण स्वचालन बनाम सतत परीक्षण

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

निरंतर परीक्षण कैसे करें

  • उपयोगकर्ता कहानियों/आवश्यकताओं से परीक्षण स्वचालन सूट उत्पन्न करने के लिए दो उपकरणों का उपयोग करना
  • परीक्षण वातावरण बनाएँ.
  • परीक्षण डेटा बेड बनाने के लिए उत्पादन डेटा की प्रतिलिपि बनाएँ और उसे अनाम बनाएँ
  • API का परीक्षण करने के लिए सेवा वर्चुअलाइजेशन का उपयोग करें
  • समानांतर प्रदर्शन परीक्षण

सतत परीक्षण उपकरण

यहाँ सर्वश्रेष्ठ की एक चयनित सूची दी गई है सतत परीक्षण उपकरण :

1) क्वेरी सर्ज

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

निःशुल्क परीक्षण शुरू करें

2) जेनकिंस

जेनकिंस एक सतत एकीकरण उपकरण है जिसे का उपयोग करके लिखा गया है Java भाषा। इस उपकरण को GUI इंटरफ़ेस या कंसोल कमांड के माध्यम से कॉन्फ़िगर किया जा सकता है।

डाउनलोड लिंक: https://jenkins.io/

3) ट्रैविस

ट्रैविस GitHub पर होस्ट किया गया निरंतर परीक्षण उपकरण है। यह होस्टेड और ऑन-प्रिमाइसेस वेरिएंट प्रदान करता है। यह विभिन्न भाषाओं और अच्छे दस्तावेज़ों की एक विस्तृत श्रृंखला प्रदान करता है।

डाउनलोड लिंक: https://travis-ci.org/

4) Selenium

Selenium ओपन सोर्स सॉफ्टवेयर परीक्षण उपकरण है। यह सभी प्रमुख ब्राउज़रों का समर्थन करता है जैसे Firefox, क्रोम, IE, और सफारी। Selenium वेबड्राइवर का उपयोग वेब अनुप्रयोग परीक्षण को स्वचालित करने के लिए किया जाता है।

डाउनलोड लिंक: https://www.seleniumhq.org/

निरंतर परीक्षण के लाभ

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

निरंतर परीक्षण की चुनौतियाँ

  • पारंपरिक प्रक्रिया विकास एवं गुणवत्ता आश्वासन पेशेवरों के बीच सांस्कृतिक बदलाव को सीमित कर रही है।
  • एजाइल एवं DevOps वातावरण में परीक्षण के लिए DevOps कौशल एवं सही उपकरणों का अभाव।
  • विषम परीक्षण वातावरण जो कभी भी उत्पादन वातावरण को प्रतिबिम्बित नहीं करेगा।
  • पारंपरिक परीक्षण प्रक्रिया और शिथिल रूप से परिभाषित परीक्षण डेटा प्रबंधन।
  • लंबे कोड एकीकरण चक्र एकीकरण संबंधी समस्याएं और देरी से दोष समाधान उत्पन्न करते हैं
  • अपर्याप्त एवं अप्रभावी संसाधन एवं परीक्षण वातावरण
  • जटिल अनुप्रयोग वास्तुकला और व्यावसायिक तर्क जो DevOps को अपनाने में बाधा डालते हैं।

निष्कर्ष

  • सॉफ्टवेयर इंजीनियरिंग में, सतत परीक्षण शीघ्र परीक्षण, बार-बार परीक्षण, हर जगह परीक्षण और स्वचालित करने की एक प्रक्रिया है।
  • परीक्षण का पुराना तरीका हैंडऑफ केंद्रित था। सॉफ्टवेयर को एक टीम से दूसरी टीम को सौंप दिया जाता है
  • जेनकिंस, ट्रैविस, और Selenium लोकप्रिय हैं सतत परीक्षण और एकीकरण उपकरण.
  • सतत परीक्षण वितरण पाइपलाइन के प्रत्येक चरण के अनुसार कार्रवाई योग्य फीडबैक प्रदान करता है।
  • निरंतर परीक्षण से कोड की गुणवत्ता सुधारने में मदद मिलती है
  • पारंपरिक प्रक्रिया विकास एवं गुणवत्ता आश्वासन पेशेवरों के बीच सांस्कृतिक बदलाव को सीमित कर रही है।
  • लंबे कोड एकीकरण चक्र एकीकरण संबंधी समस्याएं और देरी से दोष समाधान उत्पन्न करते हैं