डेटा ड्रिवेन टेस्टिंग क्या है? फ्रेमवर्क बनाना सीखें

डेटा संचालित परीक्षण

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

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

डेटा संचालित फ्रेमवर्क एक ऑटोमेशन टेस्टिंग फ्रेमवर्क है जिसमें इनपुट वैल्यू को डेटा फ़ाइलों से पढ़ा जाता है और टेस्ट स्क्रिप्ट में वेरिएबल में स्टोर किया जाता है। यह परीक्षकों को एक ही टेस्ट में सकारात्मक और नकारात्मक दोनों तरह के टेस्ट केस बनाने में सक्षम बनाता है। डेटा संचालित फ्रेमवर्क में इनपुट डेटा को .xls, .xml, .csv और डेटाबेस जैसे एकल या एकाधिक डेटा स्रोतों में संग्रहीत किया जा सकता है।

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

डेटा संचालित परीक्षण क्यों?

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

उदाहरण:

उदाहरण के लिए, हम 1000 विभिन्न डेटा सेटों वाले एकाधिक इनपुट फ़ील्ड के साथ लॉगिन सिस्टम का परीक्षण करना चाहते हैं।

इसका परीक्षण करने के लिए आप निम्नलिखित विभिन्न तरीके अपना सकते हैं:

दृष्टिकोण 1) प्रत्येक डेटासेट के लिए 1000 स्क्रिप्ट बनाएं और प्रत्येक परीक्षण को एक-एक करके अलग-अलग चलाएं।

दृष्टिकोण 2) परीक्षण स्क्रिप्ट में मान को मैन्युअल रूप से बदलें और इसे कई बार चलाएं।

दृष्टिकोण 3) एक्सेल शीट से डेटा आयात करें। एक्सेल पंक्तियों से एक-एक करके परीक्षण डेटा प्राप्त करें और स्क्रिप्ट निष्पादित करें।

दिए गए तीन परिदृश्यों में से पहले दो परिदृश्य श्रमसाध्य और समय लेने वाले हैं। इसलिए, तीसरा दृष्टिकोण अपनाना आदर्श है।

इस प्रकार, तीसरा दृष्टिकोण और कुछ नहीं बल्कि डेटा-संचालित ढांचा है।

डेटा संचालित स्वचालन फ्रेमवर्क कैसे बनाएं

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

मान लीजिए कि आप किसी एप्लिकेशन की लॉगिन कार्यक्षमता का परीक्षण करना चाहते हैं।

चरण 1) परीक्षण मामलों की पहचान करें

  • सही उपयोगकर्ता नाम और पासवर्ड दर्ज करें – लॉगिन सफल
  • गलत उपयोगकर्ता नाम और सही पासवर्ड दर्ज करें – लॉगिन विफल
  • सही उपयोगकर्ता नाम और गलत पासवर्ड दर्ज करें – लॉगिन विफल

चरण 2) उपरोक्त 3 परीक्षण मामलों के लिए विस्तृत परीक्षण चरण बनाएं

परीक्षण मामला# विवरण टेस्ट स्टेप्स परीक्षण डेटा अपेक्षित परिणाम
1 वैध क्रेडेंशियल के लिए लॉगिन की जाँच करें
  1. एप्लिकेशन लॉन्च करें
  2. उपयोगकर्ता नाम पासवर्ड दर्ज करें
  3. ठीक क्लिक करें
  4. परिणाम जांचें
उपयोगकर्ता नाम: वैध पासवर्ड: वैध लॉगिन की सफलता
2 लॉगिन में अमान्य क्रेडेंशियल की जाँच करें
  1. एप्लिकेशन लॉन्च करें
  2. उपयोगकर्ता नाम पासवर्ड दर्ज करें
  3. ठीक क्लिक करें
  4. परिणाम जांचें
उपयोगकर्ता नाम: अमान्य पासवर्ड: मान्य लॉगिन विफल
3 लॉगिन में अमान्य क्रेडेंशियल की जाँच करें
  1. एप्लिकेशन लॉन्च करें
  2. उपयोगकर्ता नाम पासवर्ड दर्ज करें
  3. ठीक क्लिक करें
  4. परिणाम जांचें
उपयोगकर्ता नाम: वैध पासवर्ड: अमान्य लॉगिन विफल

चरण 3) टेस्ट स्क्रिप्ट बनाएं

यदि आप देखते हैं कि परीक्षण चरण 3 परीक्षण चरणों के माध्यम से समान रहते हैं। इन चरणों को निष्पादित करने के लिए आपको एक परीक्षण स्क्रिप्ट बनाने की आवश्यकता है

// This is Pseudo Code 

