qtp frameworks test automation frameworks keyword driven
=> QTP प्रशिक्षण ट्यूटोरियल श्रृंखला के लिए यहां क्लिक करें
विंडोज़ पर .swf फाइलें कैसे खोलें
टेस्ट ऑटोमेशन फ्रेमवर्क क्या है और QTP फ्रेमवर्क क्या है?
के सफल कार्यान्वयन के संदर्भ में QTP एक सॉफ्टवेयर परीक्षण परियोजना के लिए हम अक्सर चौखटे की अवधारणा में आते हैं। फ्रेमवर्क कुछ भी नहीं है, लेकिन स्वचालन प्रक्रिया के दौरान हम जिस दृष्टिकोण का लगातार पालन करते हैं - दिशानिर्देशों का एक सेट।
व्यक्तिगत रूप से, मैं नाम देना पसंद नहीं करता और कहता हूं कि एक दूसरे से बेहतर काम करता है। एक निश्चित ढांचे का चयन एक परियोजना की शुरुआत नहीं है। यह उल्टा है जो सच है। परीक्षण रणनीति तैयार करने की प्रक्रिया में, आप उन नियमों का निर्माण करते हैं जो परीक्षक की वर्तमान स्थिति पर लागू होते हैं और ठीक वहीं पर आपकी रूपरेखा है।
कहा गया है कि, निम्नलिखित कुछ महत्वपूर्ण बिंदु हैं जिन पर हमें विचार करने की आवश्यकता है:
- पुनर्प्रयोग
- स्क्रिप्ट का आसान रखरखाव
- लिपियों की पठनीयता
- सभी परीक्षण संपत्ति के लिए अच्छा व्यावहारिक फ़ोल्डर संरचना
- कोई हार्ड कोडिंग मान नहीं
- असफलताओं का कोई झरना नहीं। (अर्थात यदि एक परीक्षण विफल हो जाता है, तो उसे दूसरों की विफलता या रोक का कारण नहीं बनना चाहिए)
यह मूल सूची है और आवश्यकता के आधार पर इसे और अधिक जोड़ा जा सकता है।
कोई भी परीक्षण रणनीति जो इन सभी उपरोक्त बिंदुओं में से कुछ या सभी को शामिल करने की कोशिश करती है, वह है आपका टेस्ट ऑटोमेशन फ्रेमवर्क।
विभिन्न नाम और प्रकार के ढांचे हैं। निम्नलिखित मेरे अनुसार चौखटे की सूची है:
आप क्या सीखेंगे:
- स्वचालन फ्रेमवर्क के प्रकार: (QTP फ्रेमवर्क के लिए लागू होता है)
- रैखिक फ्रेमवर्क
- कीवर्ड-संचालित फ्रेमवर्क
- अनुशंसित पाठ
स्वचालन फ्रेमवर्क के प्रकार: (QTP फ्रेमवर्क के लिए लागू होता है)
- रैखिक - एक परीक्षण बनाने का सबसे सरल रूप। बस अनुक्रमिक चरणों में प्रतिरूपकता के बिना एक एकल कार्यक्रम लिखें
- कीवर्ड-संचालित - संचालन के एक अलग सेट के लिए अलग-अलग कीवर्ड बनाएँ और मुख्य स्क्रिप्ट में हम केवल इन कीवर्ड को संदर्भित कर सकते हैं।
- डेटा पर ही आधारित - डेटा के कई सेटों पर एक ही सेट को चलाने के लिए जो अलग-अलग फाइलों में रखे जाते हैं, ज्यादातर एक्सेल शीट।
- हाइब्रिड - एक संयोजन ढांचा जो आंशिक रूप से डेटा-संचालित और आंशिक रूप से कीवर्ड-संचालित हो सकता है
- बीपीटी - इसका मतलब यह है कि कार्यक्रम व्यावसायिक घटकों में टूट गए हैं और उपरोक्त प्रकार के ढांचे में से एक या दूसरे के साथ उपयोग किए जाते हैं
रैखिक फ्रेमवर्क
जैसा कि इस दृष्टिकोण पर चर्चा की गई है कि हम कोड को केवल रिकॉर्ड के रूप में लिखते हैं और चलते रहते हैं।
उदाहरण के लिए, यदि आपको जिस ऑपरेशन को सत्यापित करना है वह जीमेल में एक नया खाता बनाना है, तो निम्नलिखित कदम होंगे:
- Gmail.com खोलें
- 'खाता बनाएँ' पर क्लिक करें
- विवरण दर्ज करें
- विवरण सत्यापित करें
- खाता बनाएँ
'Open GMail SystemUtil.Run 'iexplore.exe', 'http://www.gmail.com' 'Page Sync Browser('Gmail').Page('Gmail').Sync ‘Click on create account Browser('Gmail').Page('Gmail').WebLink(“Create Account”).Click ‘Enter the details Browser('Gmail').Page('Google Accounts').WebEdit(“First Name”).Set “Swati” Browser('Gmail').Page('Google Accounts').WebEdit(“Last Name”).Set “test” ‘Fill in several other details ‘Submit Browser('Gmail').Page('Google Accounts').WebButton(“Next Step”).click
ऊपर एक उदाहरण है कि कैसे एक प्रोग्राम जो रैखिक पद्धति का उपयोग करता है, जैसा दिखता है। इस बिंदु पर यह स्पष्ट है कि इस पद्धति के फायदे और नुकसान क्या हैं।
लाभ:
- सादगी। शुरुआती प्रोग्रामर के लिए, यह विधि उपयुक्त है
- समय - परीक्षण को बनाने में बहुत समय नहीं लगता है
- बहुत कम योजना की आवश्यकता है
नुकसान:
- कोई पुन: प्रयोज्यता नहीं
- यदि कोई अन्य स्क्रिप्ट है जो ’Google खातों के पृष्ठ के एक निश्चित पहलू की पुष्टि करता है तो आपको gmail.com पृष्ठ को लॉन्च करने के लिए कोड को फिर से लिखना होगा। इतना दोहराव।
- सभी डेटा को सीधे कोड में एम्बेड किया गया है। हार्डकॉडिंग कोड को डेटा के किसी अन्य सेट के लिए उपयोग करने की अनुमति नहीं देता है।
- त्रुटि-प्रवण और रखरखाव मुश्किल है
जब विपक्ष पेशेवरों से आगे निकल जाता है, तो इस पद्धति का उपयोग तब किया जा सकता है जब आपका उद्देश्य सत्यापन के बिना किसी कार्य को पूरा करने के लिए सख्त हो।
इस तरह के ढांचे में परीक्षण संपत्ति के घटक हैं:
- टेस्ट स्क्रिप्ट
- ऑब्जेक्ट रिपॉजिटरी (यदि आवश्यक हो तो वर्णनात्मक प्रोग्रामिंग का उपयोग करके इसे टाला जा सकता है)
कीवर्ड-संचालित फ्रेमवर्क
हम उपरोक्त रैखिक रूपरेखा परीक्षण को बेहतर कैसे बना सकते हैं? हम विपक्ष को कैसे दूर कर सकते हैं?
int c ++ में char नंबर कन्वर्ट करें
जाहिर है, हमें पुन: प्रयोज्य, प्रतिरूपकता और पठनीयता की आवश्यकता है। इन विशेषताओं को शामिल करने और एक इष्टतम समाधान पर पहुंचने की कोशिश एक नया, अधिक सुधारित रूपरेखा बनाने के प्रयास के अलावा और कुछ नहीं है।
पुन: प्रयोज्य घटक क्या हैं?
- Gmail का शुभारंभ और 'Google खाते' पृष्ठ पर पहुंचना। यह एक दिया गया है, क्योंकि इस पृष्ठ को मान्य करने का अर्थ है कि पहले यहां पहुंचें। ‘GoTo Google खाता” - एक अलग फ़ंक्शन में बनाया जा सकता है जिसे बार-बार कॉल किया जा सकता है।
- विवरण दर्ज करें और उन्हें मान्य करें - आप अधिक स्तरीय मॉड्युलैरिटी को शामिल करने के लिए इसे सकारात्मक और नकारात्मक ब्लॉकों में तोड़ सकते हैं
- खाता निर्माण - सत्यापन का अंतिम स्तर और हाथ में कार्य पूरा करना
एक बार जब आप यहां पहुंच गए हैं, तो न केवल आपने उन घटकों की पहचान की है जिन्हें बार-बार कॉल किया जा सकता है, बल्कि आपने अपने रैखिक कार्यक्रम को मॉड्यूल में भी तोड़ दिया है।
कार्य:
हमारी श्रृंखला में अब तक, हमने कार्य नहीं किए हैं। फ़ंक्शंस कुछ और नहीं बल्कि कुछ कोड होते हैं जो कुछ संचालन करते हैं। यह उस प्रोग्राम से इनपुट मापदंडों को स्वीकार करता है जो इसे कॉल करता है और इसके लिए मूल्य लौटाता है।
एक सामान्य अभ्यास के रूप में, कोड के सभी पुन: प्रयोज्य टुकड़ों को एक फ़ाइल में समूहीकृत किया जाता है जिसमें सभी पुन: प्रयोज्य कार्य होते हैं। यह फ़ाइल आपके QTP परीक्षण के लिए संसाधन से संबद्ध है। आमतौर पर एक फंक्शन लाइब्रेरी टाइप की एक फाइल हो सकती है: .vbs, .txt या .qfl
वापस हमारे उदाहरण के लिए- यह फ़ंक्शन लाइब्रेरी फ़ाइल कैसे हो सकती है:
Function gotoGoogleAccount() 'Open Gmail SystemUtil.Run 'iexplore.exe', 'http://www.gmail.com' 'Page Sync Browser('Gmail').Page('Gmail').Sync ‘Click on create account Browser('Gmail').Page('Gmail').WebLink(“Create Account”).Click ‘Enter the details End Function Function EnterDetails() Browser('Gmail').Page('Google Accounts').WebEdit(“First Name”).Set “Swati” Browser('Gmail').Page('Google Accounts').WebEdit(“Last Name”).Set “test” ‘Fill in several other details End Function Function SubmitToCreate() ‘Submit Browser('Gmail').Page('Google Accounts').WebButton(“Next Step”).click End Function
अब आपकी वास्तविक स्क्रिप्ट होगी:
'Open GMail gotoGoogleAccount() ‘Enter the details EnterDetails() ‘Submit SubmitToCreate()
उपरोक्त कार्यक्रम से, अब यह स्पष्ट है कि हमने पठनीयता, प्रतिरूपकता हासिल कर ली है और यदि कोई अन्य कार्यक्रम लॉगिन फ़ंक्शन का उपयोग करना चाहता है, तो हम निश्चित रूप से इसका पुन: उपयोग कर सकते हैं। आपको बस इतना करना है कि फंक्शन लाइब्रेरी को उस नए टेस्ट में भी शामिल करें और आप जाने के लिए अच्छे हैं।
सॉफ्टवेयर परीक्षण साक्षात्कार सवाल और जवाब
आप यह भी देख सकते हैं कि आपकी लिपि में फ़ंक्शन के नाम ऐसे हैं जैसे वे हैं VBScript का कीवर्ड और इसलिए इस ढांचे का नाम।
इस तरह के ढांचे में परीक्षण संपत्ति के घटक हैं:
- टेस्ट स्क्रिप्ट
- साझा किया गया
- साझा लाइब्रेरी
अब, इस कार्यक्रम को और क्या बेहतर बना देगा? यदि हम डेटा के विभिन्न सेट लेने के लिए EnterDetails () फ़ंक्शन बना सकते हैं और विभिन्न खाते बना सकते हैं और उस डेटा तक सीमित नहीं हैं जिसे हमने प्रोग्राम में हार्ड-कोड किया है। यह वास्तव में अगला कदम है। डेटा आपके परीक्षण और दृष्टिकोण जहां हम ऐसा करते हैं, डेटा-चालित ढांचा है।
हम चर्चा करेंगे डेटा-चालित और हाइब्रिड फ्रेमवर्क आने वाले ट्यूटोरियल में विस्तार से।
=> QTP प्रशिक्षण ट्यूटोरियल श्रृंखला के लिए यहां जाएं
यदि आपके पास कोई QTP फ्रेमवर्क संबंधित समस्याएँ हैं जिनका आप सामना कर रहे हैं जो इन लेखों में शामिल नहीं है, तो हमें बताएं। हम सबसे निश्चित रूप से आपके सवालों के जवाब देने की कोशिश करेंगे।
अनुशंसित पाठ
- सबसे लोकप्रिय टेस्ट ऑटोमेशन फ्रेमवर्क प्रत्येक के पेशेवरों और विपक्षों के साथ - सेलेनियम ट्यूटोरियल # 20
- टेस्ट स्वचालन - यह एक विशेष कैरियर है? क्या सामान्य परीक्षक भी स्वचालन कर सकते हैं?
- हमें टेस्ट ऑटोमेशन के लिए फ्रेमवर्क की आवश्यकता क्यों है?
- QTP ट्यूटोरियल # 18 - डेटा प्रेरित और हाइब्रिड फ्रेमवर्क QTP उदाहरणों के साथ समझाया गया
- मैनुअल और ऑटोमेशन प्रोजेक्ट्स के लिए टेस्ट प्लानिंग अंतर क्या है?
- डेटा चालित परीक्षण कार्य (QTP और सेलेनियम के उदाहरण)
- सर्वश्रेष्ठ स्वचालन परीक्षण उपकरण कैसे चुनें (एक पूरी गाइड)
- अपाचे POI का उपयोग कर सेलेनियम वेबड्राइवर में डेटा ड्रिवेन फ्रेमवर्क