← नवीनतम पेपर
💻 computer science

TestMap: Evidence Infrastructure for Foundation-Model-Assisted Test Generation

यह शोधपत्र TestMap प्रस्तुत करता है, जो C#/.NET के लिए एक ओपन-सोर्स इंफ्रास्ट्रक्चर है जो विभिन्न मॉडलों और रणनीतियों के माध्यम से जनरेट किए गए परीक्षणों (tests) के साक्ष्य की गुणवत्ता को व्यवस्थित रूप से ट्रैक, माप और तुलना करने के लिए विविध सत्यापन उपकरणों को एकीकृत करके, फाउंडेशन-मॉडल-सहायता प्राप्त परीक्षण जनरेशन के एंड-टू-एंड लाइफसाइकिल को स्वचालित करता है।

मूल लेखक: Hunter Leary, Luke Hanuska, Chris Brown

प्रकाशित 2026-06-10
📖 7 मिनट में पढ़ें🧠 गहराई से पढ़ें

मूल लेखक: Hunter Leary, Luke Hanuska, Chris Brown

मूल पेपर CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/) के तहत लाइसेंस किया गया है। नीचे दिए गए पेपर की यह व्याख्या AI से तैयार की गई है। इसे लेखकों ने न तो लिखा है, न इसका समर्थन किया है। तकनीकी सटीकता के लिए मूल पेपर देखें। पूरा डिस्क्लेमर पढ़ें

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

यह बिल्कुल वही स्थिति है जिसका सामना सॉफ्टवेयर डेवलपर्स करते हैं जब वे फाउंडेशन मॉडल्स (FMs)—वे शक्तिशाली AI टूल्स जो कोड और टेस्ट लिख सकते हैं—का उपयोग करते हैं। यह पेपर TestMap नामक एक टूल का परिचय देता है, जिसे AI द्वारा जनरेट किए गए टेस्ट के साथ "विश्वास के मुद्दे" (trust issue) को हल करने के लिए डिज़ाइन किया गया है।

यहाँ पेपर में दी गई बातों का सरल उपमाओं (analogies) का उपयोग करके विवरण दिया गया है:

1. समस्या: AI टेस्टिंग का "ब्लैक बॉक्स" (The "Black Box" of AI Testing)

जब एक AI एक टेस्ट लिखता है (एक छोटा प्रोग्राम जो यह जांचता है कि आपका सॉफ्टवेयर काम कर रहा है या नहीं), तो यह एक रोबोट शेफ द्वारा आपको रेसिपी कार्डों का एक ढेर थमाने जैसा है।

  • पुराना तरीका: डेवलपर्स बस उन कार्डों को देखते थे जिन पर "सफलता!" (Success!) लिखा होता था और बाकी को फेंक देते थे। उन्हें यह नहीं पता होता था कि दूसरे क्यों विफल हुए। क्या रेसिपी खराब थी? क्या रोबोट ने सामग्री को गलत समझा? क्या किचन (कंप्यूटर एनवायरनमेंट) ही खराब था?
  • जोखिम: यदि आप केवल "सफलता" वाले कार्डों को ही रखते हैं, तो आप इस तथ्य को मिस कर सकते हैं कि रोबोट वास्तव में ऐसी रेसिपी लिख रहा है जो यह पुष्टि करती हैं कि आपका खाना जला हुआ है, बजाय इसके कि वह आपको बताए कि वह कच्चा है। आपको हर उस रेसिपी की पूरी कहानी जानने की जरूरत है जिसे रोबोट लिखने की कोशिश कर रहा था, न कि केवल विजेताओं की।

2. समाधान: TestMap (द "रेसिपी डिटेक्टिव")

