API कॉन्ट्रैक्ट टेस्टिंग क्या है?
API कॉन्ट्रैक्ट किसी इंटरफ़ेस का सहमत विवरण है — उसके एंडपॉइंट, पैरामीटर, रिक्वेस्ट व रिस्पॉन्स स्कीमा और स्टेटस कोड — जो आमतौर पर OpenAPI दस्तावेज़ के रूप में लिखा जाता है। कॉन्ट्रैक्ट टेस्टिंग सर्विस के वास्तविक रिस्पॉन्स की उस विवरण से तुलना करती है, ताकि बदला हुआ फ़ील्ड नाम या टाइप दूसरी तरफ़ को तोड़ने से पहले प्रोड्यूसर या कंज़्यूमर के पास पकड़ा जाए।
गाइड पढ़ें: API टेस्टिंग क्या है? REST API कैसे टेस्ट करें
AI API स्पेसिफ़िकेशन → टेस्ट केस कैसे इस्तेमाल करें
- OpenAPI 3 या Swagger 2 का कोई हिस्सा (YAML या JSON) पेस्ट करें, या endpoints को सादे टेक्स्ट में बताएँ।
- फोकस चुनें — सभी श्रेणियाँ, positive, negative, authentication/authorization, boundary या security — और टेस्ट केस की संख्या (3 से 40)।
- आउटपुट भाषा चुनें, «जनरेट» दबाएँ, और पहचाने गए ऑपरेशन की तालिका जाँचें ताकि पक्का हो कि टूल ने वही दायरा पढ़ा जो आप चाहते थे।
- हर केस का request, अपेक्षित status और assertions देखें, फिर CSV, Markdown या JSON में डाउनलोड करें।
AI API स्पेसिफ़िकेशन → टेस्ट केस की खूबियाँ
- OpenAPI 3 / Swagger 2 के अंश (JSON या YAML) और सादे endpoint विवरण — दोनों समझता है
- हर operation के लिए request (method, path, headers, query, body), अपेक्षित status और assertions सहित केस
- फ़ोकस चयन: all, positive, negative, auth, boundary या security
- पहचाने गए operations की तालिका के साथ Markdown/CSV/JSON एक्सपोर्ट
AI API स्पेसिफ़िकेशन → टेस्ट केस का उदाहरण
Spec → API टेस्ट
इनपुट:
DELETE /lookups/{lookup}/values/{id} → 204 / 403 / 409आउटपुट:
API-001 Delete unreferenced value → 204
API-002 Delete as Viewer → 403
API-003 Delete referenced value → 409 with reference count
…AI API स्पेसिफ़िकेशन → टेस्ट केस के बारे में अक्सर पूछे जाने वाले सवाल
क्या इसके लिए पूरी OpenAPI फ़ाइल ज़रूरी है?
नहीं। कुछ paths वाला अंश या endpoints का सादा-टेक्स्ट विवरण भी काम कर जाता है; AI उन operations की सूची दिखाता है जो उसने पहचाने, ताकि आप दायरे की पुष्टि कर सकें।
टेस्ट कौन-सा status code अपेक्षित करेगा?
वही जो आपका spec उस स्थिति के लिए बताता है। spec कुछ न बताए तो टूल REST परंपराएँ अपनाता है — create के लिए 201, delete के लिए 204, वैलिडेशन त्रुटियों के लिए 400 या 422, authentication और authorisation के लिए 401 या 403, न मिलने वाले resource के लिए 404 और टकराव (conflict) के लिए 409।
क्या security टेस्ट शामिल होते हैं?
फोकस «सभी श्रेणियाँ» या «सिक्योरिटी» पर हो तो ऑपरेशनों के लिए authentication और authorisation विफलताओं के साथ injection payloads, किसी दूसरे उपयोगकर्ता के ऑब्जेक्ट तक पहुँच (IDOR) और response में ज़रूरत से ज़्यादा डेटा जैसी जाँचें भी बनती हैं।
तकनीकी नोट्स
हर केस ऑपरेशन ("METHOD /path"), एक प्रकार और P0–P3 प्राथमिकता, पूरा request (method, असली path, headers, query string और JSON body), अपेक्षित status code, अपेक्षित response और एक से बारह स्पष्ट assertions बताता है। spec में responses दिए हों तो status codes उसी के अनुसार होते हैं, वरना REST परंपराओं के अनुसार।
AI कभी ऐसे endpoints नहीं गढ़ता जो contract में मौजूद नहीं हैं; जहाँ spec अस्पष्ट हो, वहाँ notes फ़ील्ड में की गई धारणा दर्ज कर दी जाती है।
संदर्भ
- OpenAPI SpecificationREST API के वर्णन का मानक: पाथ, ऑपरेशन, पैरामीटर, स्कीमा, रिस्पॉन्स और सिक्योरिटी स्कीम।
- JSON Schema SpecificationJSON दस्तावेज़ की संरचना का वर्णन और वैलिडेशन करने की शब्दावली (टाइप, आवश्यक प्रॉपर्टी, फ़ॉर्मेट)।
- RFC 9110: HTTP SemanticsHTTP मेथड, हेडर फ़ील्ड, स्टेटस कोड और कंटेंट निगोशिएशन के अर्थ, वायर वर्ज़न से स्वतंत्र।