टेस्ट ऑटोमेशन फ्रेमवर्क: क्या है, Archiतकनीक और प्रकार
स्वचालन परीक्षण में फ्रेमवर्क क्या है?
A ऑटोमेशन फ्रेमवर्क का परीक्षण करें कोडिंग मानक, टेस्ट-डेटा हैंडलिंग, ऑब्जेक्ट रिपोजिटरी ट्रीटमेंट आदि जैसे दिशा-निर्देशों का एक सेट है… जिसका ऑटोमेशन स्क्रिप्टिंग के दौरान पालन करने पर कोड के पुनः उपयोग में वृद्धि, उच्च पोर्टेबिलिटी, स्क्रिप्ट रखरखाव लागत में कमी आदि जैसे लाभकारी परिणाम प्राप्त होते हैं। ये केवल दिशा-निर्देश हैं और नियम नहीं हैं; वे अनिवार्य नहीं हैं और आप दिशा-निर्देशों का पालन किए बिना भी स्क्रिप्ट बना सकते हैं। लेकिन आप फ्रेमवर्क होने के लाभों से चूक जाएंगे।
आपको फ्रेमवर्क की आवश्यकता क्यों है?
आइए एक उदाहरण पर विचार करके समझें कि आपको फ्रेमवर्क की आवश्यकता क्यों है।
मुझे यकीन है कि आपने किसी सेमिनार/व्याख्यान/सम्मेलन में भाग लिया होगा जहां प्रतिभागियों को निम्नलिखित दिशानिर्देशों का पालन करने के लिए कहा गया था –
- प्रतिभागियों को व्याख्यान शुरू होने से 5 मिनट पहले अपनी सीट पर बैठ जाना चाहिए।
- नोट लिखने के लिए एक नोटबुक और पेन साथ लाएँ।
- सार पढ़ें, ताकि आपको अंदाजा हो जाए कि प्रस्तुति किस बारे में होगी।
- मोबाइल फोन को साइलेंट मोड पर रखना चाहिए।
- यदि आपको व्याख्यान के बीच में बाहर जाना हो तो वक्ता के विपरीत छोर पर स्थित निकास द्वार का उपयोग करें।
- सत्र के अंत में प्रश्न लिये जायेंगे।
क्या आपको लगता है कि आप एक सेमिनार आयोजित कर सकते हैं? बिना इन दिशा-निर्देशों का पालन करें👍
उत्तर बड़ा है हाँ! निश्चित रूप से, आप उपरोक्त दिशा-निर्देशों के बिना भी सेमिनार/व्याख्यान/सम्मेलन/प्रदर्शन आयोजित कर सकते हैं... वास्तव में, हममें से कुछ लोग इनका पालन नहीं करेंगे, भले ही ये निर्धारित किए गए हों!
लेकिन यदि दिशानिर्देशों का पालन किया जाए, तो इसके लाभकारी परिणाम सामने आएंगे, जैसे व्याख्यान के दौरान श्रोताओं का ध्यान भटकना कम होगा, प्रतिभागियों की उपस्थिति बढ़ेगी, तथा विषय-वस्तु की समझ बढ़ेगी।
उपरोक्त के आधार पर, फ्रेमवर्क को दिशानिर्देशों के एक सेट के रूप में परिभाषित किया जा सकता है, जिसका पालन करने पर लाभकारी परिणाम प्राप्त होते हैं।
टेस्ट ऑटोमेशन फ्रेमवर्क के प्रकार
नीचे स्वचालित परीक्षण फ्रेमवर्क के विभिन्न प्रकार दिए गए हैं:
- 1) रैखिक स्क्रिप्टिंग
- 2) टेस्ट लाइब्रेरी Archiटेक्चर फ्रेमवर्क.
- 3) डेटा-संचालित परीक्षण ढांचा।
- 4) कीवर्ड-संचालित या तालिका-संचालित परीक्षण ढांचा।
- 5) हाइब्रिड टेस्ट ऑटोमेशन फ्रेमवर्क.
आइये इन पर विस्तार से नजर डालें –
1) लीनियर स्क्रिप्टिंग – रिकॉर्ड और प्लेबैक
यह सभी परीक्षण स्वचालन फ्रेमवर्क में सबसे सरल है और इसे इस नाम से भी जाना जाता है “रिकॉर्ड और प्लेबैक”. इस में स्वचालन परीक्षण फ्रेमवर्क में, परीक्षक मैन्युअल रूप से प्रत्येक चरण (नेविगेशन और उपयोगकर्ता इनपुट) को रिकॉर्ड करता है, पहले दौर में चेकपॉइंट (सत्यापन चरण) सम्मिलित करता है। फिर, वह बाद के दौर में रिकॉर्ड की गई स्क्रिप्ट को वापस चलाता है।
उदाहरण: लॉग इन करने पर विचार करें उड़ान आरक्षण आवेदन और जाँच करना कि क्या एप्लिकेशन सफलतापूर्वक लॉग-ऑन पर लोड हुआ है। यहाँ, परीक्षक केवल चरणों को रिकॉर्ड करेगा और सत्यापन चरणों को जोड़ेगा।
SystemUtil.Run "flight4a.exe","","","open" Dialog("Login").WinEdit("Agent Name:").Set "Guru99" Dialog("Login").WinEdit("Password:").Set "Mercury" Dialog("Login").WinButton("OK").Click 'Check Flight Reservation Window has loaded after successful log-on Window("Flight Reservation").Check CheckPoint("Flight Reservation")
फायदे
- स्क्रिप्ट बनाने का सबसे तेज़ तरीका
- स्वचालन विशेषज्ञता की आवश्यकता नहीं
- परीक्षण उपकरण की विशेषताओं को जानने का सबसे आसान तरीका
नुकसान
- स्क्रिप्ट का कम पुनः उपयोग
- परीक्षण डेटा स्क्रिप्ट में हार्डकोड किया गया है
- रखरखाव दुःस्वप्न
2) टेस्ट लाइब्रेरी Archiटेक्चर फ्रेमवर्क
इसे इस नाम से भी जाना जाता है “संरचित स्क्रिप्टिंग” or “कार्यात्मक अपघटन”।
इस स्वचालन परीक्षण ढांचे में, परीक्षण स्क्रिप्ट शुरू में “ द्वारा रिकॉर्ड की जाती हैंरिकॉर्ड और प्लेबैक" तरीका। Later, स्क्रिप्ट के अंदर सामान्य कार्यों की पहचान की जाती है और उन्हें फ़ंक्शन में समूहीकृत किया जाता है। इन फ़ंक्शन को मुख्य परीक्षण स्क्रिप्ट द्वारा बुलाया जाता है जिसे कहा जाता है चालक परीक्षण मामलों को बनाने के लिए अलग-अलग तरीके अपनाएं।
उदाहरण: उपरोक्त उदाहरण का उपयोग करते हुए, फ्लाइट आरक्षण में लॉग इन करने का फ़ंक्शन इस तरह दिखेगा।
Function Login() SystemUtil.Run "flight4a.exe","","","open" Dialog("Login").WinEdit("Agent Name:").Set "Guru99" Dialog("Login").WinEdit("Password:").Set "Mercury" Dialog("Login").WinButton("OK").Click End Function
अब, आप इस फ़ंक्शन को मुख्य स्क्रिप्ट में निम्नानुसार कॉल करेंगे
Call Login() --------------------------- Other Function calls / Test Steps. ---------------------------
फायदे
- "रिकॉर्ड और प्लेबैक" की तुलना में संरचित स्क्रिप्टिंग में कोड पुनः उपयोग का उच्च स्तर प्राप्त होता है
- अधिक कोड पुनः उपयोग के कारण स्वचालन स्क्रिप्ट का विकास कम खर्चीला होता है
- आसान स्क्रिप्ट रखरखाव
नुकसान
- टेस्ट लाइब्रेरी फ्रेमवर्क का उपयोग करके स्क्रिप्ट लिखने के लिए तकनीकी विशेषज्ञता आवश्यक है
- परीक्षण स्क्रिप्ट की योजना बनाने और तैयार करने के लिए अधिक समय की आवश्यकता होती है।
- परीक्षण डेटा स्क्रिप्ट के भीतर हार्ड कोडित है
3) डेटा-संचालित परीक्षण ढांचा
इस फ्रेमवर्क में, जबकि परीक्षण का मामला तर्क टेस्ट स्क्रिप्ट में रहता है, टेस्ट डेटा को अलग किया जाता है और टेस्ट स्क्रिप्ट के बाहर रखा जाता है। टेस्ट डेटा को बाहरी फ़ाइलों (एक्सेल फ़ाइलें, टेक्स्ट फ़ाइलें, CSV फ़ाइलें, ODBC स्रोत, DAO ऑब्जेक्ट, ADO ऑब्जेक्ट) से पढ़ा जाता है और टेस्ट स्क्रिप्ट के अंदर वेरिएबल में लोड किया जाता है। वेरिएबल का उपयोग इनपुट मानों और सत्यापन मानों दोनों के लिए किया जाता है। टेस्ट स्क्रिप्ट स्वयं या तो लीनियर स्क्रिप्टिंग या टेस्ट लाइब्रेरी फ्रेमवर्क का उपयोग करके तैयार की जाती हैं।
उदाहरण: इस पद्धति का उपयोग करके उड़ान आरक्षण लॉगिन स्क्रिप्ट विकसित करने में दो चरण शामिल होंगे।
चरण 1) एक टेस्ट-डेटा फ़ाइल बनाएं जो एक्सेल, सीएसवी या कोई अन्य डेटाबेस स्रोत हो सकता है।
एजेंटनाम | पासवर्ड |
---|---|
जिमी | Mercury |
टीना | MERCURY |
Bill | बुध |
चरण 2) टेस्ट स्क्रिप्ट विकसित करें और अपने टेस्ट-डेटा स्रोत का संदर्भ बनाएं।
SystemUtil.Run "flight4a.exe","","","open" Dialog("Login").WinEdit("Agent Name:").Set DataTable("AgentName", dtGlobalSheet) Dialog("Login").WinEdit("Password:").Set DataTable("Password", dtGlobalSheet) Dialog("Login").WinButton("OK").Click 'Check Flight Reservation Window has loaded Window("Flight Reservation").Check CheckPoint("Flight Reservation") **Note "dtGlobalSheet" is the default excel sheet provided by QTP.
फायदे
- टेस्ट स्क्रिप्ट में किए गए परिवर्तन टेस्ट डेटा को प्रभावित नहीं करते
- टेस्ट केस को डेटा के कई सेटों के साथ निष्पादित किया जा सकता है
- बाह्य डेटा फ़ाइल में परीक्षण डेटा को बदलकर विभिन्न प्रकार के परीक्षण परिदृश्यों को क्रियान्वित किया जा सकता है
नुकसान
- टेस्ट स्क्रिप्ट और टेस्ट डेटा दोनों की योजना बनाने और तैयार करने के लिए अधिक समय की आवश्यकता है
4) कीवर्ड-संचालित या तालिका-संचालित परीक्षण ढांचा
कीवर्ड-संचालित या तालिका-संचालित स्वचालन फ्रेमवर्क विकास के लिए डेटा तालिकाओं और कीवर्ड की आवश्यकता होती है, से स्वतंत्र परीक्षण स्वचालन उपकरण उन्हें निष्पादित करने के लिए उपयोग किया जाता है। परीक्षण एप्लिकेशन के साथ या उसके बिना डिज़ाइन किए जा सकते हैं। कीवर्ड-संचालित परीक्षण में, परीक्षण के तहत एप्लिकेशन की कार्यक्षमता को एक तालिका में और साथ ही प्रत्येक परीक्षण के लिए चरण-दर-चरण निर्देशों में प्रलेखित किया जाता है।
कीवर्ड संचालित फ्रेमवर्क के 3 मूल घटक हैं: कीवर्ड, एप्लिकेशन मैप, घटक फ़ंक्शन।
कीवर्ड क्या है?
कीवर्ड एक क्रिया है जिसे GUI घटक पर निष्पादित किया जा सकता है। उदाहरण के लिए GUI घटक टेक्स्टबॉक्स के लिए कुछ कीवर्ड (क्रिया) इनपुटटेक्स्ट, वेरिफाईवैल्यू, वेरिफाईप्रॉपर्टी इत्यादि होंगे।
एप्लीकेशन मैप क्या है?
एप्लीकेशन मैप GUI घटकों के लिए नामित संदर्भ प्रदान करता है। एप्लीकेशन मैप कुछ और नहीं बल्कि “ऑब्जेक्ट रिपोजिटरी"
घटक कार्य क्या है?
घटक फ़ंक्शन वे फ़ंक्शन हैं जो सक्रिय रूप से GUI घटक में हेरफेर या पूछताछ करते हैं। फ़ंक्शन का एक उदाहरण सभी त्रुटि हैंडलिंग के साथ वेब बटन पर क्लिक करना होगा, सभी त्रुटि हैंडलिंग के साथ वेब एडिट में डेटा दर्ज करना होगा। घटक फ़ंक्शन एप्लिकेशन पर निर्भर या स्वतंत्र हो सकते हैं।
उदाहरणकीवर्ड व्यू को समझने के लिए यही उदाहरण लेते हैं। इसमें 2 चरण शामिल हैं
चरण 1: डेटा टेबल बनाना (डेटा ड्रिवेन फ्रेमवर्क में बनाई गई टेस्ट-डेटा टेबल से अलग)। इस डेटा टेबल में GUI ऑब्जेक्ट्स पर की जाने वाली कार्रवाई और संबंधित तर्क (यदि कोई हो) शामिल हैं। प्रत्येक पंक्ति एक टेस्ट स्टेप का प्रतिनिधित्व करती है।
वस्तु | कार्य | |
---|---|---|
(एप्लिकेशन मानचित्र) | (कीवर्ड) | तर्क |
WinEdit(एजेंट का नाम) | सेट | Guru99 |
WinEdit(पासवर्ड) | सेट | Mercury |
विनबटन(ठीक) | क्लिक करें | |
विंडो(उड़ान आरक्षण) | सत्यापित करें | मौजूद |
चरण 2घटक कार्यों के रूप में कोड लिखना।
एक बार जब आप अपनी डेटा टेबल बना लेते हैं, तो आप बस एक प्रोग्राम या स्क्रिप्ट का एक सेट लिखते हैं जो प्रत्येक चरण को पढ़ता है, एक्शन फ़ील्ड में मौजूद कीवर्ड के आधार पर चरण को निष्पादित करता है, त्रुटि जाँच करता है, और किसी भी प्रासंगिक जानकारी को लॉग करता है। यह प्रोग्राम या स्क्रिप्ट का सेट नीचे दिए गए छद्म कोड के समान दिखाई देगा:
Function main() { Call ConnectTable(Name of the Table) { //Calling Function for connecting to the table. while (Call TableParser() != -1) //Calling function for Parsing and extracting values from the table. { Pass values to appropriate COMPONENT functions.Like Set(Object Name, Argument) ex.Set(Agent Name, Guru99). } } Call CloseConnection() //Function for Closing connection after all the operation has been performed. } //End of main
कीवर्ड संचालित फ्रेमवर्क के लिए बस इतना ही।
कीवर्ड ड्रिवेन फ्रेमवर्क का लाभ यह है कि कीवर्ड पुनः उपयोग योग्य होते हैं। इसे समझने के लिए मान लीजिए कि आप किसी वेबसाइट जैसे कि याहू मेल के लिए लॉगिन ऑपरेशन सत्यापित करना चाहते हैं। तालिका इस तरह दिखाई देगी –
वस्तु | कार्य | |
---|---|---|
(आवेदन मानचित्र) | (कीवर्ड) | तर्क |
वेबसंपादन(उपयोगकर्ता नाम) | सेट | abc@yahoo.com |
वेबसंपादन(पासवर्ड) | सेट | XXXXX के |
वेबबटन(ठीक) | क्लिक करें | |
विंडो(याहू Mail) | सत्यापित करें | भार |
यदि आप इस मामले में देखते हैं कि कीवर्ड सेट, क्लिक, वेरिफ़ाई वही रहते हैं जिसके लिए संगत घटक फ़ंक्शन पहले से ही विकसित हैं। आपको बस इतना करना है कि पहले की फ़्लाइट रिजर्वेशन से याहू में एप्लीकेशन मैपिंग (ऑब्जेक्ट रिपॉजिटरी) को बदलना है Mail , तर्क मूल्यों में परिवर्तन के साथ और वही स्क्रिप्ट काम करेगी!
फायदे
- उच्च कोड पुनः प्रयोज्यता प्रदान करता है
- परीक्षण उपकरण स्वतंत्र
- परीक्षणाधीन अनुप्रयोग से स्वतंत्र, यही स्क्रिप्ट AUT के लिए भी काम करती है (कुछ सीमाओं के साथ)
- परीक्षण AUT के साथ या उसके बिना डिज़ाइन किए जा सकते हैं
नुकसान
- प्रारंभिक निवेश काफी अधिक होने के कारण, इसका लाभ केवल तभी प्राप्त किया जा सकता है जब एप्लीकेशन काफी बड़ा हो और परीक्षण स्क्रिप्ट को कुछ वर्षों तक बनाए रखा जाए।
- कीवर्ड संचालित फ्रेमवर्क बनाने के लिए उच्च स्वचालन विशेषज्ञता की आवश्यकता होती है।
नोट: भले ही माइक्रो फोकस यूएफटी खुद को कीवर्ड संचालित फ्रेमवर्क के रूप में विज्ञापित करता है, लेकिन आप एचपी यूएफटी का उपयोग करके पूर्ण परीक्षण उपकरण और अनुप्रयोग स्वतंत्रता प्राप्त नहीं कर सकते हैं।
5) हाइब्रिड टेस्ट ऑटोमेशन फ्रेमवर्क
जैसा कि नाम से पता चलता है, यह ढांचा ऊपर चर्चा किए गए एक या अधिक ऑटोमेशन फ्रेमवर्क का संयोजन है जो उनकी ताकत से खींचता है और उनकी कमजोरियों को कम करने की कोशिश करता है। हाइब्रिड टेस्ट क्यूए ऑटोमेशन फ्रेमवर्क वह है जो अधिकांश टेस्ट ऑटोमेशन फ्रेमवर्क समय और कई परियोजनाओं के साथ विकसित होते हैं। अधिकतम उद्योग फ़ंक्शन अपघटन विधि के संयोजन में कीवर्ड फ्रेमवर्क का उपयोग करते हैं।
पुनश्च: उल्लेख के लायक अन्य स्वचालन फ्रेमवर्क हैं
टेस्ट मॉड्यूलरिटी फ्रेमवर्क
इस फ्रेमवर्क में, परीक्षण स्क्रिप्ट में एक सामान्य कार्य को मॉड्यूल के रूप में एक साथ समूहीकृत किया जाता है।
उदाहरण: QTP में क्रियाओं का उपयोग करके मॉड्यूलर स्क्रिप्ट बनाई जा सकती है
लॉगिन के लिए नमूना स्क्रिप्ट
SystemUtil.Run "flight4a.exe","","","open" Dialog("Login").WinEdit("Agent Name:").Set "Guru99" Dialog("Login").WinEdit("Password:").Set "Mercury" Dialog("Login").WinButton("OK").Click 'End of Script
अब आप इस एक्शन को मुख्य स्क्रिप्ट में निम्नानुसार कॉल कर सकते हैं –
RunAction ("Login[Argument]", oneIteration)
बिजनेस प्रोसेस टेस्टिंग (बीपीटी)
ये ऑटोमेशन फ्रेमवर्क, बड़ी व्यावसायिक प्रक्रियाओं को घटकों में विभाजित करते हैं जिन्हें एक ही या विभिन्न परीक्षण स्क्रिप्ट में कई बार फिर से इस्तेमाल किया जा सकता है। उदाहरण के लिए, फ्लाइट बुक करने की व्यावसायिक प्रक्रिया को लॉगिन, फ्लाइट ढूँढना, बुकिंग, भुगतान और लॉगआउट जैसे घटकों में विभाजित किया जाता है जिन्हें एक ही व्यावसायिक प्रक्रिया या विभिन्न प्रक्रियाओं में फिर से इस्तेमाल किया जा सकता है। इसके अलावा, BPT SME और ऑटोमेशन इंजीनियरों के बीच घनिष्ठ समन्वय की सुविधा प्रदान करता है।
टेस्ट ऑटोमेशन फ्रेमवर्क के लाभ Archiटेक्चर
टेस्ट ऑटोमेशन फ्रेमवर्क आर्किटेक्चर के लाभ निम्नलिखित हैं:
- परीक्षण स्वचालन ढांचा जोखिम और लागत व्यय को कम करने में मदद करता है
- इससे परीक्षणों की दक्षता में सुधार होता है
- यह रखरखाव लागत को कम करने में मदद करता है
- कोड के पुनः उपयोग की अनुमति देता है
- यह अधिकतम परीक्षण कवरेज प्राप्त करने की अनुमति देता है
- यह एप्लिकेशन की कार्यक्षमता को अधिकतम करता है
- परीक्षण मामले के दोहराव को कम करने में मदद करता है
- यह परीक्षण स्वचालन के साथ परीक्षण दक्षता और प्रदर्शन को बेहतर बनाने में मदद करता है
सारांश
- फ्रेमवर्क दिशानिर्देशों का एक सेट है, जैसे कोडिंग मानक, परीक्षण-डेटा प्रबंधन, ऑब्जेक्ट रिपोजिटरी ट्रीटमेंट आदि... जिनका स्वचालन स्क्रिप्टिंग के दौरान पालन करने पर लाभदायक परिणाम प्राप्त होते हैं, जैसे कोड पुनः उपयोग में वृद्धि, उच्च पोर्टेबिलिटी, स्क्रिप्ट रखरखाव लागत में कमी आदि।
- रैखिक स्क्रिप्टिंग सभी स्वचालन फ्रेमवर्क में सबसे सरल है और इसे "रिकॉर्ड और प्लेबैक" के रूप में भी जाना जाता है।
- टेस्ट लाइब्रेरी Archiटेक्चर फ्रेमवर्क को "स्ट्रक्चर्ड स्क्रिप्टिंग" या "फंक्शनल डिकम्पोज़िशन" के रूप में भी जाना जाता है।
- डेटा-संचालित परीक्षण फ्रेमवर्क में, परीक्षण केस तर्क परीक्षण स्क्रिप्ट में रहता है, और परीक्षण डेटा को अलग करके परीक्षण स्क्रिप्ट के बाहर रखा जाता है।
- कीवर्ड-संचालित या तालिका-संचालित ढांचे को डेटा तालिकाओं और कीवर्ड के विकास की आवश्यकता होती है, जो उन्हें निष्पादित करने के लिए उपयोग किए जाने वाले परीक्षण स्वचालन उपकरण से स्वतंत्र होते हैं।
- हाइब्रिड ऑटोमेशन फ्रेमवर्क वह है जिसमें अधिकांश परीक्षण स्वचालन फ्रेमवर्क समय के साथ और कई परियोजनाओं के साथ विकसित होते हैं।