TestMap एक ओपन-सोर्स टूल है (वर्तमान में C#/.NET सॉफ्टवेयर के लिए निर्मित) जो इन AI-जनरेटेड टेस्ट्स के लिए एक अत्यंत विस्तृत जासूस (detective) की तरह कार्य करता है। केवल "पास" या "फेल" कहने के बजाय, यह हर उस टेस्ट के पूरे जीवनचक्र को रिकॉर्ड करता है जिसे AI बनाने की कोशिश करता है।

TestMap को एक लैब नोटबुक के रूप में सोचें जो रोबोट की कुकिंग प्रक्रिया के हर चरण को ट्रैक करती है:

  • सामग्री (The Ingredients): यह रिकॉर्ड करता है कि रोबोट को ठीक क्या बताया गया था (प्रॉम्प्ट) और उसके पास क्या संदर्भ (context) था (मौजूदा कोड)।
  • प्रयास (The Attempt): यह टेस्ट को "पकाने" (कंपाइल और रन करने) की कोशिश करता है।
  • गलतियाँ (The Mistakes): यदि टेस्ट विफल होता है, तो TestMap उसे डिलीट नहीं करता। यह एरर मैसेज, विफल प्रयास और उसके टूटने का कारण भी सहेज लेता है। यह महत्वपूर्ण है क्योंकि एक विफलता आपके वास्तविक सॉफ्टवेयर में बग (bug) का खुलासा कर सकती है, न कि केवल रोबोट की गलती का।
  • मरम्मत (The Repair): यदि टेस्ट विफल होता है, तो TestMap रोबोट से एरर मैसेज को एक संकेत के रूप में उपयोग करके फिर से प्रयास करने के लिए कह सकता है। यह ट्रैक करता है कि इसे ठीक करने में कितने प्रयास लगे।
  • टेस्टिंग (The Taste Test): यह नए टेस्ट को आपके मौजूदा मेनू के विरुद्ध चलाकर देखता है कि क्या यह वास्तव में नई समस्याओं को ढूंढ पाता है (जैसे कि उस जले हुए कुकी को ढूंढना जिसे पुराने टेस्ट मिस कर गए थे) या क्या यह केवल वही दोहरा रहा है जो आप पहले से जानते थे।

3. यह कैसे काम करता है: "एविडेंस पाइपलाइन" (The "Evidence Pipeline")

पेपर TestMap को एक इंफ्रास्ट्रक्चर के रूप में वर्णित करता है जो एक विशिष्ट वर्कफ़्लो को ऑटोमेट करता है:

  1. इनजेशन (Ingestion): यह एक वास्तविक सॉफ्टवेयर प्रोजेक्ट (एक "रिपॉजिटरी") को लेता है और इसके सभी फाइलों को मैप करता है, जैसे एक लाइब्रेरियन लाइब्रेरी को व्यवस्थित करता है।
  2. बेसलाइन (The Baseline): AI कुछ भी करने से पहले, TestMap मौजूदा टेस्ट चलाता है ताकि देखा जा सके कि सॉफ्टवेयर सामान्य रूप से कैसे व्यवहार करता है। यह रोबोट द्वारा नया इंग्रीडिएंट डालने से पहले डिश को चखने जैसा है।
  3. जेनरेशन (Generation): AI को कोड के एक विशिष्ट हिस्से के लिए टेस्ट लिखने के लिए कहा जाता है।
  4. वैलिडेशन (Validation): TestMap उस नए टेस्ट को बनाने और चलाने की कोशिश करता है।
    • क्या यह कंपाइल हुआ? (क्या व्याकरण सही है?)
    • क्या यह पास हुआ? (क्या यह बिना क्रैश हुए चलता है?)
    • क्या इसने कोई बग पकड़ा? (क्या इसने कुछ नया पाया?)
  5. एविडेंस कलेक्शन (Evidence Collection): यही मुख्य नवाचार है। TestMap सब कुछ सहेजता है:
    • वह कोड जो विफल हुआ।
    • वह कोड जिसे सुधारा गया।
    • वह कोड जो पास हुआ लेकिन कुछ भी नया नहीं ढूंढ पाया (लो इम्पैक्ट)।
    • वह कोड जो पास हुआ और एक असली बग ढूंढ निकाला (एविडेंस-पॉजिटिव)।

4. "विफल" टेस्ट क्यों महत्वपूर्ण हैं?

पेपर इस बात पर जोर देता है कि विफल टेस्ट मूल्यवान साक्ष्य (evidence) हैं

  • यदि टेस्ट कंपाइल होने में विफल रहता है, तो इसका मतलब हो सकता है कि AI ने प्रोजेक्ट के नियमों को नहीं समझा।
  • यदि टेस्ट कोड में त्रुटि के कारण विफल होता है, तो इसका मतलब हो सकता है कि AI ने आपके सॉफ्टवेयर में एक वास्तविक बग ढूंढ लिया है जिसके बारे में आप नहीं जानते थे।
  • यदि टेस्ट पास हो जाता है लेकिन "फ्लैकी" (flaky) है (कभी काम करता है, कभी फेल होता है), तो यह आपको बताता है कि टेस्ट अविश्वसनीय है।

इन "विफल" उम्मीदवारों को रखकर, TestMap डेवलपर्स को AI की सीमाओं को समझने में मदद करता है। यह "सर्वाइवरशिप बायस" (survivorship bias) को रोकता है जहाँ हम केवल AI के सबसे अच्छे क्षणों को देखते हैं और उसके संघर्षों को अनदेखा कर देते हैं।

5. लक्ष्य: बेहतर निर्णय, न कि केवल अधिक कोड

TestMap डेवलपर्स को बदलने की कोशिश नहीं कर रहा है। यह उन्हें एक डैशबोर्ड ऑफ एविडेंस देने की कोशिश कर रहा है।

  • यह पूछने के बजाय कि, "क्या AI ने एक टेस्ट लिखा?"
  • TestMap पूछता है, "क्या AI ने एक ऐसा टेस्ट लिखा जो इस विशिष्ट प्रोजेक्ट के लिए उपयोगी, रखरखाव योग्य (maintainable), और विश्वसनीय है?"

यह शोधकर्ताओं और डेवलपर्स को विभिन्न AI मॉडल्स या AI से सवाल पूछने के विभिन्न तरीकों (प्रॉम्प्ट्स) की तुलना करने की अनुमति देता है ताकि यह देखा जा सके कि कौन सा वास्तव में एक विशिष्ट कोडबेस के लिए सबसे अच्छा परिणाम देता है, न कि केवल जेनेरिक बेंचमार्क पर निर्भर रहता है।

सारांश

संक्षेप में, TestMap एक ऐसा टूल है जो AI-जनरेटेड टेस्ट को तैयार उत्पादों के रूप में नहीं, बल्कि उम्मीदवारों (candidates) के रूप में देखता है जिन्हें जांच की आवश्यकता है। यह हर उम्मीदवार के लिए एक पूर्ण इतिहास बनाता है—उनके विफलताओं, मरम्मत और सफलताओं को ट्रैक करता है—ताकि डेवलपर्स यह निर्णय ले सकें कि AI के काम पर भरोसा करना है या नहीं। यह AI टेस्टिंग के "ब्लैक बॉक्स" को एक पारदर्शी, साक्ष्य-आधारित प्रक्रिया में बदल देता है।

अपने क्षेत्र के पेपरों की भीड़ में उलझे हुए हैं?

आपके रिसर्च कीवर्ड से मेल खाने वाले सबसे नए और अलग सोच वाले पेपरों का रोज़ाना Digest पाएँ—तकनीकी सारांश के साथ, आपकी भाषा में।

Digest आज़माएँ →