api testing tutorial
यह गहराई से एपीआई परीक्षण ट्यूटोरियल एपीआई परीक्षण, वेब सेवाओं और अपने संगठन में एपीआई परीक्षण का परिचय कैसे करें के बारे में बताते हैं:
इस परिचयात्मक ट्यूटोरियल से शिफ्ट-लेफ्ट टेस्टिंग और वेब सेवाओं की अवधारणा के साथ एपीआई परीक्षण में गहरी अंतर्दृष्टि प्राप्त करें।
वेब एपीआई जैसी अवधारणाएं, एपीआई कैसे काम करती हैं (वास्तविक-विश्व उदाहरण के साथ) और यह वेब सेवाओं से कैसे भिन्न है, इस ट्यूटोरियल में उदाहरणों के साथ अच्छी तरह से समझाया गया है।
=>नीचे स्क्रॉल करेंशुरुआती के लिए 5 इन-डेप्थ एपीआई टेस्टिंग ट्यूटोरियल की पूरी सूची देखने के लिए
आप क्या सीखेंगे:
- एपीआई परीक्षण ट्यूटोरियल की सूची
- इस एपीआई परीक्षण श्रृंखला में ट्यूटोरियल का अवलोकन
- एपीआई परीक्षण ट्यूटोरियल
- आपके संगठन में एपीआई परीक्षण का परिचय
- निष्कर्ष
एपीआई परीक्षण ट्यूटोरियल की सूची
ट्यूटोरियल # 1: एपीआई परीक्षण ट्यूटोरियल: शुरुआती के लिए एक पूर्ण गाइड
ट्यूटोरियल # 2: वेब सेवा ट्यूटोरियल: घटक, वास्तुकला, प्रकार और उदाहरण
ट्यूटोरियल # 3: शीर्ष 35 ASP.Net और वेब एपीआई साक्षात्कार प्रश्न उत्तर के साथ
ट्यूटोरियल # 4: पोस्टमैन ट्यूटोरियल: एपीआई टेस्ट पोस्टमैन का उपयोग करना
ट्यूटोरियल # 5: Apache HTTP क्लाइंट का उपयोग करके वेब सेवाएँ परीक्षण
इस एपीआई परीक्षण श्रृंखला में ट्यूटोरियल का अवलोकन
ट्यूटोरियल # | आप क्या सीखेंगे | |
---|---|---|
लोडफोकस | उपयोगकर्ताओं की संख्या और योजना प्रकारों के आधार पर | * एपीआई लोड परीक्षण के लिए इस्तेमाल किया जा सकता है - उपयोगकर्ताओं द्वारा एपीआई का समर्थन करने की संख्या का पता लगाने के लिए कुछ परीक्षण चलाने की अनुमति देता है। * उपयोग करने के लिए सरल - ब्राउज़र के भीतर परीक्षण चलाने की अनुमति देता है। |
ट्यूटोरियल_ # 1: | एपीआई परीक्षण ट्यूटोरियल: शुरुआती के लिए एक पूर्ण गाइड यह गहराई से एपीआई परीक्षण ट्यूटोरियल एपीआई परीक्षण और वेब सेवाओं के बारे में सभी को विस्तार से बताएगा और आपको अपने संगठन में एपीआई परीक्षण का परिचय कैसे करें, इस बारे में भी शिक्षित करेगा। | |
ट्यूटोरियल_ # 2: | वेब सेवा ट्यूटोरियल: घटक, वास्तुकला, प्रकार और उदाहरण यह वेब सेवा ट्यूटोरियल महत्वपूर्ण शब्दावली और SOAP बनाम बाकी के बीच अंतर के साथ वेब सेवाओं के आर्किटेक्चर, प्रकार और घटकों की व्याख्या करता है। | |
ट्यूटोरियल_ # 3: | शीर्ष 35 ASP.Net और वेब एपीआई साक्षात्कार प्रश्न उत्तर के साथ आप इस ट्यूटोरियल में शुरुआती और अनुभवी पेशेवरों के जवाब और उदाहरण के साथ सबसे लोकप्रिय अक्सर पूछे जाने वाले ASP.Net और वेब एपीआई साक्षात्कार प्रश्न की सूची का पता लगा सकते हैं। | |
ट्यूटोरियल_ # 4: | पोस्टमैन ट्यूटोरियल: एपीआई टेस्ट पोस्टमैन का उपयोग करना यह स्टेप ट्यूटोरियल स्टेप ट्यूटोरियल POSTMAN का उपयोग करके POSTMAN के बेसिक्स, इसके कंपोनेंट्स और सैंपल रिक्वेस्ट और रिस्पॉन्स को आपकी आसान समझ के लिए सरल शब्दों में समझाएगा। | |
ट्यूटोरियल_ # 5: | Apache HTTP क्लाइंट का उपयोग करके वेब सेवाएँ परीक्षण यह एपीआई ट्यूटोरियल Apache HTTP क्लाइंट का उपयोग करके वेब सेवाओं और परीक्षण वेब सेवाओं पर विभिन्न CRUD संचालन करने के बारे में है |
एपीआई परीक्षण ट्यूटोरियल
यह अनुभाग आपको वेब सेवाओं और वेब एपीआई की एक बुनियादी समझ प्राप्त करने में मदद करेगा, जो बदले में, इस एपीआई परीक्षण श्रृंखला में आगामी ट्यूटोरियल में प्रमुख अवधारणाओं को समझने में सहायक होगा।
एपीआई (एप्लीकेशन प्रोग्रामिंग इंटरफेस) सभी प्रक्रियाओं और कार्यों का एक सेट है जो हमें ऑपरेटिंग सिस्टम या प्लेटफार्मों के डेटा या सुविधाओं तक पहुंच के द्वारा एक एप्लिकेशन बनाने की अनुमति देता है। ऐसी प्रक्रियाओं का परीक्षण एपीआई परीक्षण के रूप में जाना जाता है।
वाम परीक्षण
एक महत्वपूर्ण प्रकार का परीक्षण जो आजकल एपीआई परीक्षण साक्षात्कार में पूछा जा रहा है, वह है शिफ्ट वाम परीक्षण। इस तरह के परीक्षण का अभ्यास लगभग सभी परियोजनाओं में किया जाता है जो एक चुस्त कार्यप्रणाली का पालन करते हैं।
शिफ्ट लेफ्ट टेस्टिंग शुरू होने से पहले, कोडिंग पूरी होने के बाद ही सॉफ्टवेयर टेस्टिंग चित्र में आया और परीक्षकों को कोड दिया गया। इस प्रथा के कारण अंतिम समय की ऊधम का सामना करना पड़ा और इसने उत्पाद की गुणवत्ता को भी काफी हद तक बाधित किया।
इसके अलावा, किए गए प्रयास (जब उत्पादन से पहले अंतिम चरण में दोषों की सूचना दी गई थी) विशाल थे क्योंकि डेवलपर्स को फिर से डिजाइन और कोडिंग चरण दोनों से गुजरना पड़ा।
सॉफ्टवेयर डेवलपमेंट लाइफ साइकल (SDLC) लेफ्ट लेफ्ट टेस्टिंग से पहले
पारंपरिक SDLC प्रवाह था: आवश्यकता -> डिज़ाइन -> कोडिंग -> परीक्षण।
पारंपरिक परीक्षण के नुकसान
- परीक्षण अत्यधिक सही है। जब अंतिम समय पर बग की पहचान की जाती है, तो बहुत सारी लागतें होती हैं।
- बग को हल करने में समय लगता है और उत्पादन को बढ़ावा देने से पहले इसे रिटायर करना बहुत बड़ा है।
इसलिए, परीक्षण चरण को बाईं ओर शिफ्ट करने के लिए एक नया विचार आया, जिसके कारण शिफ्ट वाम परीक्षण हुआ।
सुझाव पढ़ें => पाली वाम परीक्षण: सॉफ्टवेयर सफलता के लिए एक गुप्त मंत्र
वाम पाली परीक्षण के चरण
लेफ्ट शिफ्ट टेस्टिंग के कारण दोष जांच से दोष निवारण तक एक सफल प्रवासन हुआ। इसने सॉफ्टवेयर को तेजी से विफल करने और सभी विफलताओं को जल्द से जल्द ठीक करने में मदद की।
वेब एपीआई
सामान्य शब्दों में, एक वेब एपीआई को किसी ऐसी चीज के रूप में परिभाषित किया जा सकता है जो क्लाइंट सिस्टम से वेब सर्वर के लिए अनुरोध लेती है और वेब सर्वर से क्लाइंट मशीन को प्रतिक्रिया भेजती है।
एक एपीआई कैसे काम करता है?
आइए www.makemytrip.com पर उड़ान बुक करने का एक बहुत ही सामान्य परिदृश्य लें, जो एक ऑनलाइन यात्रा सेवा है जो कई एयरलाइनों के लिए जानकारी एकत्र करती है। जब आप फ्लाइट बुकिंग के लिए जाते हैं, तो आप यात्रा की तारीख / वापसी की तारीख, कक्षा आदि जैसी जानकारी दर्ज करते हैं और खोज पर क्लिक करते हैं।
यह आपको कई एयरलाइनों की कीमत और उनकी उपलब्धता दिखाएगा। इस मामले में, एप्लिकेशन कई एयरलाइंस के एपीआई के साथ बातचीत करता है और इस तरह एयरलाइन के डेटा तक पहुंच प्रदान करता है।
एक अन्य उदाहरण www.trivago.com है जो किसी विशेष शहर के विभिन्न होटलों की कीमत, उपलब्धता आदि की तुलना करता है और सूचीबद्ध करता है। यह वेबसाइट डेटाबेस तक पहुंचने के लिए कई होटलों के एपीआई के साथ संचार करती है और उनकी वेबसाइट से कीमतों और उपलब्धता को सूचीबद्ध करती है।
इस प्रकार, एक वेब एपीआई को 'एक इंटरफ़ेस जो क्लाइंट मशीन और वेबसर्वर के बीच संचार की सुविधा प्रदान करता है' के रूप में परिभाषित किया जा सकता है।
वेब सेवाएं
वेब सेवाएँ (जैसे वेब एपीआई) वे सेवाएँ हैं जो एक मशीन से दूसरी मशीन पर काम करती हैं। लेकिन एपीआई और वेब सेवाओं के बीच एक बड़ा अंतर यह है कि वेब सेवा एक नेटवर्क का उपयोग करती है।
यह कहना सुरक्षित है कि सभी वेब सेवाएँ वेब एपीआई हैं लेकिन सभी वेब एपीआई वेब सेवाएँ नहीं हैं (लेख के उत्तरार्द्ध में समझाया गया है)। इस प्रकार, वेब सेवाएँ वेब एपीआई का एक सबसेट हैं। वेब एपीआई और वेब सेवाओं के बारे में अधिक जानने के लिए नीचे दिए गए आरेख का संदर्भ लें।
वेब एपीआई बनाम वेब सेवाएँ
वेब सेवा बनाम वेब एपीआई
वेब एपीआई और वेब सेवा दोनों का उपयोग क्लाइंट और सर्वर के बीच संचार की सुविधा के लिए किया जाता है। प्रमुख अंतर केवल उनके संवाद करने के तरीके में आता है।
उनमें से प्रत्येक को एक अनुरोध निकाय की आवश्यकता होती है जो एक विशिष्ट भाषा में स्वीकार्य हो, एक सुरक्षित कनेक्शन प्रदान करने में उनका अंतर, सर्वर से संवाद करने की उनकी गति और ग्राहक को वापस जवाब देना, आदि।
वेब सेवाओं और वेब एपीआई के बीच अंतर आपके संदर्भ के लिए नीचे सूचीबद्ध है।
वेब सेवा
- वेब सेवाएँ आमतौर पर XML (एक्स्टेंसिबल मार्कअप लैंग्वेज) का उपयोग करती हैं, जिसका अर्थ है कि वे अधिक सुरक्षित हैं।
- वेब सेवाएँ अधिक सुरक्षित हैं क्योंकि वेब सेवा और एपीआई दोनों डेटा ट्रांसमिशन के दौरान एसएसएल (सिक्योर सॉकेट लेयर) प्रदान करते हैं, लेकिन यह डब्ल्यूएसएस (वेब सर्विसेज सिक्योरिटी) भी प्रदान करता है।
- वेब सेवा वेब एपीआई का एक सबसेट है। उदाहरण के लिए, वेब सेवाएँ केवल उपयोग की तीन शैलियों पर आधारित हैं SOAP, REST और XML-RPC।
- वेब सेवाओं को संचालित करने के लिए हमेशा एक नेटवर्क की आवश्यकता होती है।
- वेब सेवा 'वन कोड विभिन्न अनुप्रयोगों' का समर्थन करती हैं। इसका मतलब है कि विभिन्न अनुप्रयोगों में अधिक सामान्य कोड लिखा जाता है।
वेब एपीआई
- एक वेब एपीआई आमतौर पर JSON (जावास्क्रिप्ट ऑब्जेक्ट नोटेशन) का उपयोग करता है, जिसका अर्थ है कि वेब एपीआई तेजी से है।
- XML के विपरीत JSON के हल्के-फुल्के होने के कारण Web API तेज़ है।
- वेब एपीआई वेब सेवाओं का सुपरसेट है। उदाहरण के लिए, वेब सेवा की तीनों शैलियाँ वेब एपीआई में भी मौजूद हैं, लेकिन इसके अलावा, यह JSON - RPC जैसी अन्य शैलियों का उपयोग करती है।
- वेब एपीआई को संचालित करने के लिए नेटवर्क की आवश्यकता नहीं होती है।
- वेब API सिस्टम या अनुप्रयोग की प्रकृति के आधार पर इंटरऑपरेबिलिटी का समर्थन कर सकता है या नहीं भी कर सकता है।
आपके संगठन में एपीआई परीक्षण का परिचय
हमारे दिन-प्रतिदिन के जीवन में, हम सभी का उपयोग एपीआई के साथ ऐप्स के साथ बातचीत करने के लिए किया जाता है और फिर भी हम बैक-एंड प्रक्रियाओं के बारे में नहीं सोचते हैं जो अंतर्निहित कार्यक्षमता को चलाते हैं।
उदाहरण के लिए, आइए हम विचार करें कि आप Amazon.com पर उत्पादों के माध्यम से ब्राउज़ कर रहे हैं और आप एक उत्पाद / सौदा देखते हैं जो आपको वास्तव में पसंद है और आप इसे अपने फेसबुक नेटवर्क के साथ साझा करना चाहते हैं।
जिस क्षण आप पृष्ठ के शेयर अनुभाग पर फेसबुक आइकन पर क्लिक करते हैं और साझा करने के लिए अपने फेसबुक अकाउंट क्रेडेंशियल्स दर्ज करते हैं, आप एक एपीआई के साथ बातचीत कर रहे हैं जो कि अमेज़ॅन वेबसाइट को फेसबुक से जोड़ रहा है।
एपीआई परीक्षण पर ध्यान केंद्रित करें
एपीआई परीक्षण पर अधिक चर्चा करने से पहले, आइए उन कारणों पर चर्चा करें जिनके लिए हाल के दिनों में एपीआई आधारित अनुप्रयोगों ने लोकप्रियता हासिल की है।
ऐसे कई कारण हैं जिनके कारण संगठन एपीआई आधारित उत्पादों और अनुप्रयोगों में परिवर्तन कर रहे हैं। और उनमें से कुछ आपके संदर्भ के लिए नीचे सूचीबद्ध हैं।
# 1) पारंपरिक अनुप्रयोगों / सॉफ्टवेयर की तुलना में एपीआई आधारित अनुप्रयोग अधिक परिमाप्य होते हैं। कोड विकास की दर तेज है और एक ही एपीआई बिना किसी बड़े कोड या ढांचागत परिवर्तन के अधिक अनुरोधों की सेवा दे सकता है।
#दो) जब भी वे किसी सुविधा या एप्लिकेशन को विकसित करने पर काम करना शुरू करते हैं, तो विकास टीमों को कोडिंग शुरू करने की आवश्यकता नहीं होती है। एपीआई सबसे अधिक बार मौजूदा, दोहराए जाने वाले कार्यों, पुस्तकालयों, संग्रहीत प्रक्रियाओं आदि का पुन: उपयोग करते हैं और इसलिए यह प्रक्रिया उन्हें समग्र रूप से अधिक उत्पादक बना सकती है।
उदाहरण के लिए, यदि आप एक ई-कॉमर्स वेबसाइट पर काम करने वाले डेवलपर हैं और आप अमेजन को भुगतान प्रोसेसर के रूप में जोड़ना चाहते हैं - तो आपको स्क्रैच से कोड लिखने की आवश्यकता नहीं है।
आपको बस इतना करना है कि इंटीग्रेशन कीज़ का उपयोग करके अपनी वेबसाइट और अमेज़ॅन एपीआई के बीच एकीकरण स्थापित करें और चेकआउट के दौरान भुगतान संसाधित करने के लिए अमेज़न एपीआई को कॉल करें।
# 3) एपीआई समर्थित सिस्टम स्टैंडअलोन अनुप्रयोगों के साथ ही एपीआई आधारित सॉफ्टवेयर उत्पादों के साथ अन्य प्रणालियों के साथ आसान एकीकरण की अनुमति देता है।
उदाहरण के लिए आइए हम इस बात पर विचार करें कि आप टोरंटो से न्यूयॉर्क में शिपमेंट भेजना चाहते हैं। आप ऑनलाइन जाते हैं, एक अच्छी तरह से जानते हैं फ्रेट या रसद वेबसाइट पर जाएँ और आवश्यक जानकारी दर्ज करें।
अनिवार्य जानकारी प्रदान करने के बाद, जब आप गेट रेट बटन पर क्लिक करते हैं - बैक एंड में, यह लॉजिस्टिक वेबसाइट स्थानों के संयोजन के गंतव्य के लिए गतिशील दरों को प्राप्त करने के लिए कई वाहक और सेवा प्रदाता एपीआई और एप्लिकेशन से जुड़ सकती है।
एपीआई परीक्षण के पूर्ण स्पेक्ट्रम
एपीआई का परीक्षण केवल एपीआई के लिए अनुरोध भेजने और केवल शुद्धता के लिए प्रतिक्रिया का विश्लेषण करने के लिए प्रतिबंधित नहीं है। कमजोरियों के लिए अलग-अलग भार के तहत एपीआई को उनके प्रदर्शन के लिए परीक्षण करने की आवश्यकता है।
इस पर विस्तार से चर्चा करते हैं।
(i) कार्यात्मक परीक्षण
GUI इंटरफ़ेस की कमी के कारण कार्यात्मक परीक्षण एक चुनौतीपूर्ण कार्य हो सकता है।
आइए देखें कि कैसे कार्यात्मक परीक्षण दृष्टिकोण API के लिए GUI आधारित एप्लिकेशन से अलग है और हम इसके चारों ओर कुछ उदाहरणों पर भी चर्चा करेंगे।
सेवा मेरे) सबसे स्पष्ट अंतर यह है कि बातचीत करने के लिए कोई GUI नहीं है। आमतौर पर GUI आधारित कार्यात्मक परीक्षण करने वाले परीक्षकों को किसी ऐसे व्यक्ति की तुलना में गैर-GUI अनुप्रयोग परीक्षण में संक्रमण करना थोड़ा कठिन लगता है, जो पहले से परिचित है।
प्रारंभ में, एपीआई का परीक्षण शुरू करने से पहले भी, आपको स्वयं प्रमाणीकरण प्रक्रिया का परीक्षण और सत्यापन करना होगा। प्रमाणीकरण विधि एक एपीआई से दूसरे एपीआई में भिन्न होगी और प्रमाणीकरण के लिए किसी प्रकार की कुंजी या टोकन शामिल होगी।
यदि आप API से सफलतापूर्वक कनेक्ट होने में असमर्थ हैं, तो आगे का परीक्षण आगे नहीं बढ़ सकता है। इस प्रक्रिया को मानक अनुप्रयोगों में उपयोगकर्ता प्रमाणीकरण के लिए तुलनीय माना जा सकता है, जहाँ आपको आवेदन करने के लिए वैध क्रेडेंशियल की आवश्यकता होती है।
बी) परीक्षण एपीआई के दौरान परीक्षण क्षेत्र सत्यापन या इनपुट डेटा सत्यापन बहुत महत्वपूर्ण है। यदि एक वास्तविक फॉर्म-आधारित (GUI) इंटरफ़ेस उपलब्ध था, तो फ़ील्ड सत्यापन को फ्रंट एंड बैक बैक में लागू किया जा सकता है, जिससे यह सुनिश्चित होता है कि उपयोगकर्ता को अमान्य फ़ील्ड मान दर्ज करने की अनुमति नहीं है।
उदाहरण के लिए, यदि किसी एप्लिकेशन को डीडी / एमएम / वाईवाईवाईवाई के लिए तारीख प्रारूप की आवश्यकता होती है, तो हम इस सत्यापन को आवेदन जमा करने और संसाधित करने की प्रक्रिया सुनिश्चित करने के लिए जानकारी एकत्र करने पर कर सकते हैं।
हालांकि, यह एपीआई अनुप्रयोगों के लिए समान नहीं है। हमें यह सुनिश्चित करने की आवश्यकता है कि एपीआई अच्छी तरह से लिखा गया है और इन सभी मान्यताओं को लागू करने में सक्षम है, मान्य और अमान्य डेटा के बीच अंतर करता है और प्रतिक्रिया के माध्यम से अंतिम उपयोगकर्ता को स्थिति कोड और सत्यापन त्रुटि संदेश लौटाता है।
सी) मान्य और अमान्य प्रतिक्रिया के लिए एपीआई से प्रतिक्रियाओं की शुद्धता का परीक्षण वास्तव में महत्वपूर्ण है। यदि 200 का स्टेटस कोड (मतलब ऑल ओके) टेस्ट एपीआई से प्रतिक्रिया के रूप में प्राप्त होता है, लेकिन यदि प्रतिक्रिया पाठ कहता है कि कोई त्रुटि सामने आई है, तो यह एक दोष है।
इसके अतिरिक्त, यदि त्रुटि संदेश स्वयं गलत है, तो यह अंतिम ग्राहक के लिए बहुत भ्रामक हो सकता है जो इस एपीआई के साथ एकीकृत करने की कोशिश कर रहा है।
नीचे स्क्रीनशॉट में, उपयोगकर्ता ने अमान्य वजन दर्ज किया है, जो स्वीकार्य 2267 किलोग्राम से अधिक है। एपीआई त्रुटि स्थिति कोड और त्रुटि संदेश के साथ प्रतिक्रिया करता है। हालाँकि, त्रुटि संदेश गलत तरीके से वजन इकाइयों के रूप में KG के बजाय lbs का उल्लेख करता है। यह एक दोष है जो अंतिम ग्राहक को भ्रमित कर सकता है।
(ii) लोड और प्रदर्शन परीक्षण
एपीआई डिजाइन द्वारा स्केलेबल होने का मतलब है।
यह, बदले में, लोड और बनाता है प्रदर्शन का परीक्षण आवश्यक है, खासकर यदि डिज़ाइन की जा रही प्रणाली की आवश्यकता के आधार पर प्रति मिनट या घंटे के हजारों अनुरोधों की सेवा करने की अपेक्षा की जाती है। एपीआई पर नियमित रूप से लोड और प्रदर्शन परीक्षण प्रदर्शन, शिखर भार और ब्रेकिंग पॉइंट को बेंचमार्क करने में मदद कर सकते हैं।
किसी एप्लिकेशन को स्केल करने की योजना बनाते समय यह डेटा उपयोगी है। यह जानकारी उपलब्ध होने से निर्णयों और योजना का समर्थन करने में मदद मिलेगी, खासकर यदि संगठन अधिक ग्राहक जोड़ने की योजना बना रहा है, जिसका अर्थ है आने वाले अधिक अनुरोध।
उदाहरण के लिए , बता दें कि प्रदान की गई आवश्यकताओं के आधार पर, हम जानते हैं कि एपीआई को प्रति घंटे कम से कम 500 अनुरोधों की सेवा के लिए डिज़ाइन किया गया है और .01 सेकंड से कम की औसत प्रतिक्रिया समय बनाए रखना है।
हमारे लोड और प्रदर्शन परीक्षणों के आधार पर हमने पाया कि जब तक एपीआई प्रति घंटे 500 से कम अनुरोध प्राप्त करता है, तब तक यह औसत प्रतिक्रिया समय के लिए SLA बनाए रखने में सक्षम है। हालांकि, अगर इसे 200 और अनुरोध मिलते हैं, तो औसत प्रतिक्रिया समय बढ़ जाता है और आने वाले अनुरोध 1200 प्रति घंटे से अधिक होने पर ब्रेकिंग पॉइंट तक पहुंच जाता है।
आमतौर पर, यह देखा गया है कि प्रारंभिक डिजाइन चरणों के दौरान, अक्सर एपीआई के कार्यात्मक पहलुओं पर जोर दिया जाता है। जैसे ही समय बीतता है, एक उत्पाद कई लाइव क्लाइंट का समर्थन करना शुरू कर देता है, जब एपीआई प्रदर्शन और लोड परीक्षण के लिए परीक्षण अधिक नियमित तरीके से तस्वीर में आता है।
(iii) सुरक्षा परीक्षण
एप्लिकेशन प्रोग्रामिंग इंटरफेस या एपीआई असुरक्षित हैं और दुर्भावनापूर्ण हैकर्स के लिए सबसे आसान पहुंच बिंदु हैं जो किसी एप्लिकेशन के डेटा तक पहुंच या नियंत्रण प्राप्त करना चाहते हैं।
यह किसी भी कंपनी को कानूनी मुसीबत में डाल सकता है, जहां सुरक्षा भंग होने के कारण अनायास ही लोग और / या संस्थाएं एक आदरणीय एपीआई के माध्यम से ग्राहक के डेटा का उपयोग करने में सक्षम हैं।
सुरक्षा परीक्षण परीक्षण की एक विशेष शाखा है और इसे विशेषज्ञों द्वारा नियंत्रित किया जाना चाहिए। सुरक्षा परीक्षण संसाधन संगठन या स्वतंत्र सलाहकारों के भीतर से हो सकते हैं।
यह भी पढ़ें = >> पैक्ट कॉन्ट्रैक्ट टेस्टिंग क्या है
अपने संगठन में एपीआई परीक्षण का परिचय कैसे करें
किसी भी संगठन में एपीआई परीक्षण शुरू करने की प्रक्रिया किसी अन्य परीक्षण उपकरण और रूपरेखा को लागू करने या रोल आउट करने के लिए उपयोग की जाने वाली प्रक्रिया के समान है।
नीचे दी गई तालिका प्रत्येक चरण के अपेक्षित परिणाम के साथ-साथ मुख्य चरणों का सार प्रस्तुत करती है।
चरण | कदम | अपेक्षित परिणाम |
---|---|---|
उपकरण चयन | आवश्यकताओं को इकट्ठा करें और बाधाओं की पहचान करें | उपयुक्त एपीआई परीक्षण उपकरण के लिए अनुसंधान बाजार के लिए आवश्यकताओं को समझें। जैसे किस प्रकार के एपीआई का परीक्षण किया जा रहा है - SOAP या REST? क्या हमें इस भूमिका के लिए परीक्षक को नियुक्त करने या मौजूदा परीक्षक को प्रशिक्षित करने की आवश्यकता है? किस तरह के परीक्षण किए जाएंगे - कार्यात्मक, प्रदर्शन परीक्षण आदि। कार्यान्वयन के लिए बजट क्या है? |
उपलब्ध उपकरणों का मूल्यांकन करें | उपलब्ध टूल और शॉर्टलिस्ट 1 या 2 टूल की तुलना करें जो आवश्यकताओं को पूरा करते हैं। | |
अवधारणा के सुबूत | शॉर्टलिस्ट किए गए टूल के साथ परीक्षणों का एक सबसेट लागू करें। हितधारकों के लिए निष्कर्ष प्रस्तुत करें। लागू होने वाले उपकरण को अंतिम रूप दें। | |
कार्यान्वयन | शुरू करना | आपकी पसंद एफ टूल के आधार पर, आपको पीसी, वर्चुअल मशीन या सर्वर पर आवश्यक टूल इंस्टॉल करना होगा। यदि पसंद का उपकरण सदस्यता आधारित है, तो आवश्यक टीम खाते बनाएं। आवश्यकता पड़ने पर टीम को प्रशिक्षित करें। |
जाने देना | परीक्षण बनाएँ परीक्षा का परीक्षण करें रिपोर्ट दोष |
आम चुनौतियां और उन्हें कम करने के तरीके
आइए एक संगठन में एपीआई परीक्षण ढांचे को लागू करने की कोशिश करते समय क्यूए टीमों के सामने आने वाली कुछ सामान्य चुनौतियों पर चर्चा करें।
# 1) राइट टूल चुनना
नौकरी के लिए सही टूल का चयन करना सबसे आम चुनौती है। कई एपीआई परीक्षण उपकरण हैं जो बाजार में उपलब्ध हैं।
बाजार में उपलब्ध नवीनतम, सबसे महंगे उपकरण को लागू करने के लिए यह बहुत ही आकर्षक लग सकता है- लेकिन अगर यह वांछित परिणाम नहीं लाता है, तो वह उपकरण किसी काम का नहीं है।
इसलिए, हमेशा वह उपकरण चुनें जो आपकी संगठनात्मक आवश्यकताओं के आधार पर always होनी चाहिए ’को संबोधित करता है।
यहां उपलब्ध API टूल के लिए एक नमूना उपकरण मूल्यांकन मैट्रिक्स है
साधन | मूल्य निर्धारण | टिप्पणियाँ |
---|---|---|
साबुन यूआई | SoapUI ओपन सोर्स (कार्यात्मक परीक्षण) के लिए नि: शुल्क संस्करण उपलब्ध | * बाकी, सोप और अन्य लोकप्रिय एपीआई और IoT प्रोटोकॉल। * नि: शुल्क संस्करण में शामिल SOAP और REST तदर्थ परीक्षण संदेश का जोर ड्रैग एंड ड्रॉप टेस्ट क्रिएशन टेस्ट लॉग परीक्षण कॉन्फ़िगरेशन रिकॉर्डिंग से परीक्षण यूनिट रिपोर्टिंग। * सुविधाओं की पूरी सूची उनकी वेबसाइट में पाई जा सकती है। |
डाकिया | फ्री पोस्टमैन ऐप उपलब्ध है | * REST के लिए सबसे अधिक उपयोग किया जाता है। * सुविधाएँ उनकी वेबसाइट में पाई जा सकती हैं। |
पारसॉफ्ट | यह एक भुगतान किया गया उपकरण है, लाइसेंस खरीदने की आवश्यकता है और फिर उपकरण का उपयोग करने से पहले स्थापना की आवश्यकता होती है। | * व्यापक एपीआई परीक्षण: कार्यात्मक, भार, सुरक्षा परीक्षण, परीक्षण डेटा प्रबंधन |
vREST | उपयोगकर्ताओं की संख्या के आधार पर | * स्वचालित रीस्ट एपीआई परीक्षण। * रिकॉर्ड और फिर से खेलना। * नकली APIs का उपयोग करके फ़्रेंडेंड और बैकएंड से निर्भरता को हटाता है। * शक्तिशाली प्रतिक्रिया सत्यापन। * स्थानीयहोस्ट / इंट्रानेट / इंटरनेट पर तैनात परीक्षण अनुप्रयोगों के लिए काम करता है। * JIRA इंटीग्रेशन, जेनकिंस इंटीग्रेशन इम्पोर्ट्स फ्रॉम स्वैगर, पोस्टमैन। |
HttpMaster | एक्सप्रेस संस्करण: मुफ्त डाउनलोड करने के लिए व्यावसायिक संस्करण: उपयोगकर्ताओं की संख्या के आधार पर | * वेबसाइट परीक्षण के साथ-साथ एपीआई परीक्षण में मदद करता है। * अन्य विशेषताओं में वैश्विक मापदंडों को परिभाषित करने की क्षमता शामिल है, यह उपयोगकर्ता को सत्यापन प्रकार के बड़े सेट का उपयोग करके डेटा प्रतिक्रिया सत्यापन के लिए चेक बनाने की क्षमता प्रदान करता है। |
रनस्कोप | उपयोगकर्ताओं और योजना प्रकारों की संख्या के आधार पर | * एपीआई की निगरानी और परीक्षण के लिए। * डेटा सत्यापन के लिए इस्तेमाल किया जा सकता है ताकि यह सुनिश्चित हो सके कि सही डेटा वापस आ गया है। * किसी भी एपीआई लेनदेन की विफलता के मामले में ट्रैकिंग और सूचित करने की सुविधा शामिल है (यदि आपके आवेदन को भुगतान सत्यापन की आवश्यकता है, तो यह उपकरण एक अच्छा विकल्प साबित हो सकता है)। |
PingAPI | 1 परियोजना के लिए नि: शुल्क (1,000 अनुरोध) | * स्वचालित एपीआई परीक्षण और निगरानी के लिए फायदेमंद। |
# 2) मिसिंग टेस्ट विनिर्देशों
परीक्षक के रूप में, हमें किसी एप्लिकेशन का प्रभावी रूप से परीक्षण करने के लिए अपेक्षित परिणाम जानने की आवश्यकता है। यह अक्सर एक चुनौती होती है, जैसा कि अपेक्षित परिणाम जानने के लिए, हमें स्पष्ट सटीक आवश्यकताओं की आवश्यकता है - जो कि मामला नहीं है।
उदाहरण के लिए , नीचे दी गई आवश्यकताओं पर विचार करें:
'आवेदन को केवल एक मान्य शिपिंग तिथि स्वीकार करना चाहिए और सभी अमान्य आवश्यकताओं को अस्वीकार कर दिया जाना चाहिए'
ये आवश्यकताएं महत्वपूर्ण विवरण गायब हैं और बहुत अस्पष्ट हैं - हम एक वैध तारीख को कैसे परिभाषित कर रहे हैं? प्रारूप के बारे में क्या? क्या हम एंड-यूज़र आदि के लिए कोई अस्वीकृति संदेश लौटा रहे हैं?
स्पष्ट आवश्यकताओं का उदाहरण:
1) आवेदन केवल एक मान्य शिपिंग तिथि को स्वीकार करना चाहिए।
यदि यह है, तो शिपिंग तिथि मान्य मानी जाती है
- अतीत में नहीं
- आज की तारीख से अधिक या बराबर
- स्वीकार्य प्रारूप में है: DD / MM / YYYY
दो)
प्रतिक्रिया स्थिति कोड = 200
संदेश: ठीक है
3) उपरोक्त मानदंडों को पूरा नहीं करने वाली शिपिंग तिथि को अमान्य माना जाना चाहिए। यदि कोई ग्राहक अमान्य शिपिंग दिनांक भेजता है, तो उसे निम्न त्रुटि संदेश के साथ जवाब देना चाहिए:
मर्ज सॉर्ट पुनरावर्ती c ++
3.1
प्रतिक्रिया स्थिति कोड 200 नहीं
त्रुटि: प्रदान की गई शिपिंग तिथि अमान्य है; कृपया सुनिश्चित करें कि तिथि डीडी / एमएम / वाईवाईवाई प्रारूप में है
३.२
प्रतिक्रिया स्थिति कोड 200 नहीं
त्रुटि: प्रदान की गई शिपिंग की तारीख अतीत में है
# 3) लर्निंग कर्व
जैसा कि पहले उल्लेख किया गया है, जीयूआई आधारित अनुप्रयोगों का परीक्षण करते समय दृष्टिकोण की तुलना में एपीआई परीक्षण के लिए दृष्टिकोण अलग है।
यदि आप एपीआई परीक्षण के लिए इन-हाउस या सलाहकारों को विशेषज्ञ नियुक्त कर रहे हैं, तो एपीआई परीक्षण दृष्टिकोण या एपीआई परीक्षण उपकरण सीखने की अवस्था न्यूनतम हो सकती है। कोई भी सीखने की अवस्था, इस मामले में, उत्पाद या एप्लिकेशन ज्ञान प्राप्त करने से जुड़ी होगी।
यदि मौजूदा टीम के सदस्य को एपीआई परीक्षण सीखने के लिए सौंपा गया है, तो पसंद के उपकरण के आधार पर, परीक्षण दृष्टिकोण को बदलने के साथ-साथ सीखने की अवस्था मध्यम से उच्च हो सकती है। उत्पाद या अनुप्रयोग के लिए सीखने की अवस्था स्वयं कम-मध्यम हो सकती है, यह इस बात पर निर्भर करता है कि इस परीक्षक ने उस आवेदन का परीक्षण किया है या नहीं।
# 4) मौजूदा कौशल सेट
यह सीखने की अवस्था के बारे में पिछले बिंदु के साथ सीधे संबंध रखता है।
यदि कोई परीक्षक GUI आधारित परीक्षण से अधिक संक्रमण कर रहा था, तो परीक्षक को परीक्षण दृष्टिकोण को बदलने और नए उपकरण या रूपरेखा को आवश्यकतानुसार सीखने की आवश्यकता होगी। जैसे यदि एपीआई JSON प्रारूप में अनुरोधों को स्वीकार करता है, तो परीक्षण को शुरू करने के लिए परीक्षक को यह जानने की आवश्यकता होगी कि JSON क्या है।
मामले का अध्ययन
टास्क
मौजूदा एप्लिकेशन को स्केल करने के लिए, एक कंपनी एपीआई में एक उत्पाद और साथ ही एक मानक जीयूआई आवेदन की पेशकश करना चाहती थी। क्यूए टीम को यह सुनिश्चित करने के लिए एक परीक्षण कवरेज योजना प्रदान करने के लिए कहा गया था कि वे नियमित जीयूआई आधारित परीक्षणों से परे एपीआई परीक्षण को समायोजित करने के लिए तैयार हैं।
चुनौतियों
- अन्य सॉफ़्टवेयर उत्पादों में से कोई भी एपीआई आधारित वास्तुकला नहीं था, इसलिए इस कार्य के आसपास परीक्षण को समायोजित करने के लिए, टीम को खरोंच से एपीआई परीक्षण प्रक्रिया स्थापित करने की आवश्यकता है। इसका मतलब है कि उपकरणों का मूल्यांकन किया जाना था, शॉर्टलिस्ट किया गया, अंतिम रूप दिया गया और परीक्षणों के लिए टीम को प्रशिक्षित किया जाना था।
- टूल प्राप्त करने और कार्यान्वित करने के लिए कोई अतिरिक्त बजट आवंटित नहीं किया गया था। इसका मतलब है कि टीम को एक स्वतंत्र या ओपन-सोर्स एपीआई परीक्षण उपकरण चुनना था और मौजूदा टीम के किसी व्यक्ति को इस कार्य को करने के लिए प्रशिक्षित किया जाना था।
- एपीआई क्षेत्र और डेटा सत्यापन के लिए कोई आवश्यकता नहीं थी। आवश्यकताएँ 'इसी जीयूआई आवेदन के रूप में ही काम करना चाहिए' थे।
जोखिमों को कम करने और चुनौतियों के आसपास काम करने के लिए टीम द्वारा पीछा किया गया दृष्टिकोण
- QA टीम ने निम्नलिखित आवश्यकताओं की पहचान करने के लिए प्रोजेक्ट टीम के साथ काम किया:
- API प्रकार (REST / SOAP): आराम
- टेस्ट आवश्यक (कार्यात्मक, लोड, सुरक्षा): केवल कार्यात्मक परीक्षण
- स्वचालित परीक्षण आवश्यक (हाँ / नहीं): अभी के लिए वैकल्पिक
- परीक्षण रिपोर्ट (हां / नहीं): अपेक्षित
- क्यूए टीम ने उपलब्ध उपकरण मूल्यांकन किया एपीआई परीक्षण उपकरण आवश्यकताओं के आधार पर होना चाहिए। पोस्टमैन एपीआई टूल को उनकी पसंद के एक उपकरण के रूप में अंतिम रूप दिया गया था, क्योंकि यह मुफ्त था, और साथ ही उपयोग करने में आसान था, इस प्रकार सीखने की अवस्था को न्यूनतम किया गया था, और परीक्षणों को स्वचालित करने की क्षमता थी, और अच्छी इनबिल्ट रिपोर्टों के साथ आया था।
- एक ही परीक्षक जिसने एप्लिकेशन का परीक्षण किया, उसे प्रारंभिक परीक्षण बनाने के लिए पोस्टमैन का उपयोग करने के लिए प्रशिक्षित किया गया, जिससे किसी भी उत्पाद ज्ञान अंतराल को समाप्त कर दिया गया।
- लापता आवश्यकताओं से निपटने के लिए, प्रोजेक्ट टीम ने स्वैगर का उपयोग करके उच्च-स्तरीय फ़ील्ड-स्तरीय दस्तावेज़ बनाया। हालांकि यह स्वीकार्य डेटा प्रारूपों के संदर्भ में कुछ अंतराल छोड़ गया है और इसे परियोजना टीम के साथ लिया गया था और अपेक्षित प्रारूपों पर सहमति और दस्तावेज किए गए थे।
निष्कर्ष
एपीआई आधारित अनुप्रयोगों ने हाल के दिनों में लोकप्रियता हासिल की है। ये एप्लिकेशन पारंपरिक एप्लिकेशन / सॉफ़्टवेयर की तुलना में अधिक स्केलेबल हैं और अन्य API या एप्लिकेशन के साथ आसान एकीकरण की अनुमति देते हैं।
इस एपीआई परीक्षण ट्यूटोरियल ने एपीआई परीक्षण, पाली वाम परीक्षण, वेब सेवा और वेब एपीआई के बारे में विस्तार से बताया। हमने उदाहरणों के साथ वेब सेवा बनाम वेब एपीआई के बीच के अंतरों का भी पता लगाया।
ट्यूटोरियल के दूसरे भाग में, हमने एपीआई परीक्षण के पूर्ण स्पेक्ट्रम पर चर्चा की, अपने संगठन में एपीआई परीक्षण कैसे शुरू करें और इस प्रक्रिया में कुछ सामान्य चुनौतियों के साथ-साथ उनके लिए समाधान भी प्रस्तुत करें।
उदाहरणों के साथ वेब सेवाओं के बारे में अधिक जानने के लिए हमारे आगामी ट्यूटोरियल को देखें !!
अनुशंसित पाठ
- अल्फा परीक्षण और बीटा परीक्षण (एक पूर्ण गाइड)
- कार्यात्मक परीक्षण बनाम गैर-कार्यात्मक परीक्षण
- प्रयोज्यता परीक्षण ट्यूटोरियल: एक पूर्ण आरंभ गाइड
- वेरिफिकेशन टेस्टिंग (बीवीटी टेस्टिंग) कम्प्लीट गाइड बनाएं
- DevOps टेस्टिंग ट्युटोरियल: QO टेस्टिंग को कैसे प्रभावित करेगा DevOps?
- अभिगम्यता परीक्षण ट्यूटोरियल (स्टेप गाइड द्वारा एक पूर्ण चरण)
- सर्वश्रेष्ठ सॉफ्टवेयर परीक्षण उपकरण 2021 (क्यूए टेस्ट स्वचालन उपकरण)
- सॉफ्टवेयर परीक्षण क्या है? 100+ निःशुल्क मैनुअल परीक्षण ट्यूटोरियल