// Test Step 1: Launch Application 
driver.get("URL of the Application");  

// Test Step 2: Enter Username 
txtbox_username.sendKeys("valid"); 

// Test Step 3: Enter Password 
txtbox_password.sendKeys("invalid"); 

// Test Step 4: Check Results 
If (Next Screen) print success else Fail

चरण 4) इनपुट टेस्ट डेटा के साथ एक एक्सेल/सीएसवी बनाएं

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

चरण 5) चरण स्क्रिप्ट को इनपुट टेस्ट डेटा पर लूप करने के लिए संशोधित करें। इनपुट कमांड को भी पैरामीटराइज़ किया जाना चाहिए

// This is Pseudo Code
// Loop 3 Times
for (i = 0; i & lt; = 3; i++) {
    // Read data from Excel and store into variables
    int input_1 = ReadExcel(i, 0);
    int input_2 = ReadExcel(i, 1);

    // Test Step 1: Launch Application
    driver.get("URL of the Application");

    // Test Step 2: Enter Username
    txtbox_username.sendKeys(input_1);
    // Test Step 3: Enter Password

    txtbox_password.sendKeys(input_2);
    // Test Step 4: Check Results
    If(Next Screen) print success
    else Fail
}

ऊपर सिर्फ़ 3 टेस्ट केस दिए गए हैं। टेस्ट स्क्रिप्ट का इस्तेमाल सिर्फ़ टेस्ट डेटा वैल्यू को जोड़कर निम्नलिखित टेस्ट केस पर लूप करने के लिए किया जा सकता है एक्सेल

  • गलत उपयोगकर्ता नाम और गलत पासवर्ड दर्ज करें – लॉगिन विफल
  • सही उपयोगकर्ता नाम और पासवर्ड रिक्त स्थान दर्ज करें – लॉगिन विफल
  • रिक्त उपयोगकर्ता नाम और रिक्त पासवर्ड दर्ज करें - लॉगिन विफल

इत्यादि

सर्वश्रेष्ठ डेटा-संचालित परीक्षण उपकरण

1) टेस्ट सिग्मा

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

अपने डेटा-आधारित परीक्षण परियोजनाओं के दौरान, मैंने Excel और CSV फ़ाइलों जैसे बाहरी स्रोतों से कई डेटा संयोजनों के विरुद्ध समान परीक्षण परिदृश्यों को निष्पादित करने के लिए Testsigma की पैरामीटराइज़ेशन क्षमताओं का लाभ उठाया। प्लेटफ़ॉर्म की डेटा पंक्तियों के माध्यम से स्वचालित रूप से पुनरावृति करने की क्षमता ने मेरे परीक्षण कवरेज को काफ़ी हद तक बढ़ा दिया, जबकि डेटा-स्तर के परिणामों पर विस्तृत रिपोर्टिंग ने मुझे यह शीघ्रता से पहचानने में मदद की कि वेब, मोबाइल और API स्तरों पर किन विशिष्ट इनपुट संयोजनों ने विफलताएँ उत्पन्न कीं।

टेस्ट सिग्मा

विशेषताएं:

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

फ़ायदे

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

नुकसान

  • मुझे डेटासेट को सावधानीपूर्वक प्रबंधित करना पड़ा क्योंकि बड़ी मात्रा में डेटा जल्दी ही भ्रम पैदा कर सकता है।

मूल्य निर्धारण:

  • मूल्य: व्यापक सदस्यता योजना के हिस्से के रूप में डेटा-आधारित परीक्षण क्षमताओं सहित अनुकूलित मूल्य निर्धारण।
  • मुफ्त आज़माइश: 14-दिन नि: शुल्क परीक्षण

टेस्टसिग्मा पर जाएँ >>

14-दिन नि: शुल्क परीक्षण

डेटा संचालित परीक्षण के सर्वोत्तम अभ्यास

डेटा-संचालित परीक्षण के लिए सर्वोत्तम परीक्षण अभ्यास नीचे दिए गए हैं:

  • डेटा-संचालित परीक्षण प्रक्रिया के दौरान यथार्थवादी जानकारी का उपयोग करना आदर्श है
  • परीक्षण प्रवाह नेविगेशन को परीक्षण स्क्रिप्ट के अंदर कोडित किया जाना चाहिए
  • सार्थक डेटा के साथ वर्चुअल API को आगे बढ़ाएं
  • गतिशील अभिकथन को आगे बढ़ाने के लिए डेटा का उपयोग करें
  • परीक्षण के सकारात्मक और नकारात्मक परिणाम
  • सुरक्षा और प्रदर्शन के लिए डेटा आधारित कार्यात्मक परीक्षणों का पुनः उपयोग करें

