एपीआई परीक्षण ट्यूटोरियल: एपीआई परीक्षण स्वचालन क्या है?

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

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

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

एपीआई परीक्षण

एपीआई परीक्षण क्या है?

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

एपीआई परीक्षण

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

API परीक्षण स्वचालन वातावरण की स्थापना

एपीआई ऑटोमेशन टेस्टिंग के लिए एक ऐसे एप्लिकेशन की आवश्यकता होती है जिसके साथ एपीआई के माध्यम से इंटरैक्ट किया जा सके। एपीआई का परीक्षण करने के लिए, आपको निम्नलिखित की आवश्यकता होगी:

  • API को चलाने के लिए टेस्टिंग टूल का उपयोग करें।
  • API का परीक्षण करने के लिए अपना स्वयं का कोड लिखें

कुछ महत्वपूर्ण बिंदु:

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

API के आउटपुट के प्रकार

किसी API का आउटपुट इस प्रकार हो सकता है:

  1. किसी भी प्रकार का डेटा
  2. स्थिति (जैसे पास या फेल)
  3. किसी अन्य API फ़ंक्शन को कॉल करें.

किसी भी प्रकार का डेटा

उदाहरण: एक API फ़ंक्शन है जो दो पूर्णांक संख्याओं को जोड़ता है।

Long add(int a, int b)

संख्याओं को इनपुट पैरामीटर के रूप में दिया जाना चाहिए। आउटपुट दो पूर्णांक संख्याओं का योग होना चाहिए। इस आउटपुट को अपेक्षित परिणाम के साथ सत्यापित किया जाना चाहिए।

add (1234, 5656)

यदि संख्या पूर्णांक सीमा से अधिक हो जाती है तो अपवादों को संभालना होगा।

परिणाम (सफल या असफल)

नीचे दिए गए API फ़ंक्शन पर विचार करें:

  1. ताला()
  2. अनलॉक()
  3. मिटाना()

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

किसी अन्य API/इवेंट को कॉल करना

किसी अन्य API / ईवेंट को कॉल करना

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

एपीआई परीक्षण के लिए टेस्ट केस

एपीआई परीक्षण के टेस्ट केस निम्नलिखित पर आधारित होते हैं:

  • इनपुट स्थिति के आधार पर वापसी मान: इसका परीक्षण करना अपेक्षाकृत आसान है, क्योंकि इनपुट को परिभाषित किया जा सकता है और परिणामों को प्रमाणित किया जा सकता है
  • कुछ भी वापस नहीं करता: जब कोई रिटर्न वैल्यू नहीं होती है, तो सिस्टम पर API के व्यवहार की जांच की जाती है
  • कुछ अन्य API/घटना/व्यवधान ट्रिगर करें: यदि किसी API का आउटपुट किसी इवेंट या इंटरप्ट को ट्रिगर करता है, तो उन इवेंट्स और इंटरप्ट लिसनर्स को tracked
  • डेटा संरचना अद्यतन करें: डेटा संरचना को अद्यतन करने से सिस्टम पर कुछ परिणाम या प्रभाव पड़ेगा, और इसे प्रमाणित किया जाना चाहिए
  • कुछ संसाधनों को संशोधित करें: यदि API कॉल कुछ संसाधनों को संशोधित करता है तो संबंधित संसाधनों तक पहुंच कर इसे सत्यापित किया जाना चाहिए

एपीआई परीक्षण दृष्टिकोण

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

एपीआई परीक्षण दृष्टिकोण

एपीआई परीक्षण के लिए सही तरीका अपनाने में निम्नलिखित बिंदु सहायक होते हैं:

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

API का परीक्षण कैसे करें

API स्वचालन परीक्षण में सामान्य SDLC प्रक्रिया के अलावा कम से कम निम्नलिखित परीक्षण विधियों को शामिल किया जाना चाहिए:

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

एपीआई टेस्टिंग और यूनिट टेस्टिंग के बीच अंतर

