AutoRestTest at the SBFT 2026 Tool Competition
सिमेंटिक डिपेंडेंसी ग्राफ, मल्टी-एजेंट रीइन्फोर्समेंट लर्निंग और लार्ज लैंग्वेज मॉडल्स को संयोजित करने वाला एक टूल, AutoRestTest, ने 11 APIs में दोषों का पता लगाने और ऑपरेशन्स को प्रोसेस करने में प्रभावी ढंग से एक घंटे के टेस्टिंग बजट के भीतर SBFT 2026 REST लीग की तीनों मूल्यांकन श्रेणियों में प्रथम स्थान सुरक्षित किया।
मूल पेपर CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/) के तहत लाइसेंस किया गया है। नीचे दिए गए पेपर की यह व्याख्या AI से तैयार की गई है। इसे लेखकों ने न तो लिखा है, न इसका समर्थन किया है। तकनीकी सटीकता के लिए मूल पेपर देखें। पूरा डिस्क्लेमर पढ़ें
कल्पना कीजिए कि आप एक विशाल, स्वचालित वेंडिंग मशीन का परीक्षण करने की कोशिश कर रहे हैं जो हजारों अलग-अलग वस्तुओं को बेचती है। मशीन का एक जटिल मेनू (API) है, और आपके पास इसे खोलने के लिए ब्लूप्रिंट या चाबियाँ नहीं हैं (ब्लैक-बॉक्स टेस्टिंग)। आपका लक्ष्य विभिन्न संयोजनों में बटन दबाना है ताकि यह देखना हो सके कि क्या मशीन टूट जाती है, गलत आइटम निकाल देती है, या क्रैश हो जाती है।
यह बिल्कुल वही है जो AutoRestTest करता है, लेकिन REST API नामक कंप्यूटर सिस्टम के लिए। SBFT 2026 में "REST लीग" नामक एक हालिया प्रतियोगिता में, इस टूल ने एक सुपर-स्मार्ट, अथक रोबोट टेस्टर की तरह काम किया और हर एक श्रेणी में प्रथम स्थान प्राप्त किया।
यह कैसे काम करता है, यहाँ सरल अवधारणाओं में दिया गया है:
1. मानचित्र: "सिमेंटिक प्रॉपर्टी डिपेंडेंसी ग्राफ" (Semantic Property Dependency Graph)
API मेनू को स्ट्रिंग्स के एक विशाल, उलझे हुए जाल के रूप में सोचें। कुछ बटन जुड़े होते हैं; यदि आप "कार्ट में जोड़ें" (Add to Cart) दबाते हैं, तो आपको पहले "आइटम चुनें" (Select Item) दबाना ही होगा। यदि आप उन्हें गलत क्रम में दबाते हैं, तो मशीन भ्रमित हो सकती है।
AutoRestTest इन कनेक्शनों का एक मानचित्र बनाता है। यह इन कनेक्शनों को समझने के लिए एक स्मार्ट सिस्टम का उपयोग करता है और यह पता लगाता है कि उनके नामों और अर्थों के आधार पर कौन से बटन एक-दूसरे के "दोस्त" हैं। जैसे-जैसे यह परीक्षण करता है, यह अपने मानचित्र को वास्तविक समय में अपडेट करता है, रास्ते में खोजे गए नए कनेक्शनों को सीखता जाता है। यह सुनिश्चित करता है कि यह उन बटनों को दबाने में समय बर्बाद न करे जिनका एक साथ कोई अर्थ नहीं है।
2. टीम: चार विशिष्ट एजेंट
एक अकेले रोबोट द्वारा सब कुछ करने के बजाय, AutoRestTest चार विशिष्ट एजेंटों की एक टीम का उपयोग करता है (एक स्पोर्ट्स टीम के अलग-अलग पोजीशन वाले खिलाड़ियों की तरह):
- द ऑपरेशन एजेंट (The Operation Agent): तय करता है कि मेनू पर अगला कौन सा बटन दबाना है।
- द पैरामीटर एजेंट (The Parameter Agent): तय करता है कि कौन सी सेटिंग्स को चालू या बंद करना है (जैसे "बड़ा" बनाम "छोटा" चुनना)।
- द वैल्यू एजेंट (The Value Agent): स्लॉट में डालने के लिए वास्तविक डेटा के विचार लाता है (जैसे नाम या नंबर टाइप करना)।
- द डिपेंडेंसी एजेंट (The Dependency Agent): मानचित्र पर नज़र रखता है, यह सुनिश्चित करता है कि टीम कनेक्शनों के जाल के नियमों का पालन करे।
ये एजेंट रीइन्फोर्समेंट लर्निंग (Reinforcement Learning) नामक एक सीखने की विधि का उपयोग करते हैं। यह एक कुत्ते को प्रशिक्षित करने जैसा है:
- यदि मशीन "सफलता" (Success - 2xx) का संदेश देती है, तो टीम को एक ट्रीट (पुरस्कार) मिलता है।
- यदि मशीन क्रैश हो जाती है या एरर (Error - 5xx) देती है, तो टीम को ट्रीट भी मिलता है क्योंकि एरर खोजना ही मुख्य उद्देश्य है!
- यदि मशीन बस कहती है "मुझे समझ नहीं आया," तो टीम को एक सौम्य "ना" मिलता है।
समय के साथ, टीम सीख जाती है कि कौन से बटन संयोजन त्रुटियों को खोजने या चीजों को सही ढंग से चलाने की सबसे अधिक संभावना रखते हैं।
3. मस्तिष्क: लार्ज लैंग्वेज मॉडल (LLM)
खाली जगहों को भरने के लिए (जैसे कि किसी उपयोगकर्ता का नाम या तारीख कैसी होनी चाहिए), यह टूल एक लार्ज लैंग्वेज मॉडल (LLM) का उपयोग करता है। कल्पना कीजिए कि यह एक बहुत ही पढ़ा-लिखा सहायक है जो व्यवसाय के संदर्भ को जानता है।
अस्पष्ट अनुमान लगाने के बजाय, सहायक मेनू को देखता है और कहता है, "चूंकि यह एक फ्लाइट बुकिंग सिस्टम है, इसलिए तारीख '2026-04-12' जैसी होनी चाहिए।" यह वास्तविक मान (values) परीक्षण शुरू होने से पहले ही तैयार कर लेता है, ताकि टीम वास्तविक दौड़ के दौरान कंप्यूटर को सोचने के लिए समय बर्बाद न करे। यह परीक्षण को अविश्वसनीय रूप से तेज़ और कुशल बनाता है।
4. परिणाम: दौड़ जीतना
प्रतियोगिता में, AutoRestTest को पांच अन्य शीर्ष स्तर के टेस्टिंग टूल्स का सामना करना पड़ा। उन्हें 11 अलग-अलग वास्तविक दुनिया के सिस्टम और 317 अलग-अलग ऑपरेशन्स (बटन) का परीक्षण करने के लिए एक घंटा दिया गया था।
- फॉल्ट डिटेक्शन (Fault Detection): AutoRestTest ने औसतन प्रति सिस्टम 67 अद्वितीय त्रुटियां पाईं। अगले सर्वश्रेष्ठ टूल ने केवल लगभग 25 त्रुटियां पाईं। यह 2.5 गुना से अधिक बेहतर है।
- दक्षता (Efficiency): इसने इन त्रुटियों को अन्य उपकरणों की तुलना में बहुत तेज़ी से खोजा।
- लागत (Cost): यह चलाने में आश्चर्यजनक रूप से सस्ता था, जिसकी लागत प्रति सिस्टम प्रति टेस्ट केवल लगभग $0.02 थी।
एक गड़बड़ी (The One Glitch)
पेपर स्वीकार करता है कि यह पूर्ण नहीं था। फ्लाइट सर्च से जुड़े एक विशिष्ट परीक्षण में, यह टूल इसलिए क्रैश हो गया क्योंकि इसने मान लिया था कि सारा टेक्स्ट एक विशिष्ट फॉर्मेट (UTF-8) में लिखा गया है। यह एक ऐसे अनुवादक की तरह है जो अंग्रेजी तो पूरी तरह बोलता है लेकिन अगर कोई अलग लहजे में बोले तो भ्रमित हो जाता है। लेखक भविष्य के संस्करणों में इसे ठीक करने की योजना बना रहे हैं।
सारांश
AutoRestTest एक अत्यधिक संगठित, स्वयं सीखने वाली जासूसी टीम की तरह है। यह नियमों का एक मानचित्र बनाता है, काम को चार विशेषज्ञों के बीच बांटता है, वास्तविक परिदृश्यों का अनुमान लगाने के लिए एक स्मार्ट सहायक का उपयोग करता है, और हर सफलता और विफलता से सीखता है। परिणाम? इसने अन्य किसी भी टूल की तुलना में बहुत अधिक बग्स, तेज़ गति से और कम लागत पर खोजे।
अपने क्षेत्र के पेपरों की भीड़ में उलझे हुए हैं?
आपके रिसर्च कीवर्ड से मेल खाने वाले सबसे नए और अलग सोच वाले पेपरों का रोज़ाना Digest पाएँ—तकनीकी सारांश के साथ, आपकी भाषा में।