how implement efficient test automation agile world
Agile में स्वचालन बहुत महत्वपूर्ण है।
कई सुविधाओं के बारे में सोचें जो हर स्प्रिंट में जोड़े और वितरित किए जाते हैं। यह सुनिश्चित करने का एक तरीका होना चाहिए कि नई जोड़ी गई सुविधा मौजूदा कार्यक्षमता को प्रभावित नहीं कर रही है।
स्प्रिंट की कम अवधि के कारण, उत्पाद को स्प्रिंट छोर पर बढ़ाना हर बार पूरे सूट को निष्पादित करने के लिए व्यावहारिक रूप से असंभव है। एक स्वचालित परीक्षण सूट होना निश्चित रूप से यहाँ एक बड़ी भूमिका निभाएगा।
हालांकि, स्वचालन में शुरू करने और परिपक्व होने में निश्चित रूप से कुछ समय लगेगा। ऑटोमेशन गतिविधि की योजना बनाने और डिजाइन करने में प्रारंभिक निवेश करना निश्चित रूप से लंबे समय में भुगतान करेगा।
चुस्त परीक्षण उन्नत श्रृंखला के इस 3 भाग में, मैं अपने अनुभव के आधार पर विचार करने के लिए कुछ संकेत देने का प्रयास कर रहा हूं, क्योंकि आप अपनी परियोजना में स्वचालन लाते हैं।
यह भी पढ़े भाग 1 तथा भाग 2 पहले विषय की बेहतर समझ होनी चाहिए।
आप क्या सीखेंगे:
फुर्तीली में स्वचालित करने के लिए क्या?
जब भी हम अपनी परियोजनाओं में स्वचालन शुरू करने की योजना बना रहे हैं, हम में से अधिकांश तुरंत 'स्मोक टेस्ट सूट' या 'प्रतिगमन परीक्षण सूट' के लिए सबसे अच्छा होने के लिए वोट करते हैं स्वचालन के लिए उम्मीदवार । बेशक, वे हैं, लेकिन जब हम स्वचालन परीक्षण पिरामिड के बारे में सोचते हैं, तो हम यह निष्कर्ष निकाल सकते हैं कि यह पिरामिड की शीर्ष परत है जिसके बारे में हम बात कर रहे हैं।
उपरोक्त परत के अलावा हमारे पास अभी भी है सेवा परत और यह इकाई परत यह अधिक महत्वपूर्ण है।
विंडोज़ में बिन फाइलें कैसे खोलें
तो क्या परीक्षण, धूम्रपान परीक्षण और प्रतिगमन परीक्षण के अलावा, स्वचालन के लिए अच्छे उम्मीदवार हो सकते हैं?
(1) बनाता है और तैनाती
पारंपरिक वातावरण में, हम पूर्वनिर्धारित बिल्ड हैं जो साप्ताहिक, पाक्षिक या कभी-कभी मासिक भी हो सकते हैं। एक कारण यह है कि इन तैनाती में समय लगता है। इस दृष्टिकोण के साथ समस्या यह है कि हमें बग को ठीक करने के लिए पूर्वनिर्धारित तारीखों का इंतजार करना होगा या नई सुविधाओं को लागू करना होगा, इसलिए देरी हो रही है।
दूसरा कारण था - समय के साथ परीक्षकों का परीक्षण समाप्त हो जाना और बग और दोषों के साथ आना, प्रोग्रामर कार्यान्वयन के विभिन्न टुकड़ों में चले गए हैं और पुराने एप्लिकेशन के बग को हल करने में कम रुचि रखते हैं। यह दृष्टिकोण उत्पादन में सुविधा उपलब्ध कराने के लिए समय की देरी भी करता है।
बिल्डिंग और तैनाती एक ऐसी संस्था है जो दोहराव और कभी-कभी उबाऊ होती है। एक बिल्ड को तैनात करने में भी घंटों लग सकते हैं, जो परीक्षण में देरी करता है और अंततः प्रतिक्रिया देता है। दोहराव वाला कार्य होने के कारण, तैनाती स्वचालन के लिए एक अच्छा उम्मीदवार बन जाता है।
यह भी पढ़ें=> रिलीज़ और परिनियोजन प्रबंधन प्रक्रिया
स्वचालित बिल्ड परिनियोजन होने के कुछ फायदे हैं:
- तैनाती की गलतियाँ करने का कोई मौका नहीं (मानवीय गलतियाँ जैसे गलत फ़ाइल की नकल या गलत स्थान पर फ़ाइल कॉपी करने से बचा जा सकता है)
- तय होते ही परीक्षण करने के लिए बग / सुविधाएँ उपलब्ध हैं
- परीक्षकों को परीक्षण के लिए अधिक समय मिलता है
- यह सुविधा कम समय में उत्पादन में ले जाने के लिए तैयार है
- त्वरित प्रतिक्रिया
# 2) यूनिट परीक्षण / घटक परीक्षण
मैं पहले से ही इकाई परत को स्वचालित रूप से उपयोग करने के महत्व के बारे में बात कर चुका हूं मेरे अंतिम ट्यूटोरियल में टीडीडी दृष्टिकोण ।
यह पिरामिड की सबसे निचली परत बनाता है, इसलिए नींव और किसी भी नींव को ठोस बनाने की आवश्यकता होती है। विकास टीम को इस परत में अधिकांश परीक्षण को समायोजित करने के लिए सहयोग और काम करना चाहिए।
# 3) एपीआई / वेब सेवा परीक्षण
वेब सेवाएँ वह माध्यम है जिसमें दो अनुप्रयोग अंतर्निहित वास्तुकला या प्रौद्योगिकी से परेशान हुए बिना अनुरोध और प्रतिक्रिया के संदर्भ में डेटा या सूचना का आदान-प्रदान करते हैं। अधिक सरल शब्दों में - एक अनुरोध देना और प्रतिक्रिया को मान्य करना जो हम सामान्य रूप से वेब सेवाओं के परीक्षण में करते हैं।
वेब सेवाओं का परीक्षण उन वेब सेवा विधियों को कॉल करने के लिए प्रोग्राम लिखने को मजबूर करता है और उस मूल्य को मान्य करता है जिसे वह लौटाता है। हम भी विभिन्न क्रमपरिवर्तन और संयोजन के लिए सेवाओं का परीक्षण कर सकते हैं। एक्सेल शीट में सभी परीक्षण डेटा हैं और आपका प्रोग्राम डेटा को पढ़ सकता है और परीक्षण डेटा को एक पैरामीटर के रूप में पास करके परीक्षण योग्य सेवा को कॉल कर सकता है और परिणामों को मान्य कर सकता है।
यह विशेष परीक्षण पिरामिड की मध्य परत का हिस्सा है। अधिकांश कार्यात्मक परीक्षण को इस परत में धकेला जा सकता है। इस परत में उत्पन्न होने वाले दोषों को ठीक करना आसान हो जाता है और यूआई उपलब्ध होने तक उन्हें स्थगित नहीं किया जाता है।
# 4) जीयूआई के पीछे परीक्षण
जीयूआई के पीछे परीक्षण को स्वचालित करना वास्तविक जीयूआई को स्वचालित करने की तुलना में आसान है। एक और लाभ यह है कि यूआई परिवर्तनों के बावजूद, कार्यक्षमता बरकरार है। अगर यूआई तत्व में से कुछ को बदल दिया जाता है, तो भी सुविधा की कार्यक्षमता नहीं बदलती है। यह तकनीक मुख्य रूप से व्यावसायिक तर्क और नियमों पर केंद्रित है।
परीक्षकों के लिए बुनियादी sql साक्षात्कार प्रश्न
परीक्षण के मामले ज्यादातर एक सारणीबद्ध प्रारूप में या एक स्प्रेडशीट में लिखे गए हैं और फिक्स्चर / कोड स्निपेट लिखे गए हैं जो इन तालिकाओं से इनपुट को स्वीकार करते हैं और परिणाम लौटाते हैं। परिणाम तुरंत उत्पन्न होते हैं और गैर तकनीकी हितधारकों के लिए इन परीक्षणों को चलाने और अपेक्षित परिणाम प्राप्त करने के लिए एक बड़ा मंच प्रदान करते हैं। इस तकनीक को प्राप्त करने के लिए इस्तेमाल किया जाने वाला एक उपकरण है स्वास्थ्य ।
# 5) गैर-कार्यात्मक परीक्षण
इस गैर-कार्यात्मक परीक्षण तकनीक मूल रूप से लोड, प्रदर्शन और तनाव परीक्षण शामिल है। बाजार में आसानी से उपलब्ध विभिन्न उपकरण हैं जिनका उपयोग इन परीक्षणों को स्वचालित करने के लिए किया जा सकता है।
# 6) डेटा तुलना
हमारे कई परीक्षणों में हमें डेटा फ़ाइलों की तुलना करने की आवश्यकता होती है, जिसमें पाठ फाइलें, सीएसवी या एक्सेल फाइलें शामिल हैं
- इन फ़ाइलों की तुलना डेटा सत्यापन करने के लिए आधार रेखा से की जा सकती है
- तुलना एक ही डेटा की हो सकती है लेकिन एक अलग प्रारूप की। यह मूल रूप से तब होता है जब हमारे पास दो अलग-अलग स्रोतों से उत्पन्न समान फ़ाइलों में से दो होते हैं
ये तुलना दोहराई जा सकती है, इसलिए स्वचालित है।
# 7) खोजना
फ़ाइलों के एक बड़े समूह से एक विशिष्ट इकाई की खोज करना भी थकाऊ हो सकता है और भगवान हमारी मदद करता है यदि यह दोहराव वाला कार्य है। एक उदाहरण लॉग फ़ाइलों के माध्यम से खोज रहा है। अगर यह भी एक थकाऊ और दोहराव वाला काम है तो हमें इसे स्वचालित करने के बारे में सोचना चाहिए।
# 8) दोहराए जाने वाले कार्य
अंत उपयोगकर्ताओं के साथ बातचीत करने या इसे विकसित करने के लिए कहानियां लिखने के साथ शुरू होने वाला कोई भी कार्य, यदि यह दोहरावदार है, तो स्वचालन में विचार किया जाना चाहिए। हमें यह समझना चाहिए कि स्वचालन करने का मतलब यह नहीं है कि इसमें एक परिष्कृत उपकरण / तकनीक शामिल होनी चाहिए। यह उद्देश्य को हल करने के लिए जावास्क्रिप्ट के साथ एक सरल वीबी मैक्रो या जावा प्रोग्राम हो सकता है।
कहा से शुरुवात करे?
वहाँ कोई बुलेट अंक या कदम गाइड द्वारा एक कदम है कि जहां स्वचालन शुरू करने के लिए कहते हैं। टीम के लिए स्वचालन को मारने से आपको मंथन करने की आवश्यकता है और आप जिन पहलुओं को देख रहे हैं उन पर गहन विचार लागू करने के लिए, या स्वचालन का अंतिम लक्ष्य क्या है?
आप द्वारा शुरू कर सकते हैं:
- दोहराए जाने वाले कार्यों की पहचान करना,
- आवेदन के दर्द क्षेत्रों की पहचान करना
- परीक्षण चुनौतियों की पहचान करना
यदि आपके पास टूर प्रोजेक्ट / टीम में कोई स्वचालन नहीं है, तो आप शायद बहुस्तरीय दृष्टिकोण के लिए जा सकते हैं जहां इकाई परीक्षणों को स्वचालित करने के लिए पहले लक्षित किया जा सकता है। यह आपको उच्चतम आरओआई प्रदान करेगा।
इसके साथ ही, परीक्षक धूम्रपान परीक्षण सूट और फिर प्रतिगमन पर काम करना शुरू कर सकते हैं। एक बार टीम ने कौशल हासिल कर लिया और सहज महसूस किया, धीरे-धीरे अन्य दोहराए जाने वाले कार्यों को स्वचालित करने की दिशा में आगे बढ़े।
अपनी आवश्यकताओं का मूल्यांकन किए बिना एक नया उपकरण खरीदने में सीधे कूदें नहीं। जैसा कि मैंने पहले कहा था, एक साधारण कार्यक्रम या एक मैक्रो दोहरावदार कार्यों में से कुछ को स्वचालित करने के आपके उद्देश्य को हल कर सकता है। इसलिए, एक उपकरण खरीदने का निर्णय लेने से पहले, पीओसी करें और मूल्यांकन करें कि क्या यह उपकरण उपयोग करने के लिए प्रभावी होगा।
कृपया इन दस्तावेजों से गुजरें, जहां मैंने स्वचालन के लिए सही परीक्षण मामलों का चयन करने के बारे में अधिक जानकारी प्रदान की है और निम्नलिखित लेखों में स्वचालन प्रयासों का अनुमान लगाने के बारे में कुछ जानकारी दी गई है। ऑटोमेशन परीक्षण प्रक्रिया की चुनौतियों के लिए मैनुअल तथा सेलेनियम स्वचालन परियोजना का परीक्षण अनुमान।
एक बार स्वचालन और उपकरण के दायरे को अंतिम रूप देने के बाद, रूपरेखा को डिजाइन करना है।
याद रखें, एजाइल में, रूपरेखा विकसित की गई है। पहले पूरे ढांचे को डिजाइन करने का लक्ष्य न रखें और फिर लागू करें। एमवीपी (न्यूनतम व्यवहार्य उत्पाद) के लिए डिज़ाइन और कार्यान्वित करें और फिर अधिक सुविधाओं को शामिल करने के लिए मौजूदा ढांचे को बढ़ाएं। अगर आप चाहते हैं कि आपका ऑटोमेशन सूट मजबूत हो तो आपको अच्छी कोडिंग और डेवलपमेंट प्रैक्टिस भी करनी होगी।
कुछ बेस्ट प्रैक्टिस
- एक बार में 100% स्वचालित करने का लक्ष्य न रखें। छोटा शुरू करो। याद रखें यह एक विकसित प्रक्रिया है
- उसी फुर्तीली प्रथाओं का पालन करें जो आप किसी भी सॉफ़्टवेयर विकास के लिए अनुसरण करते हैं। स्वचालन के लिए भी उचित योजना और डिजाइनिंग की आवश्यकता होती है। जब आप स्वचालित कर रहे हों तो आप अपने तकनीकी ऋणों को नहीं बढ़ाना चाहेंगे
- अपना टेस्ट ऑटोमेशन बैकलॉग बनाएं। यह बैकलॉग एक नई सुविधा को लागू करने से लेकर मौजूदा फीचर को बढ़ाने तक हो सकता है। अपनी पहचान की गई वस्तुओं को कहानी के बिंदु दें और तदनुसार नियत करें। अपने स्प्रिंट के लिए इन बैकलॉग आइटम ले लो और एक Kanban बोर्ड का उपयोग कर इसे ट्रैक
- अपनी स्वचालन कहानियों के लिए स्वीकृति मानदंड लिखें। इन स्वीकृति मानदंडों में शामिल हो सकते हैं:
- सीआई के साथ परीक्षण सूट का एकीकरण
- सूट को एक केंद्रीकृत स्थान पर पोर्ट करना
- परिणाम ईमेल के माध्यम से भेजें
- परीक्षण विफल होने पर त्रुटि लॉग फ़ाइलों को भेजने का प्रावधान
- कोई अन्य मापदंड…।
- किसी नए टूल का मूल्यांकन करने में समय न लगाएं। आप नए टूल से जो कुछ भी चाहते हैं, उसकी एक प्राथमिकता सूची बना सकते हैं और उसका मूल्यांकन करने के लिए एक समयरेखा तय कर सकते हैं। यदि आप निर्धारित समय में अपने परिणाम नहीं देखते हैं, तो अगले एक पर आगे बढ़ें
- स्वचालित करने के लिए एक विवेकपूर्ण निर्णय लें। स्वचालन का प्रत्येक टुकड़ा प्रभावी नहीं है और एक सकारात्मक आरओआई प्राप्त करता है। केवल स्वचालन के लिए स्वचालित मत करो
- उचित विकास पर्यावरण का उपयोग करें। अपने स्थानीय के लिए कोड न रखें। अपना कोड रखने के लिए एक रिपॉजिटरी रखें और दिन के अंत में अपने कोड पर जाँच करने की आदत डालें
- इसी तरह से, एक केंद्रीकृत स्थान से अपने स्वचालित परीक्षणों को निष्पादित करने का प्रयास करें। इसे व्यक्ति स्वतंत्र करें। यह होना चाहिए कि टीम में से कोई भी अपनी मशीन से स्क्रिप्ट को ट्रिगर कर सकता है और परिणाम ईमेल के माध्यम से प्राप्त किए जाते हैं
फुर्तीली सिद्धांत क्या हैं जिन्हें स्वचालन पर लागू किया जा सकता है?
कुछ बहुत ही सरल उपाय:
- चीजों को सरल रखें। जो आवश्यक है, वह करें। मैंने कई उदाहरण देखे हैं जहां हम चीनी लेपित कार्यान्वयन देते हैं जो स्वचालन को अनावश्यक रूप से जटिल बनाता है। जिन चीजों की आवश्यकता नहीं है, उन्हें टाल दें
- साधारण काम करने का मतलब सबसे आसान काम करना नहीं है। इसका मतलब है कि आपके स्वचालन लक्ष्यों को प्राप्त करने के लिए बच्चे के कदम उठाना। आपको स्वचालित करने के लिए एक सरल सुविधा हो सकती है, लेकिन ऐसा हो सकता है कि स्वचालन का कार्यान्वयन जटिल हो जाए
- पूरी टीम दृष्टिकोण लागू करें । मेरा मानना है कि हर कोई चुस्त टीम में एक परीक्षक है। चलो स्वचालन के काम को केवल परीक्षकों के साथ या केवल डेवलपर्स के साथ ही सीमित न करें। प्रोजेक्ट के लिए ऑटोमेशन हासिल करने के लिए प्रत्येक डिसिप्लिन को एक-दूसरे के जूते में रखना होगा। कार्यान्वयन के साथ आने वाले किसी भी तकनीकी मुद्दों को हल करने के लिए यह दृष्टिकोण भी प्रभावी होगा
- एजाइल में रूपरेखा विकसित की गई है । अनावश्यक रूप से स्वचालन के टुकड़े को जटिल बनाने वाली बहुत सी सुविधाएँ प्रदान करने का प्रयास न करें
- सही समय पर करें। तकनीकी ऋणों से बचने के लिए इसे ठीक से डिजाइन करने के लिए कुछ समय लें
- लगातार प्रतिक्रिया प्राप्त करें
- उचित कोडिंग मानक लागू करें और अभ्यास करें। डिजाइन सरल होना चाहिए, OOPS अवधारणाओं को लागू करें और परीक्षणों को एक दूसरे से स्वतंत्र रखने का प्रयास करें। परीक्षण सूट के 'रखरखाव' जैसे कारकों पर विचार करें
क्या मुझे फुर्तीली में स्वचालित करते समय कोई चुनौती दिखाई देती है?
फुर्तीली दुनिया में स्वचालित के साथ आता है अपनी चुनौतियां :
- हमें वास्तव में अच्छी योजना बनाने की जरूरत है। उपयुक्त परीक्षण सूट, उपकरण, रूपरेखा और दृष्टिकोण का निर्णय करना, सभी को एक उचित रणनीति की आवश्यकता होती है। हालाँकि, हमें याद रखना चाहिए कि यह योजना से अधिक नहीं है। MVP (न्यूनतम व्यवहार्य उत्पाद) को ध्यान में रखें
- कोड की गुणवत्ता पर समझौता क्योंकि हम तेजी से वितरित करना चाहते हैं: हमें याद रखना चाहिए कि तकनीकी ऋण स्वचालन में भी अच्छी तरह से पकड़ रखते हैं
- टीम ज्यादातर समय टीमें 'संपूर्ण-टीम-दृष्टिकोण' का पालन नहीं करती हैं और परीक्षकों के लिए स्वचालित सूट को कोडिंग और बनाए रखने की पूरी ज़िम्मेदारी छोड़ देती हैं, जो परीक्षकों की ज़िम्मेदारी को जोड़ता है
- यूआई को स्वचालित करने की तुलना में कार्यात्मक परीक्षणों को स्वचालित करना कठिन है
इन सभी चुनौतियों के बीच, सबसे महत्वपूर्ण चुनौती परीक्षकों के कौशल को उन्नत करना है।
एक टीम के लिए स्वचालन को करना और बनाए रखना लगभग एक प्रोग्रामिंग (विकास) गतिविधि की तरह है जो प्रोग्रामर (डेवलपर्स) करते हैं। न केवल कार्यान्वयन बल्कि सीआई के लिए स्वचालित सूट को एकीकृत करना भी महत्वपूर्ण है और इसके लिए आवश्यक है कि परीक्षक नए कौशल सीखें और नए उपकरण और तकनीकें सीखें।
कुछ ओपन सोर्स टूल जो एजाइल में फिट होते हैं
- सेलेनियम वेबड्राइवर - के लिए
- सेलेनियम ग्रिड - समानांतर निष्पादन के लिए
- ककड़ी - बीडीडी के लिए
- JMeter - प्रदर्शन परीक्षण के लिए
- साबुन - वेब सेवाओं के लिए
- वायरमॉक - वेब सेवा परीक्षण जब जाले सेवा उपलब्ध नहीं है।
- युग - मोबाइल के लिए
मुझे प्रसिद्ध चुस्त परीक्षण क्वैडेंट के साथ निष्कर्ष निकालना चाहिए:
चतुर्भुज १ यूनिट और घटक परीक्षण है जिसे टीडीडी दृष्टिकोण के साथ स्वचालित किया जा सकता है।
चतुर्भुज २ कार्यक्षमता परीक्षण के बारे में बात करता है, जहां हम BDD दृष्टिकोण लागू कर सकते हैं।
चतुर्भुज ३ एकमात्र चतुर्थांश है जिसमें मैनुअल परीक्षण की गुंजाइश है।
चतुर्भुज ४ मूल रूप से परीक्षण के बारे में बात करता है जिसे कुछ उपकरणों द्वारा प्राप्त किया जा सकता है। इसमें भार परीक्षण, तनाव परीक्षण, आयतन परीक्षण और सुरक्षा परीक्षण शामिल हैं।
निष्कर्ष
स्मोक टेस्ट और रिग्रेशन टेस्ट के अलावा ऑटोमेशन की बहुत गुंजाइश है। इसलिए, हमें केवल इस प्रकार के परीक्षण के लिए स्वचालन को परिभाषित करने की अवधारणा से मुक्त तोड़ना होगा, जो बदले में इसका मतलब है कि एजाइल में एक परीक्षक का कौशल सेट केवल बग और दोष खोजने की तुलना में अधिक मांग करता है।
परीक्षकों को अधिक सहयोगी होने और उनकी प्रोग्रामिंग / स्वचालन कौशल को तेज करने की आवश्यकता है। यदि अधिक से अधिक परीक्षण स्वचालित हैं, तो इससे परीक्षकों को अधिक परिष्कृत और चुनौतीपूर्ण कार्यों में खुद को संलग्न करने के लिए अधिक समय मिलेगा।
मॉडेम और राउटर कैसा दिखता है
लेखक के बारे में: यह लेख एसटीएच टीम के सदस्य शिल्पा का है। वह इंटरनेट विज्ञापन, निवेश बैंकिंग और दूरसंचार जैसे डोमेन में पिछले 10+ वर्षों से सॉफ़्टवेयर परीक्षण क्षेत्र में काम कर रही है।
कृपया अपनी टिप्पणी और विचार नीचे साझा करें।
अनुशंसित पाठ
- AutoIt Tutorial - AutoIt Download, Install & Basic AutoIt Script
- क्या परीक्षणकर्ता स्वचालन के कारण परीक्षण से अधिक अपनी पकड़ खो रहे हैं?
- मैनुअल और स्वचालन परीक्षण चुनौतियां
- सर्वश्रेष्ठ सॉफ्टवेयर परीक्षण उपकरण 2021 (क्यूए टेस्ट स्वचालन उपकरण)
- 10-चरण स्वचालन परीक्षण प्रक्रिया: अपने संगठन में स्वचालन परीक्षण कैसे शुरू करें
- क्या आप एक मैनुअल या स्वचालन परीक्षण विशेषज्ञ हैं? हमारे लिए काम का समय!
- Android अनुप्रयोगों के लिए 11 सर्वश्रेष्ठ स्वचालन उपकरण (Android App परीक्षण उपकरण)
- शीर्ष 10+ सर्वश्रेष्ठ सॉफ्टवेयर परीक्षण पुस्तकें (मैनुअल और स्वचालन परीक्षण पुस्तकें)