डेटा-संचालित परीक्षण के लाभ

डेटा-संचालित कई लाभ प्रदान करता है, उनमें से कुछ हैं:

  1. रिग्रेशन परीक्षण के दौरान डेटा मानों के एकाधिक सेटों के साथ एप्लिकेशन का परीक्षण करने की अनुमति देता है
  2. परीक्षण डेटा और सत्यापन डेटा को केवल एक फ़ाइल में व्यवस्थित किया जा सकता है, और यह परीक्षण केस तर्क से अलग होता है।
  3. इस टूल के आधार पर, टेस्ट स्क्रिप्ट को एक ही रिपॉजिटरी में रखना संभव है। इससे टेक्स्ट को समझना, बनाए रखना और प्रबंधित करना आसान हो जाता है।
  4. क्रियाओं और कार्यों का विभिन्न परीक्षणों में पुनः उपयोग किया जा सकता है।
  5. कुछ उपकरण स्वचालित रूप से परीक्षण डेटा उत्पन्न करते हैं। यह तब उपयोगी होता है जब बड़ी मात्रा में यादृच्छिक परीक्षण डेटा की आवश्यकता होती है, जो समय बचाने में मदद करता है।
  6. डेटा-संचालित परीक्षण विकास के किसी भी चरण को निष्पादित कर सकता है। डेटा-संचालित परीक्षण मामलों को आम तौर पर एकल प्रक्रिया में विलय कर दिया जाता है। हालाँकि, इसका उपयोग कई परीक्षण मामलों में किया जा सकता है।
  7. डेवलपर्स और परीक्षकों को उनके परीक्षण मामलों/स्क्रिप्ट के तर्क को परीक्षण डेटा से स्पष्ट रूप से अलग करने की अनुमति देता है।
  8. एक ही परीक्षण मामले को कई बार निष्पादित किया जा सकता है जिससे परीक्षण मामले और स्क्रिप्ट को कम करने में मदद मिलती है।
  9. परीक्षण स्क्रिप्ट में कोई भी परिवर्तन परीक्षण डेटा को प्रभावित नहीं करता है

डेटा संचालित परीक्षण के नुकसान

डेटा संचालित स्वचालन परीक्षण विधि की कुछ कमियां हैं:

  1. परीक्षण की गुणवत्ता कार्यान्वयन टीम के स्वचालन कौशल पर निर्भर करती है
  2. बड़ी मात्रा में डेटा का परीक्षण करते समय डेटा सत्यापन एक समय लेने वाला कार्य है।
  3. रखरखाव एक बड़ा मुद्दा है क्योंकि डेटा-संचालित परीक्षण के लिए बड़ी मात्रा में कोडिंग की आवश्यकता होती है।
  4. उच्च-स्तरीय तकनीकी कौशल की आवश्यकता होती है। एक परीक्षक को पूरी तरह से नई स्क्रिप्टिंग भाषा सीखनी पड़ सकती है।
  5. इसमें और भी दस्तावेज होंगे। अधिकतर स्क्रिप्ट प्रबंधन, परीक्षण, बुनियादी ढांचे और परीक्षण परिणामों से संबंधित होंगे।
  6. डेटा फ़ाइलें बनाने और बनाए रखने के लिए नोटपैड जैसे टेक्स्ट एडिटर की आवश्यकता होती है।

निष्कर्ष

  • डेटा-ड्रिवन एक परीक्षण स्वचालन ढांचा है जो परीक्षण डेटा को तालिका या स्प्रेडशीट प्रारूप में संग्रहीत करता है।
  • डेटा-संचालित परीक्षण स्वचालन ढांचे में, इनपुट डेटा को एकल या एकाधिक डेटा स्रोतों जैसे xls, dll ... एक्सएमएल, सीएसवी, और डेटाबेस.
  • प्रत्येक डेटा सेट के लिए अलग-अलग परीक्षण बनाना एक लंबी और समय लेने वाली प्रक्रिया है। डेटा ड्रिवन टेस्टिंग फ्रेमवर्क इस समस्या को हल करता है।ping कार्यात्मक परीक्षणों से अलग डेटा।
  • डेटा संचालित परीक्षण में, यथार्थवादी जानकारी का उपयोग करना एक आदर्श विकल्प है
  • यह परीक्षण के दौरान डेटा मानों के एकाधिक सेटों के साथ अनुप्रयोग का परीक्षण करने की अनुमति देता है प्रतिगमन परीक्षण
  • इस पद्धति का दोष यह है कि यह कार्यान्वयन टीम के स्वचालन कौशल पर निर्भर है

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