QTP/UFT स्वचालन ढांचा: डेटा संचालित, कीवर्ड और हाइब्रिड

⚡ स्मार्ट सारांश

स्वचालन ढांचे में QTP/UFT टेस्ट स्क्रिप्ट, डेटा और पुन: प्रयोज्य फ़ंक्शन को इस प्रकार व्यवस्थित करें कि एक ही टेस्ट कई मामलों को कवर कर सके। डेटा-आधारित, कीवर्ड-आधारित और हाइब्रिड डिज़ाइन, इनपुट और पुन: प्रयोज्य लॉजिक के अलग-अलग मिश्रण के लिए उपयुक्त होते हैं।

  • 🔘 डेटा-संचालित डिज़ाइन: स्क्रिप्ट एक्सेल या डेटाबेस से इनपुट पढ़ती हैं और आउटपुट वापस लिखती हैं, इसलिए एक परीक्षण कई बार दोहराया जाता है।
  • कीवर्ड-आधारित डिज़ाइन: उपयोगकर्ता-परिभाषित फ़ंक्शन, लॉगिन और ओपनऑर्डर जैसे कीवर्ड बन जाते हैं, जिन्हें एक कॉम्पैक्ट ड्राइवर स्क्रिप्ट से कॉल किया जाता है।
  • हाइब्रिड डिजाइन: कीवर्ड फ़ंक्शन तर्क को वहन करते हैं जबकि पैरामीटराइज्ड डेटा उन चरणों को फीड करता है जिन्हें कई इनपुट की आवश्यकता होती है।
  • 🧪 ऑब्जेक्ट रिपॉजिटरी पहले: परीक्षण द्वारा उपयोग किए जाने वाले प्रत्येक नियंत्रण को किसी भी स्क्रिप्ट द्वारा विश्वसनीय रूप से पहचाने जाने से पहले जोड़ा जाना चाहिए।
  • वर्तमान उपकरण: QTP अब है OpenText क्रियात्मक परीक्षण (UFT एक), और VBScript इसकी समर्थित स्क्रिप्टिंग भाषा बनी हुई है।

डेटा, कीवर्ड और हाइब्रिड स्वचालन फ्रेमवर्क में QTP/UFT

डेटा-संचालित फ्रेमवर्क

डेटा-ड्रिवन फ्रेमवर्क एक ऐसा फ्रेमवर्क है जो इनपुट और आउटपुट डेटा के विभिन्न संयोजनों द्वारा संचालित होता है।

विभिन्न डेटा संयोजनों को पारित करने का एक तरीका यह है कि पैरामीटरीकरणइस विधि में, हम विभिन्न विशेषताओं का उपयोग करते हैं। QTP.

हालाँकि, DDF में, पैरामीटराइजेशन करने के लिए स्क्रिप्ट लिखी जाती हैं। इस तरह का ढांचा तब उपयोगी होता है जब AUT की कार्यक्षमता को कई इनपुट के साथ परखा जाना चाहिए और संबंधित आउटपुट को कैप्चर करना चाहिए। इन इनपुट को डेटाबेस, एक्सेल जैसी बाहरी फ़ाइल से पढ़ा जा सकता है। Outlookटेक्स्ट फाइल आदि और उनसे संबंधित आउटपुट को नीचे दिखाए गए अनुसार संबंधित बाहरी स्रोत पर वापस लिख दिया जाता है।

डेटा-संचालित फ्रेमवर्क इनपुट डेटा को पढ़ता है और आउटपुट डेटा लिखता है।

डेटा-ड्रिवन फ्रेमवर्क में शामिल सामान्य चरण इस प्रकार हैं:

  1. तैयार करें परीक्षण का मामला परीक्षणाधीन आवेदन के लिए
  2. AUT से OR तक ऑब्जेक्ट जोड़ें
  3. टेस्ट केस के आधार पर स्क्रिप्ट लिखें

इस में UFT ट्यूटोरियलहम एक्सेल को परीक्षण डेटा के बाहरी स्रोत के रूप में उपयोग करके एक नमूना परीक्षण मामले के लिए डेटा-संचालित फ्रेमवर्क डिज़ाइन विकसित करेंगे।