इकाई का परीक्षण एपीआई परीक्षण
डेवलपर्स इसे निष्पादित करते हैं परीक्षक इसका प्रदर्शन करते हैं
अलग कार्यक्षमता का परीक्षण किया जाता है संपूर्ण कार्यक्षमता का परीक्षण किया जाता है
डेवलपर स्रोत कोड तक पहुंच सकता है परीक्षक स्रोत कोड तक नहीं पहुंच सकते
यूआई परीक्षण भी शामिल है केवल API फ़ंक्शन का परीक्षण किया जाता है
केवल बुनियादी कार्यक्षमताओं का परीक्षण किया जाता है सभी कार्यात्मक मुद्दों का परीक्षण किया जाता है
दायरा सीमित दायरा व्यापक
आमतौर पर चेक-इन से पहले चलाया जाता है बिल्ड बनने के बाद परीक्षण चलाएं

एपीआई परीक्षण के सर्वोत्तम तरीके

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

एपीआई परीक्षण द्वारा पता लगाए जाने वाले बग के प्रकार

  • त्रुटि स्थितियों को शालीनता से संभालने में विफल रहता है
  • अप्रयुक्त झंडे
  • गुम या डुप्लिकेट कार्यक्षमता
  • API से कनेक्ट करने और प्रतिक्रिया प्राप्त करने में कठिनाई सहित विश्वसनीयता संबंधी समस्याएं।
  • सुरक्षा के मुद्दों
  • मल्टी-थ्रेडिंग मुद्दे
  • प्रदर्शन संबंधी समस्याएं जहां एपीआई प्रतिक्रिया समय बहुत अधिक है
  • कॉल करने वाले को अनुचित त्रुटियाँ/चेतावनी
  • मान्य तर्क मानों का गलत प्रबंधन
  • प्रतिक्रिया डेटा सही ढंग से संरचित नहीं है (JSON या XML)

एपीआई टेस्ट ऑटोमेशन कैसे करें

नीचे API परीक्षण को स्वचालित करने के लिए विस्तृत मार्गदर्शिकाएँ दी गई हैं:

  • API का परीक्षण कैसे करें निश्चिंत रहें
  • API का परीक्षण कैसे करें Postman
  • API का परीक्षण कैसे करें UFT

इसके अलावा, अन्य भी हैं एपीआई परीक्षण के लिए उपकरण.

एआई किस प्रकार एपीआई परीक्षण को बदल रहा है?

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

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

एपीआई परीक्षण की चुनौतियाँ

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

निष्कर्ष

API में क्लास/फ़ंक्शन/प्रक्रियाओं का एक सेट होता है जो व्यवसाय तर्क परत का प्रतिनिधित्व करता है। यदि API का सही तरीके से परीक्षण नहीं किया जाता है, तो यह न केवल API एप्लिकेशन में बल्कि कॉलिंग एप्लिकेशन में भी समस्याएँ पैदा कर सकता है। यह सॉफ़्टवेयर इंजीनियरिंग में एक अपरिहार्य परीक्षण है।

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

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

हाँ. जैसे उपकरण Postman ये जीयूआई-आधारित इंटरफेस प्रदान करते हैं जिनमें कोडिंग की आवश्यकता नहीं होती है। हालांकि, उन्नत स्वचालन के लिए प्रोग्रामिंग कौशल आवश्यक हैं। Java or Python.

HTTP स्टेटस कोड प्रतिक्रिया परिणामों को दर्शाते हैं: 2xx सफलता के लिए, 4xx क्लाइंट त्रुटियों के लिए, और 5xx सर्वर त्रुटियों के लिए। परीक्षण में यह सत्यापित करना आवश्यक है कि सभी प्रकार के अनुरोधों के लिए सही कोड वापस किए गए हैं।

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

नहीं। एआई में विषय-विशिष्ट विशेषज्ञता और रचनात्मक समस्या-समाधान की कमी है। अधिकतम प्रभावशीलता के लिए एआई स्वचालन को मानवीय पर्यवेक्षण के साथ संयोजित करना सर्वोत्तम दृष्टिकोण है।

Postman सहयोग के साथ निःशुल्क योजनाएँ प्रदान करता है। निश्चिंत रहें यह एक निःशुल्क ओपन-सोर्स है Java ढांचा। SoapUIकर्ल और JMeter साथ ही मुफ्त सुविधाएं भी प्रदान करें।

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