इस गाइड का उद्देश्य परीक्षण ऑटोमेशन एन फ्रेमवर्क की गहन खोज की पेशकश करना है, जिसमें विभिन्न फ्रेमवर्क प्रकार, सॉफ्टवेयर परीक्षण, घटकों आदि में उनका महत्व शामिल है। यहां, हम प्रसिद्ध सेलेनियम ऑटोमेशन फ्रेमवर्क और इसके हाइब्रिड फ्रेमवर्क पर भी गौर करते हैं।
किसी भी सॉफ़्टवेयर को अंतिम उपयोगकर्ताओं के हाथों में आने से पहले किसी प्रकार के परीक्षण से गुजरना होगा। इस प्रकार, सॉफ़्टवेयर परीक्षण किसी भी सॉफ़्टवेयर विकास प्रक्रिया का एक अनिवार्य हिस्सा है। यह उपयोगकर्ताओं को दोषरहित और गुणवत्तापूर्ण सॉफ़्टवेयर उत्पादों की डिलीवरी सुनिश्चित करता है।
व्यवसाय-महत्वपूर्ण सॉफ़्टवेयर को डिलीवरी से पहले कठोर परीक्षण की आवश्यकता होती है, जिसे अक्सर परीक्षण स्वचालन ढांचे की सहायता से स्वचालित परीक्षण के रूप में आयोजित किया जाता है। जब स्वचालित परीक्षण की बात आती है तो ये ढाँचे महत्वपूर्ण भूमिका निभाते हैं।
परीक्षण स्वचालन ढाँचे में गहराई से उतरने से पहले, आइए एक ढाँचे की अवधारणा को समझें।
एक रूपरेखा परिभाषित दिशानिर्देशों और सर्वोत्तम प्रथाओं का एक सेट है जिसका अपेक्षित परिणामों को पूरा करने के लिए व्यवस्थित रूप से पालन किया जाना चाहिए। इसलिए, हमें अपने स्वचालन लक्ष्यों को पूरा करने के लिए विशिष्ट स्वचालन ढांचे द्वारा निर्धारित इन दिशानिर्देशों और प्रथाओं से निपटना होगा।
एक परीक्षण स्वचालन ढांचा उपकरण और दिशानिर्देशों का एक संग्रह है जो परीक्षण मामलों के डिजाइन, निर्माण और निष्पादन में सहायता करता है। इन दिशानिर्देशों में परीक्षण डेटा को संभालने, ऑब्जेक्ट रिपॉजिटरी का इलाज करने आदि के लिए कोडिंग मानक, अभ्यास और प्रक्रियाएं शामिल हैं, जो स्वचालित परीक्षण के लिए आवश्यक हैं।
सॉफ्टवेयर विकास एक सतत चक्र है जहां एक विशेष चरण बार-बार होता है। तो परीक्षण करें. उदाहरण के लिए, एक बार जब डेवलपर्स एक नया संस्करण जारी करते हैं या उत्पादन में पाए गए कुछ बग को ठीक करते हैं, तो सॉफ़्टवेयर को फिर से परीक्षण करने की आवश्यकता होती है। उस स्थिति में, परीक्षण मामलों के पूरे और एक ही सेट को बार-बार मैन्युअल रूप से चलाना एक कठिन काम होगा। ऑटोमेशन फ्रेमवर्क उपकरणों के एक सेट के साथ आते हैं जो आपको एक प्रोग्राम के रूप में मैन्युअल परीक्षण प्रयासों को आसानी से संहिताबद्ध करने देते हैं। इसलिए जब भी आपको किसी विशिष्ट सुविधा का परीक्षण करने की आवश्यकता हो, तो आप बस उस प्रोग्राम को चला सकते हैं। इस तरह, स्वचालन ढाँचे उपयोगकर्ताओं के लिए महत्वपूर्ण लाभ लाएंगे, जैसे उच्च कोड पुन: प्रयोज्यता, बढ़ी हुई पोर्टेबिलिटी और कम स्क्रिप्ट रखरखाव प्रयास और लागत।
एक ढांचा स्वचालित परीक्षण के लिए तकनीकी कार्यान्वयन दिशानिर्देश के रूप में कार्य करता है। स्वचालन परीक्षण ढांचे का उपयोग निस्संदेह आपकी परीक्षण टीम की परीक्षण गति और दक्षता को बढ़ावा देगा। इसके अलावा, वे जोखिमों को कम करते हुए परीक्षण की सटीकता में सुधार करेंगे।
कोड पुन: प्रयोज्यता इन परीक्षण स्वचालन ढाँचों का एक और प्रमुख लाभ है। वे न केवल परीक्षकों को विभिन्न परिदृश्यों में कोड का पुन: उपयोग करने की अनुमति देते हैं बल्कि उन्हें मानक प्रारूप में परीक्षण मामले बनाने में भी मदद करते हैं।
निम्नलिखित उन लाभों की सूची है जो आप परीक्षण स्वचालन ढाँचे के माध्यम से प्राप्त कर सकते हैं।
विभिन्न परीक्षण सुइट्स के बीच एक अच्छी तरह से परिभाषित रणनीति स्थापित करना
बेहतर परीक्षण गति
कोड पुन: प्रयोज्यता
यूआरएल या एप्लिकेशन का सटीक परीक्षण करने की क्षमता
परीक्षण कोड को आसानी से बनाए रखने की क्षमता
कोड रखरखाव लागत में कमी
उच्च परीक्षण कवरेज
न्यूनतम मानवीय हस्तक्षेप
सॉफ़्टवेयर का निरंतर परीक्षण और वितरण प्राप्त करने की क्षमता
विभिन्न परीक्षण सुइट्स के बीच एक अच्छी तरह से परिभाषित रणनीति स्थापित करना
चूँकि अब हमारे पास टेस्ट ऑटोमेशन फ्रेमवर्क का एक बुनियादी विचार है, आइए बाजार में विभिन्न टेस्ट ऑटोमेशन फ्रेमवर्क प्रकारों को देखने के लिए आगे बढ़ें। मूल रूप से, छह प्रकार के ऑटोमेशन फ्रेमवर्क हैं, जिनमें से प्रत्येक की अलग-अलग वास्तुकला, फायदे और नुकसान हैं।
छोटे पैमाने के अनुप्रयोगों के परीक्षण के लिए यह सबसे सरल और सबसे अधिक इस्तेमाल किया जाने वाला फ्रेमवर्क प्रकार है। इन फ्रेमवर्क को रिकॉर्ड और प्लेबैक फ्रेमवर्क के रूप में भी जाना जाता है। रैखिक ढाँचे आपको प्रत्येक परीक्षण मामले के लिए व्यक्तिगत रूप से परीक्षण स्क्रिप्ट बनाने और निष्पादित करने की अनुमति देते हैं। परीक्षक मैन्युअल रूप से उपयोगकर्ता के व्यवहार के प्रत्येक चरण को रिकॉर्ड करता है, जैसे कि नेविगेशन और उपयोगकर्ता इनपुट, और पहले दौर में चेकपॉइंट जोड़ता है। फिर वह रिकॉर्ड की गई स्क्रिप्ट को अगले राउंड में चलाता है।
रैखिक स्वचालन ढांचे के लिए परीक्षकों को कस्टम कोड लिखने की आवश्यकता नहीं होती है। इस प्रकार, उनका उपयोग कोई भी कर सकता है, भले ही उसके पास परीक्षण स्वचालन में अधिक विशेषज्ञता न हो। ये फ्रेमवर्क परीक्षकों को तेजी से रिकॉर्ड करने की अनुमति देकर परीक्षण स्क्रिप्ट बनाने का एक आसान तरीका प्रदान करते हैं। इसके अलावा, परीक्षण वर्कफ़्लो परीक्षण में शामिल किसी भी व्यक्ति के लिए आसानी से समझ में आता है क्योंकि परीक्षण स्क्रिप्ट अनुक्रमिक क्रम में व्यवस्थित होती हैं।
लीनियर फ्रेमवर्क का प्रमुख नकारात्मक पक्ष परीक्षण स्क्रिप्ट में परीक्षण डेटा को हार्डकोड किया जाना है, जो विभिन्न परीक्षण डेटा के साथ उन परीक्षण मामलों को फिर से चलाने की क्षमता को रोकता है। परीक्षण स्क्रिप्ट को बनाए रखना भी कठिन है क्योंकि एप्लिकेशन परिवर्तनों के लिए उनमें बहुत सारे संशोधनों की आवश्यकता होगी।
ये ढाँचे परीक्षकों को मॉड्यूल-वार परीक्षण मामले बनाने की अनुमति देते हैं, जिससे संपूर्ण एप्लिकेशन को छोटे मॉड्यूल में विभाजित किया जाता है। परीक्षण स्क्रिप्ट के इस मॉड्यूल-वार पृथक्करण के परिणामस्वरूप परीक्षण कोड का आसान रखरखाव और मापनीयता होती है। इसके अलावा, यह आपको अन्य मॉड्यूल से स्वतंत्र व्यक्तिगत परीक्षण स्क्रिप्ट लिखने की अनुमति देता है।
हालाँकि, उपयोगकर्ताओं को परीक्षण मामलों का विश्लेषण करने और मॉड्यूलर परीक्षण ढांचे के साथ पुन: प्रयोज्य प्रवाह खोजने में अधिक समय व्यतीत करना चाहिए। इसके अलावा, हार्डकोडेड परीक्षण डेटा विभिन्न परीक्षण डेटा सेटों के साथ परीक्षण स्क्रिप्ट का उपयोग करना असंभव बना देता है। इन ढाँचों को स्थापित करने के लिए कोडिंग ज्ञान की भी आवश्यकता होती है।
इन रूपरेखाओं का लक्ष्य परीक्षण स्क्रिप्ट के तर्क को परीक्षण डेटा से अलग करना है। इस प्रकार उपयोगकर्ता विभिन्न परीक्षण डेटा सेट पास करके स्वचालित परीक्षण स्क्रिप्ट बना और निष्पादित कर सकते हैं। ये परीक्षण डेटा बाहरी फ़ाइलों और संसाधनों जैसे स्प्रेडशीट, XML फ़ाइलें, MS Access और SQL डेटाबेस में संग्रहीत किया जा सकता है। परीक्षक परीक्षण स्क्रिप्ट को इन बाहरी संसाधनों से जोड़कर परीक्षण डेटा प्राप्त कर सकते हैं।
मॉड्यूलर फ्रेमवर्क की तुलना में डेटा-संचालित फ्रेमवर्क आवश्यक परीक्षण स्क्रिप्ट की संख्या को काफी कम कर देते हैं। इसके अलावा, परीक्षण मामलों का पुन: उपयोग करने की क्षमता अधिक परीक्षण कवरेज और लचीलापन प्रदान करती है। उपयोगकर्ता आवश्यक होने पर केवल परीक्षण डेटा को बदलकर परीक्षण चला सकते हैं। इस प्रकार, ये ढाँचे समय की बचत करते हुए बहुत तेजी से परीक्षण करने में सक्षम बनाते हैं।
हालाँकि, एक बड़ी खामी इन रूपरेखाओं का उपयोग करके परीक्षण मामले लिखने के लिए अच्छे प्रोग्रामिंग ज्ञान की आवश्यकता है। इसके अलावा, इन ढांचों को स्थापित करने में काफी समय लगेगा।
इन रूपरेखाओं को टेबल-संचालित परीक्षण के रूप में भी जाना जाता है। यहां, हम तालिका प्रारूप का उपयोग करके स्प्रेडशीट में प्रत्येक निष्पादन योग्य विधि के लिए कीवर्ड/क्रिया शब्द परिभाषित करते हैं। फिर, स्प्रेडशीट में परिभाषित कीवर्ड के आधार पर स्वचालित परीक्षण स्क्रिप्ट चलाई जाती हैं। कीवर्ड पढ़ने और आवश्यक तरीकों को कॉल करने का तर्क मुख्य वर्ग में शामिल है।
ये फ्रेमवर्क एकाधिक परीक्षण स्क्रिप्ट में एक ही कीवर्ड के उपयोग की अनुमति देकर कोड पुन: प्रयोज्य का समर्थन करते हैं। फ्रेमवर्क का उपयोग करने के लिए उन्हें न्यूनतम कोडिंग ज्ञान की भी आवश्यकता होती है। इसके अलावा, वे परीक्षण किए जाने वाले एप्लिकेशन से स्वतंत्र परीक्षण स्क्रिप्ट के निर्माण की अनुमति देते हैं।
हालाँकि, इस ढांचे को लागू करना जटिल और समय लेने वाला है, जिसमें प्रारंभिक लागत अधिक है। ये ढाँचे केवल छोटे ऐप्स और परियोजनाओं के परीक्षण के लिए उपयुक्त हैं।
जैसा कि नाम से पता चलता है, हाइब्रिड फ्रेमवर्क को ऊपर उल्लिखित दो या दो से अधिक फ्रेमवर्क प्रकारों के मिश्रण के रूप में संदर्भित किया जा सकता है। वे किसी भी कमियों को कम करते हुए विशिष्ट ढाँचे के प्रकारों की ताकत का लाभ उठाने में मदद करते हैं।
इन हाइब्रिड फ़्रेमवर्क का उपयोग अक्सर मैन्युअल परीक्षकों द्वारा किया जाता है जिनके पास प्रोग्रामिंग में अधिक विशेषज्ञता नहीं होती है। वे केवल कीवर्ड, टेस्ट डेटा और ऑब्जेक्ट रिपॉजिटरी का संदर्भ ले सकते हैं और बिना किसी कोडिंग की आवश्यकता के टेस्ट केस बनाने के लिए आगे बढ़ सकते हैं।
व्यवहार-संचालित विकास ढांचे का लक्ष्य एक ऐसा मंच बनाना है जो डेवलपर्स, व्यापार विश्लेषकों और परीक्षकों सहित किसी को भी परीक्षण प्रक्रिया में सक्रिय रूप से शामिल होने की अनुमति देता है। इस प्रकार, वे आपकी टीम के डेवलपर्स और परीक्षकों के बीच सहयोग को बढ़ाते हैं। इस फ्रेमवर्क प्रकार का प्रमुख लाभ परीक्षण विनिर्देशों को लिखने के लिए गैर-तकनीकी, प्राकृतिक भाषा का उपयोग करने की क्षमता है।
हालाँकि, इस प्रकार के ढांचे का उपयोग करने के लिए उपयोगकर्ताओं के पास अच्छे तकनीकी कौशल और परीक्षण-संचालित विकास का पिछला अनुभव होना चाहिए। जैसा कि आप देख सकते हैं, उपरोक्त परीक्षण स्वचालन ढाँचे के प्रकारों की अपनी ताकत और कमजोरियाँ हैं। इस प्रकार, आपके स्वचालन प्रोजेक्ट के लिए परीक्षण योजना तैयार करते समय सही फ्रेमवर्क प्रकार चुनना आवश्यक है।
सेलेनियम वेब एप्लिकेशन परीक्षण के लिए एक अग्रणी ओपन-सोर्स परीक्षण स्वचालन ढांचा है। इस ढांचे में जावास्क्रिप्ट ढांचे पर निर्मित परीक्षण स्वचालन उपकरणों का एक सेट शामिल है।
सेलेनियम परीक्षण स्क्रिप्ट लिखने के लिए एक इंटरफ़ेस प्रदान करके परीक्षकों को अपने परीक्षण को तेज़ करने में सक्षम बनाता है। ये स्क्रिप्ट विभिन्न भाषाओं जैसे C#, PHP, Python, Ruby और JavaScript में लिखी जा सकती हैं। उपयोगकर्ता सेलेनियम का उपयोग करके विभिन्न ब्राउज़र और ओएस संयोजनों के लिए अपने स्वयं के स्वचालन परीक्षण बना सकते हैं।
सेलेनियम पारिस्थितिकी तंत्र में निम्नलिखित चार प्रमुख घटक शामिल हैं।
सेलेनियम वेब ड्राइवर एक ब्राउज़र स्वचालन उपकरण है जो आपको क्रॉस-ब्राउज़र परीक्षण करने की अनुमति देता है। यह सेलेनियम परीक्षण सूट का सबसे महत्वपूर्ण घटक है।
वेब ड्राइवर अनुरोध स्वीकार करता है और उन्हें W3C मानक का पालन करने वाले प्रोटोकॉल पर ब्राउज़र को भेजता है। यह संचार ब्राउज़र-विशिष्ट ड्राइवर के माध्यम से होता है। यह ब्राउज़र-विशिष्ट ड्राइवर सीधे ब्राउज़र से संचार करता है और उसे प्रबंधित करता है।
सेलेनियम वेब ड्राइवर सी#, पायथन, जावा, पीएचपी, जावास्क्रिप्ट, पर्ल और रूबी जैसी कई प्रोग्रामिंग भाषाओं के साथ संगत है। दूरस्थ सिस्टम पर परीक्षण चलाने के लिए परीक्षक सेलेनियम ग्रिड के साथ वेबड्राइवर का उपयोग कर सकते हैं।
सेलेनियम ग्रिड सेलेनियम आरसी के साथ प्रयोग किया जाने वाला एक उपकरण है। यह ब्राउज़र और ओएस के विभिन्न संयोजनों पर समानांतर रूप से परीक्षण आयोजित करने का समर्थन करता है। यह क्लाइंट द्वारा भेजे गए आदेशों को दूरस्थ ब्राउज़र इंस्टेंसेस पर रूट करता है और इस प्रकार दूरस्थ मशीनों पर वेब ड्राइवर स्क्रिप्ट निष्पादित करने में सक्षम बनाता है।
सेलेनियम ग्रिड सेलेनियम आरसी के साथ प्रयोग किया जाने वाला एक उपकरण है। यह ब्राउज़र और ओएस के विभिन्न संयोजनों पर समानांतर रूप से परीक्षण आयोजित करने का समर्थन करता है। यह क्लाइंट द्वारा भेजे गए आदेशों को दूरस्थ ब्राउज़र इंस्टेंसेस पर रूट करता है और इस प्रकार दूरस्थ मशीनों पर वेब ड्राइवर स्क्रिप्ट निष्पादित करने में सक्षम बनाता है।
सेलेनियम आरसी भी सेलेनियम परीक्षण सूट का एक अन्य आवश्यक घटक है। यह जावा से निर्मित एक सर्वर है, जो HTTP के माध्यम से ब्राउज़र के लिए कमांड स्वीकार करता है। सेलेनियम आरसी परीक्षकों को विभिन्न प्रोग्रामिंग भाषाओं में टेस्ट केस लिखने की अनुमति देता है।
सेलेनियम आरसी सेलेनियम आईडीई और सेलेनियम कोर की कई कमियों को दूर करने में मदद करता है। हालाँकि, यह वेब ड्राइवर की तुलना में धीमा प्रदर्शन करता है क्योंकि यह सेलेनियम कोर नामक एक अतिरिक्त जावास्क्रिप्ट परत के माध्यम से ब्राउज़र के साथ संचार करता है।
यह फ्रेमवर्क अत्यधिक अनुकूलन योग्य, अनुकूलनीय और सभी प्रमुख ब्राउज़रों, ऑपरेटिंग सिस्टम और परीक्षण फ्रेमवर्क के साथ संगत है। जब स्वचालन परीक्षण की बात आती है तो इसने सेलेनियम को अपने आविष्कार के 16 वर्षों के बाद भी वास्तविक विकल्प बना दिया है।
सेलेनियम फ्रेमवर्क की कोड संरचना कोड पुन: प्रयोज्यता का समर्थन करती है और आसान कोड रखरखाव की अनुमति देते हुए उच्च कोड पठनीयता प्रदान करती है। यह कई उपयोगकर्ताओं को एक ही सॉफ्टवेयर मॉड्यूल पर काम करने में भी सक्षम बनाता है।
इसके अलावा, सेलेनियम में एक उपयोगकर्ता के अनुकूल इंटरफ़ेस है जो परीक्षणों के आसान निर्माण और निष्पादन की सुविधा प्रदान करता है। इसकी ओपन-सोर्स प्रकृति उपयोगकर्ताओं को अपने स्वयं के एक्सटेंशन बनाने की अनुमति देती है जो अनुकूलित कार्यों के एकीकरण और उच्च स्तर पर उनमें हेरफेर का समर्थन करती है। सेलेनियम परीक्षण सीधे ब्राउज़र पर चलते हैं और जैसे-जैसे वे आगे बढ़ते हैं, उपयोगकर्ता देख सकते हैं।
सेलेनियम ढांचे की कुछ उल्लेखनीय विशेषताएं निम्नलिखित हैं।
क्रॉस-ब्राउज़र अनुकूलता सेलेनियम लगभग सभी प्रमुख ब्राउज़र जैसे Google Chrome, फ़ायरफ़ॉक्स, सफारी और ओपेरा का समर्थन करता है। आप सरल कमांड का उपयोग करके कोई भी ब्राउज़र लॉन्च कर सकते हैं।
कई प्रोग्रामिंग भाषाओं के लिए समर्थन सेलेनियम उपयोगकर्ताओं को सी#, जावा, पायथन, पीएचपी और पर्ल जैसी विभिन्न प्रोग्रामिंग भाषाओं में टेस्ट केस लिखने की अनुमति देता है।
उच्च गति और तेज़ निष्पादन सेलेनियम किसी मध्यवर्ती सर्वर की आवश्यकता के बिना सीधे ब्राउज़र से संचार करता है। इस प्रकार, यह स्वचालन परीक्षण में उत्कृष्ट प्रदर्शन प्रदान करता है।
विभिन्न ऑपरेटिंग सिस्टम के साथ संगतता सेलेनियम वेब ड्राइवर में बनाई गई टेस्ट स्क्रिप्ट को विभिन्न ऑपरेटिंग सिस्टम जैसे विंडोज, लिनक्स और मैकओएस पर चलाया जा सकता है।
समानांतर परीक्षण के लिए समर्थन समानांतर परीक्षण करने की क्षमता न केवल परीक्षण पर लगने वाले समय को कम करती है बल्कि परीक्षणों की दक्षता में भी सुधार करती है।
विभिन्न प्रकार के परीक्षण करने की क्षमता सेलेनियम कई प्रकार के परीक्षण जैसे प्रतिगमन परीक्षण, इकाई परीक्षण और स्वचालित ब्राउज़र परीक्षण के स्वचालन को सक्षम बनाता है।
पोर्टेबिलिटी और ओपन-सोर्स प्रकृति सेलेनियम की ओपन-सोर्स प्रकृति इसके सबसे बड़े फायदों में से एक है। आप सेलेनियम को इसकी आधिकारिक वेबसाइट के माध्यम से स्वतंत्र रूप से डाउनलोड कर सकते हैं।
सर्वर इंस्टालेशन की आवश्यकता नहीं सेलेनियम वेब ड्राइवर ब्राउज़र के साथ सीधे संचार करके सर्वर इंस्टालेशन की आवश्यकता को समाप्त कर देता है।
सीआई/सीडी के लिए समर्थन उपयोगकर्ता स्वचालित परीक्षण में DevOps प्रथाओं को अपनाने के लिए सेलेनियम के साथ सतत एकीकरण और सतत वितरण पाइपलाइनों को एकीकृत कर सकते हैं।
न्यूनतम हार्डवेयर संसाधन उपयोग सेलेनियम क्यूटीपी, सिल्कटेस्ट और यूएफटी जैसे अन्य स्वचालन ढांचे की तुलना में बहुत कम हार्डवेयर संसाधनों का उपयोग करता है।
सेलेनियम के पास अपनी नवीनतम रिलीज, सेलेनियम 4 के साथ और भी शानदार सुविधाएं हैं। सेलेनियम कई अन्य लोकप्रिय फ्रेमवर्क जैसे टेस्टएनजी, वेबड्राइवर.आईओ , नाइटवॉच और जूनिट के लिए भी आधार ढांचा है।
विशेषज्ञता और संसाधनों की आवश्यकता सेलेनियम और इसके उप-ढांचे के साथ काम करने के लिए उपयोगकर्ताओं के पास अच्छा ज्ञान, तकनीकी कौशल और अनुभव होना चाहिए। इसके अलावा, परीक्षकों को इसकी विशेषताओं का पूरी तरह से उपयोग करने के लिए सेलेनियम ढांचे की वास्तुकला से परिचित होना चाहिए।
डेस्कटॉप अनुप्रयोगों के लिए कोई समर्थन नहीं सेलेनियम मुख्य रूप से वेब डोमेन में काम करता है और डेस्कटॉप अनुप्रयोगों के स्वचालन का समर्थन नहीं करता है।
मोबाइल स्वचालन के लिए कोई अंतर्निहित समर्थन नहीं। सेलेनियम स्वयं मोबाइल एप्लिकेशन के स्वचालन का समर्थन नहीं करता है। वेबड्राइवर प्रोटोकॉल के माध्यम से सेलेनियम के साथ एंड्रॉइड और आईओएस ऐप्स को स्वचालित करने के लिए परीक्षकों को ऐपियम पर निर्भर रहने की आवश्यकता है।
कोई परीक्षण प्रबंधन उपकरण उपलब्ध नहीं कराना जब जटिल वेब अनुप्रयोगों के परीक्षण की बात आती है तो परीक्षण प्रबंधन उपकरण परीक्षण मामलों के निष्पादन की निगरानी और डेटा संग्रहीत करने के लिए उपयोगी होते हैं। जटिल ऐप्स के परीक्षण को सरल बनाने के लिए कई परीक्षण स्वचालन उपकरण अंतर्निहित परीक्षण प्रबंधन टूल के साथ आते हैं। फिर भी, सेलेनियम में अभी भी ऐसे परीक्षण प्रबंधन उपकरण का अभाव है।
अत्यधिक कुशल परीक्षकों की आवश्यकता सेलेनियम को स्वचालन को प्रभावी ढंग से संचालित करने और ढांचे की पूर्ण क्षमताओं का उपयोग करने के लिए उच्च कौशल सेट वाले इंजीनियरों की आवश्यकता होती है।
अंतर्निहित रिपोर्टिंग सुविधा का न होना किसी भी परीक्षण स्वचालन ढांचे में रिपोर्टिंग एक आवश्यक सुविधा है। फिर भी, सेलेनियम के पास अभी भी अपनी रिपोर्टिंग क्षमताएं नहीं हैं और रिपोर्ट तैयार करने के लिए ककड़ी और टेस्टएनजी जैसे तीसरे पक्ष के ढांचे पर निर्भर है।
गतिशील वेब तत्वों के साथ सटीक परिणाम प्रदान करने में असमर्थता कुछ गतिशील वेब तत्व हैं जो वेब पेज लोड होने पर तुरंत दिखाई नहीं देते हैं। सेलेनियम को इस प्रकार के गतिशील तत्व को संभालना मुश्किल लगता है।
सेलेनियम को फ़्रेम और पॉपअप से निपटने में कठिनाई होती है। सेलेनियम विंडोज़ ऑपरेटिंग सिस्टम द्वारा उत्पन्न देशी पॉपअप विंडोज़ को स्वचालित करने का समर्थन नहीं करता है।
कैप्चा और बारकोड को स्वचालित नहीं करना सेलेनियम कैप्चा और बारकोड को संभालने में असमर्थ है। हालांकि कैप्चा को स्वचालित करने के लिए सेलेनियम के साथ एकीकृत करने के लिए कुछ तृतीय-पक्ष उपकरण हैं, लेकिन वे सटीक परिणामों की गारंटी नहीं देते हैं।
छवि परीक्षण के लिए सीमित समर्थन
एक प्रभावी परीक्षण स्वचालन ढांचे का निर्माण और रखरखाव किसी भी परीक्षण स्वचालन परियोजना की सफलता की कुंजी है। एक परीक्षण स्वचालन ढांचे में स्वचालित परीक्षण सफलतापूर्वक करने के लिए छह प्रमुख घटक शामिल होते हैं। आइए देखें वे क्या हैं:
परीक्षण की जाने वाली एक प्रणाली लक्ष्य प्रणाली एक परीक्षण ढांचे का प्रारंभिक घटक है। हालाँकि, स्वचालित परीक्षण से वांछित आउटपुट प्राप्त करने के लिए सिस्टम के सबसिस्टम स्थिर होने चाहिए। इसके अलावा, स्वचालित परीक्षण शुरू करने से पहले इन उपप्रणालियों को समग्र रूप से ठीक से काम करना चाहिए।
परीक्षण प्लेटफ़ॉर्म परीक्षण प्लेटफ़ॉर्म नेटवर्क अवसंरचना है जिस पर एप्लिकेशन का परीक्षण किया जाएगा। स्वचालन परीक्षण करने के लिए एक उचित नेटवर्क सेटअप लागू किया जाना चाहिए। इसमें सर्वर, राउटर, स्विच, हब और कॉन्फ़िगरेशन प्रबंधन उपयोगिताएँ शामिल होंगी जो परीक्षण वातावरण स्थापित करने और परीक्षण मामलों को निष्पादित करने के लिए आवश्यक हैं।
टेस्ट केस लाइब्रेरीज़ टेस्ट केस बनाने के लिए विभिन्न उपकरणों की आवश्यकता होती है। इन उपकरणों के कुछ उदाहरणों में टेस्ट ऑटोमेशन टूल, सपोर्ट टूल, ट्रैफिक जेनरेशन, मॉनिटरिंग टूल आदि शामिल हैं। असफल परीक्षण मामलों के कैप्चर किए गए दोषों की स्वचालित रूप से रिपोर्ट करने के लिए टेस्ट ऑटोमेशन टूल को सपोर्ट टूल के साथ एकीकृत करना महत्वपूर्ण है। टेस्ट फ़ैक्टरी नामक एक सहायता उपकरण स्वचालित परीक्षण के रुझान और परिणाम पैटर्न प्रदान करने में सक्षम है।
स्वचालित परीक्षण प्रथाएँ परीक्षण केस पुस्तकालयों और उपकरणों का उपयोग करके परीक्षण मामलों को स्वचालित करने के तरीके का दस्तावेजीकरण करना महत्वपूर्ण है। स्वचालित परीक्षण के लिए एक मानक परीक्षण केस टेम्पलेट बनाए रखने की भी अनुशंसा की जाती है। यह विभिन्न परीक्षकों द्वारा बनाए गए सभी स्वचालित परीक्षण मामलों में एकरूपता सुनिश्चित करेगा। सभी उपयोगिताओं की एक सूची उनके उपयोग के दिशानिर्देशों के साथ तैयार करने से परीक्षण की दक्षता में सुधार होगा। इसके अलावा, टेस्ट केस लाइब्रेरीज़ को बनाए रखने की प्रक्रिया का दस्तावेजीकरण किया जाना चाहिए।
परीक्षण उपकरण परीक्षण केस बनाने के लिए विभिन्न उपकरणों की आवश्यकता होती है। इन उपकरणों के कुछ उदाहरणों में टेस्ट ऑटोमेशन टूल, सपोर्ट टूल, ट्रैफिक जेनरेशन, मॉनिटरिंग टूल आदि शामिल हैं। असफल परीक्षण मामलों के कैप्चर किए गए दोषों की स्वचालित रूप से रिपोर्ट करने के लिए सपोर्ट टूल के साथ टेस्ट ऑटोमेशन टूल को एकीकृत करना महत्वपूर्ण है। टेस्ट फ़ैक्टरी नामक एक सहायता उपकरण स्वचालित परीक्षण के रुझान और परिणाम पैटर्न प्रदान करने में सक्षम है।
परीक्षण प्रशासक
परीक्षण प्रशासक वह व्यक्ति होता है जो स्वचालित परीक्षण करने के लिए जिम्मेदार होता है। वह निम्नलिखित कार्यों के लिए जिम्मेदार है:
परीक्षण प्लेटफार्मों का प्रबंधन
उपकरण, और टेस्ट केस लाइब्रेरीज़।
परीक्षण के लिए दिशानिर्देश प्रदान करना
टेम्पलेट्स का संग्रह बनाए रखना
टेस्ट केस लाइब्रेरीज़ का उपयोग करके परीक्षण स्क्रिप्ट लिखने में परीक्षकों की सहायता करना।
टूल के नए उपयोगकर्ताओं को दस्तावेज़ीकरण मार्गदर्शिकाएँ प्रदान करना और टूल के विक्रेताओं और उपयोगकर्ताओं के साथ सहयोग करना।
विभिन्न स्वचालन परियोजनाओं की जरूरतों को पूरा करने के लिए सेलेनियम के पास विभिन्न प्रकार के ढांचे हैं।
सेलेनियम वेब ड्राइवर के पास परीक्षण मामलों को स्वचालित करने के लिए तीन प्रकार की रूपरेखाएँ हैं:
इस अनुभाग में, हम सेलेनियम में केवल हाइब्रिड ढांचे पर चर्चा करेंगे।
हाइब्रिड फ्रेमवर्क डेटा-संचालित और कीवर्ड-संचालित फ्रेमवर्क का एक संयोजन है और इसमें पहले चर्चा किए गए किसी भी फ्रेमवर्क प्रकार को भी शामिल किया जा सकता है। यह इन व्यक्तिगत ढाँचों की विभिन्न संरचनाओं का उपयोग करता है और अधिक प्रभावी ढाँचा बनाने के लिए उन्हें एकीकृत करता है।
यहां, कीवर्ड और परीक्षण डेटा दोनों बाहरी स्रोतों से पुनर्प्राप्त किए गए हैं। परीक्षण मामलों को बनाए रखने के लिए स्प्रेडशीट का उपयोग करते समय उपयोगकर्ता एक अलग जावा क्लास फ़ाइल में कीवर्ड बनाए रखेंगे। वे परीक्षण डेटा के लिए डेटा प्रदाता के रूप में टेस्टएनजी ढांचे का उपयोग कर सकते हैं।
सेलेनियम का यह हाइब्रिड फ्रेमवर्क कीवर्ड-संचालित फ्रेमवर्क के समान है। ExecuteTest.java फ़ाइल को HybridExecuteTest.java फ़ाइल से बदलने के बजाय अद्यतन करने के लिए कुछ भी नहीं है। इस HybridExecuteTest.java फ़ाइल में डेटा प्रदाता अवधारणा के साथ कीवर्ड के लिए सभी कोड शामिल हैं।
वर्तमान तेज़ गति वाले सॉफ़्टवेयर विकास जीवनचक्र में, परीक्षण स्वचालन एक महत्वपूर्ण भूमिका निभाता है
सॉफ़्टवेयर परीक्षण की गति और उत्पादकता बनाए रखने में अपरिहार्य भूमिका। स्वचालन ढाँचे परीक्षण मामलों को विकसित करने और निष्पादित करने के लिए एक आदर्श वातावरण प्रदान करके इस कार्य को और सरल बनाते हैं। अपने प्रोजेक्ट के लिए ऑटोमेशन फ्रेमवर्क का चयन करते समय, आपको व्यापक लचीलेपन और अनुप्रयोगों और भाषाओं की एक विस्तृत श्रृंखला के लिए समर्थन वाले ढांचे की तलाश करनी चाहिए। यह आपकी टीम के सदस्यों को उनकी पृष्ठभूमि या कौशल सेट की परवाह किए बिना, परीक्षण प्रक्रिया में प्रभावी ढंग से योगदान करने में सक्षम बनाएगा।