चरण 1) परीक्षण के तहत एप्लिकेशन के लिए टेस्ट केस तैयार करें

परीक्षण का मामला: ऑर्डर नंबर खोलें और उस ऑर्डर के लिए ग्राहक का नाम प्राप्त करें। अलग-अलग ऑर्डर नंबर के लिए यही प्रक्रिया दोहराएँ

वाह्य स्रोत: एक्सेल फ़ाइल

इस फ्रेमवर्क के लिए नमूना परीक्षण मामले के रूप में फ्लाइट रिजर्वेशन ऑर्डर फॉर्म का उपयोग किया गया है।

इस नमूने का बाहरी स्रोत एक एक्सेल फ़ाइल है। इसमें मौजूद VB स्क्रिप्ट OpenText क्रियात्मक परीक्षण (UFT वन, पूर्व में माइक्रो फोकस UFTपरीक्षण डेटा पढ़ने के लिए एक्सेल फ़ाइल खोलने हेतु कुछ कोड लिखना आवश्यक है। इसे पदानुक्रमित तरीके से किया जा सकता है।

1. सबसे पहले एक एक्सेल फ़ाइल को एप्लीकेशन के रूप में खोला जाता है

2. फिर कार्यपुस्तिका को निर्दिष्ट स्थान से खोला जाना चाहिए

3. वह शीट जहाँ परीक्षण डेटा मौजूद है।

4. अंत में, सेल को पढ़ना होगा।

चरण 2) AUT से ऑब्जेक्ट्स को OR में जोड़ें

टेस्ट केस तैयार होने के बाद, रिपॉजिटरी में सभी आवश्यक ऑब्जेक्ट जोड़ना शुरू करें। हमारे टेस्ट केस में, जोड़े जाने वाले ऑब्जेक्ट इस प्रकार हैं

1. “फ़ोल्डर खोलें” आइकन उड़ान आरक्षण आवेदन:

फ़ोल्डर खोलें टूलबार आइकन जोड़ा गया QTP/UFT ऑब्जेक्ट रिपॉजिटरी

2. “ओपन फोल्डर” आइकन पर क्लिक करने पर “ऑर्डर नंबर” चेकबॉक्स दिखाई देता है:

ओपन ऑर्डर डायलॉग से कैप्चर किया गया ऑर्डर नंबर चेकबॉक्स ऑब्जेक्ट

3. ऑर्डर नंबर का विनएडिट बॉक्स (जहां नंबर दर्ज किए जाते हैं):

ऑर्डर नंबर के लिए WinEdit बॉक्स रिपॉजिटरी में जोड़ दिया गया है।

4. ओके बटन:

ओपन ऑर्डर डायलॉग का ओके बटन ऑब्जेक्ट

5. "नाम" फ़ील्ड एक WinEdit बॉक्स है। किसी विशेष ऑर्डर नंबर के लिए OK बटन पर क्लिक करने के बाद इस फ़ील्ड में नाम अपने आप भर जाएगा।

WinEdit फ़ील्ड का नाम दें जो ग्राहक का नाम प्राप्त करता है

एक बार सभी आवश्यक ऑब्जेक्ट्स जोड़ दिए जाने पर, ऑब्जेक्ट रिपोजिटरी निम्नानुसार दिखाई देगी:

पूरा QTP/UFT सभी पाँच फ़्लाइट रिज़र्वेशन ऑब्जेक्ट्स को सूचीबद्ध करने वाला ऑब्जेक्ट रिपॉज़िटरी

चरण 3) टेस्ट केस के आधार पर स्क्रिप्ट लिखें

स्क्रिप्ट चलाने से पहले, सुनिश्चित करें कि परीक्षण डेटा वाली एक्सेल फ़ाइल सहेज ली गई है और बंद है।

नीचे दी गई स्क्रिप्ट एक्सेल से ऑर्डर नंबर पढ़ने और इसे वेरिएबल “vOrder” के माध्यम से एप्लिकेशन में असाइन करने और वेरिएबल “vName” के माध्यम से एप्लिकेशन से ग्राहक का नाम लिखने के लिए है।

एक्सेल नाम: फ्लाइटDDF.xlsx

चादर का नाम: शीट1

यह VBScript एक्सेल से ऑर्डर नंबर पढ़ता है और ग्राहक का नाम वापस लिखता है।

उत्पादन

एक बार उपरोक्त स्क्रिप्ट चलाने के बाद, एक्सेल से आउटपुट निम्नानुसार प्राप्त किया जा सकता है:

डेटा-संचालित स्क्रिप्ट द्वारा लिखे गए ग्राहकों के नामों को दर्शाने वाली एक्सेल शीट

डेटा-ड्रिवन फ्रेमवर्क को लिखकर भी विकसित किया जा सकता है। वर्णनात्मक प्रोग्रामिंग.

DDF के लिए बाहरी स्रोत के रूप में डेटाबेस का उपयोग करना

यदि बाह्य स्रोत डेटाबेस है तो निम्न चरणों का उपयोग करके समान परीक्षण केस निष्पादित किया जा सकता है

  1. डेटाबेस कनेक्शन स्थापित करने के लिए VBScript लिखें
  2. रिकॉर्डसेट या तालिका खोलने के लिए VBScript.
  3. वांछित फ़ील्ड खोलने के लिए VBScript
  4. विशेष सेल को क्षेत्र से पढ़ा जाता है।

Microsoft DDF के लिए बाह्य स्रोत के रूप में एक्सेस डेटाबेस तालिका का उपयोग किया जाता है

लिपि

To Establish a Microsoft Database connection

ड्राइवर = {Microsoft एक्सेस ड्राइवर (*.mdb)}; DBQ =

रिकॉर्ड सेट का नाम : OpenOrder

फ़ील्ड का नाम: ऑर्डर संख्या, ग्राहक का नाम

पुनश्च: Microsoft नीचे दी गई स्क्रिप्ट का उपयोग करके Access 2010 को कनेक्ट नहीं किया जा सकता।

VBScript एक्सेस डेटाबेस कनेक्शन स्थापित करता है और रिकॉर्डसेट को पढ़ता है।

उत्पादन

डेटाबेस आउटपुट प्रत्येक ऑर्डर नंबर के लिए प्राप्त ग्राहक का नाम दर्शाता है।

डीडीएफ के लाभ

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

डीडीएफ के नुकसान

  • इस ढांचे को विकसित करने के लिए स्क्रिप्टिंग ज्ञान की आवश्यकता है
  • कभी-कभी डेटाबेस जैसे बाहरी स्रोत से प्राप्त डेटा की संख्या या संयोजन से कंप्यूटर धीमा हो सकता है या क्रैश भी हो सकता है। QTP

कीवर्ड-संचालित ढांचा

कीवर्ड-ड्रिवन फ्रेमवर्क एक ऐसा फ्रेमवर्क है जहां कीवर्ड परीक्षण को निर्देशित करते हैं। कीवर्ड का तात्पर्य है उपयोगकर्ता परिभाषित कार्यइस फ्रेमवर्क में, किसी विशेष परीक्षण चरण या परीक्षण मामले को निष्पादित करने के लिए कीवर्ड बनाए जाते हैं। फिर इन कीवर्ड को एक ही परीक्षण में कई परीक्षण मामलों को चलाने के लिए ड्राइवर परीक्षण में बुलाया जाता है।

कीवर्ड-आधारित फ्रेमवर्क संरचना जिसमें कीवर्ड उपयोगकर्ता-परिभाषित कार्यों को कॉल करते हैं

सामान्यतः, परीक्षण हेतु फ्रेमवर्क को तीन तरीकों से विकसित किया जा सकता है।

  1. रिकॉर्ड करें और चलाएं कसौटी
  2. स्थानीय रिपॉजिटरी में ऑब्जेक्ट जोड़ें और सभी परीक्षण चरणों के लिए स्क्रिप्ट लिखें
  3. सभी परीक्षण चरणों के लिए वर्णनात्मक प्रोग्रामिंग लिखें

इस ट्यूटोरियल में, KDF को परीक्षण रिकॉर्ड करके और चलाकर विकसित किया गया है।

हमारा उद्देश्य पांच अलग-अलग परीक्षण मामलों के लिए एक ही परीक्षण चलाना है जैसे कि एप्लिकेशन में लॉगिन करना, ऑर्डर डालना, ऑर्डर खोलना, ऑर्डर हटाना और एप्लिकेशन को बंद करना। इसलिए, हम इन परीक्षण मामलों के लिए परीक्षण चरणों को रिकॉर्ड करेंगे और क्रमशः लॉगिन, इन्सर्टऑर्डर, ओपनऑर्डर, डिलीटऑर्डर और क्लोजऐप कीवर्ड के साथ फ़ंक्शन बनाएंगे।

टेस्ट केस 1: एप्लीकेशन में लॉग इन करें

कीवर्ड: लॉग इन करें ()

रिकॉर्ड की गई स्क्रिप्ट:

फ्लाइट रिजर्वेशन लॉगिन स्क्रीन के लॉगिन कीवर्ड के लिए रिकॉर्ड किया गया VBScript कोड।

टेस्ट केस 2: ऑर्डर डालें

कीवर्ड:इन्सर्टऑर्डर()

रिकॉर्ड की गई स्क्रिप्ट:

InsertOrder कीवर्ड के लिए रिकॉर्ड किया गया VBScript

टेस्ट केस3: ऑर्डर खोलें

कीवर्ड:ओपनऑर्डर()

रिकॉर्ड की गई स्क्रिप्ट:

OpenOrder कीवर्ड के लिए रिकॉर्ड किया गया VBScript

टेस्ट केस 4: ऑर्डर हटाएँ

कीवर्ड:डिलीटऑर्डर()

रिकॉर्ड की गई स्क्रिप्ट:

DeleteOrder कीवर्ड के लिए रिकॉर्ड किया गया VBScript

टेस्ट केस5: एप्लिकेशन बंद करें

कीवर्ड:क्लोजऐप()

रिकॉर्ड की गई स्क्रिप्ट:

CloseApp कीवर्ड के लिए रिकॉर्ड किया गया VBScript

विभिन्न परीक्षण मामलों के लिए बनाए गए फ़ंक्शन फ़ंक्शन लाइब्रेरी में सहेजे जाते हैं और मुख्य परीक्षण से जुड़े होते हैं। मुख्य परीक्षण में आवश्यक परीक्षण मामलों के लिए कीवर्ड को कॉल करना पर्याप्त है, जिससे मुख्य परीक्षण में ड्राइवर स्क्रिप्ट का आकार कम हो जाता है।

इस सरल फ्रेमवर्क के लिए ड्राइवर स्क्रिप्ट इस प्रकार है:

ड्राइवर स्क्रिप्ट एक ही स्रोत से सभी पांच कीवर्ड को कॉल कर रही है QTP/UFT परीक्षण

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

फायदे

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

नुकसान

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

हाइब्रिड फ्रेमवर्क

हाइब्रिड फ्रेमवर्क डेटा-ड्रिवन फ्रेमवर्क (डीडीएफ) और कीवर्ड-ड्रिवन फ्रेमवर्क (केडीएफ) का संयोजन है, जहां एक ही परीक्षण में कई इनपुट के साथ कई परीक्षण मामलों को निष्पादित किया जा सकता है।

इस लेख में, KDF में उपयोग किए गए सभी टेस्ट केस एक ही टेस्ट में निष्पादित किए जाएंगे। सभी टेस्ट केस के लिए कीवर्ड और स्क्रिप्ट KDF के समान ही हैं। हालांकि, TC3: ऑर्डर खोलना पैरामीटराइज़्ड है। इसलिए, इस टेस्ट केस की स्क्रिप्ट एक्सेल फ़ाइल से ऑर्डर नंबर प्राप्त करने और ग्राहक का नाम एक्सेल फ़ाइल में लिखने के लिए लिखी गई है।

कीवर्ड फ़ंक्शंस को पैरामीटराइज़्ड एक्सेल डेटा के साथ संयोजित करने वाला हाइब्रिड फ्रेमवर्क

टेस्ट केस 1: एप्लीकेशन में लॉग इन करें

कीवर्ड: लॉग इन करें ()

टेस्ट केस 2: ऑर्डर डालें

कीवर्ड:इन्सर्टऑर्डर()

टेस्ट केस3: कई ऑर्डर नंबरों के लिए ऑर्डर खोलें

कीवर्ड:ओपनऑर्डर()

Descriptआयन: यहां DDF विकसित करने के लिए प्रयुक्त की गई उसी स्क्रिप्ट का उपयोग किया जाता है, जिससे कई पुनरावृत्तियों के लिए परीक्षण मामला प्राप्त होता है।

स्क्रिप्ट:

पैरामीटराइज्ड ओपनऑर्डर कीवर्ड स्क्रिप्ट एक्सेल से कई ऑर्डर नंबर पढ़ती है।

टेस्ट केस 4: ऑर्डर हटाएँ

कीवर्ड:डिलीटऑर्डर()

टेस्ट केस5: एप्लिकेशन बंद करें

कीवर्ड:क्लोजऐप()

इस सरल विधि का पालन करके, TC3 का पैरामीटराइज़ेशन प्राप्त किया जाता है। यदि लागू हो, तो अन्य सभी परीक्षण मामलों को भी उसी परीक्षण में पैरामीटराइज़ किया जा सकता है।

ऊपर दिया गया उदाहरण हाइब्रिड फ्रेमवर्क को डिजाइन करने का एक बहुत ही सरल तरीका है। इसी तरह का फ्रेमवर्क डिस्क्रिप्टिव प्रोग्रामिंग का उपयोग करके भी प्राप्त किया जा सकता है।

फायदे

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

हानि

  • विभिन्न ढांचे को संयोजित करने का स्पष्ट ज्ञान आवश्यक है।

अक्सर पूछे जाने वाले प्रश्न

नहीं। QuickTest Professional अब Micro Focus बन गया है। UFT, तो UFT एक, और अब इसे बेचा जाता है OpenText कार्यात्मक परीक्षण। यहां दिखाए गए फ्रेमवर्क डिजाइन अभी भी लागू होते हैं।

डेटा-आधारित, कीवर्ड-आधारित और हाइब्रिड डिज़ाइनों के अलावा, टीमें लीनियर रिकॉर्ड-एंड-प्लेबैक, मॉड्यूलर, लाइब्रेरी-आर्किटेक्चर और व्यवहार-आधारित डिज़ाइनों का भी उपयोग करती हैं। अधिकांश परिपक्व सूट अंततः हाइब्रिड डिज़ाइनों में परिवर्तित हो जाते हैं।

एआई में OpenText फंक्शनल टेस्टिंग तकनीकी गुणों के बजाय दिखावट और लेबल के आधार पर कंट्रोल्स की पहचान करती है, इसलिए टेस्ट यूआई परिवर्तनों के बावजूद काम करते रहते हैं। एआई सहायक पुराने वीबीस्क्रिप्ट को भी आसानी से समझा सकते हैं।

हां. सह पायलट यह VBScript लूप, एक्सेल ऑटोमेशन और त्रुटि प्रबंधन का सुझाव देता है, जो कीवर्ड लाइब्रेरी के लिए उपयुक्त है। Revप्रत्येक सुझाव को ध्यान से देखें, क्योंकि ऑब्जेक्ट-रिपॉजिटरी नाम और UFTविशिष्ट विधियाँ आपकी संपत्तियों से मेल खानी चाहिए।

VBScript एकमात्र ऐसी भाषा है जिसे पूरी तरह से सपोर्ट किया जाता है। UFT एक ही IDE। एक्सेल, डेटाबेस और फ़ाइल एक्सेस सभी VBScript ऑब्जेक्ट्स के माध्यम से चलते हैं, जैसा कि इस वॉकथ्रू में दिखाया गया है।

एक्सेल छोटे, परीक्षक द्वारा प्रबंधित डेटा सेट के लिए उपयुक्त है। डेटाबेस बेहतर तरीके से स्केल करता है और साझा पहुंच का समर्थन करता है, लेकिन बड़े परिणाम सेट परीक्षण को धीमा कर सकते हैं, जैसा कि मूल स्क्रिप्ट चेतावनी देती है।

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

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

इस पोस्ट को संक्षेप में इस प्रकार लिखें: