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

When Generative AI Writes Test Cases: Scenario-Driven Evaluation of Generated Tests

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

मूल लेखक: Baris Ardic, Idil Isil Yildirim, Carolin Brandt, Andy Zaidman

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

मूल लेखक: Baris Ardic, Idil Isil Yildirim, Carolin Brandt, Andy Zaidman

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

कल्पना कीजिए कि आप एक शेफ हैं जो एक बहुत ही प्रतिभाशाली, लेकिन कभी-कभी ज़रूरत से ज़्यादा उत्साही, AI असिस्टेंट को एक विशिष्ट व्यंजन बनाना सिखाने की कोशिश कर रहे हैं। आपके पास एक "गोल्ड स्टैंडर्ड" (Gold Standard) रेसिपी कार्ड है जो यह बताता है कि उस व्यंजन का स्वाद कैसा होना चाहिए और यह कैसे जांचा जाए कि वह सही बना है या नहीं।

यह पेपर इस बारे में है कि AI को अपने स्वयं के "टेस्ट टेस्ट" (स्वाद परीक्षण) लिखने के लिए कैसे कहा जाए, और इसे करने के लिए पूछने का सबसे अच्छा तरीका क्या है।

यहाँ अध्ययन का सरल उपमाओं (analogies) के साथ विवरण दिया गया है:

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

सॉफ्टवेयर डेवलपर्स कोड काम करता है या नहीं, इसकी जांच करने वाले टेस्ट लिखने के लिए AI का उपयोग करते हैं। लेकिन आमतौर पर, हम केवल यह देखते हैं कि AI के टेस्ट "पास" हुए या "फेल" हुए या उन्होंने कोड की कितनी लाइनों को कवर किया। यह एक छात्र द्वारा गणित के टेस्ट में सही उत्तर देने जैसा है, बिना यह देखे कि उसने उस समस्या को हल करने के लिए कैसे सोचा।

शोधकर्ता जानना चाहते थे कि: क्या AI वास्तव में समस्या के विभिन्न "फ्लेवर्स" (परिदृश्यों/scenarios) को समझता है, या वह केवल अनुमान लगा रहा है?

पूछने के तीन तरीके (प्रॉम्प्टिंग रणनीतियाँ - The Three Ways to Ask the AI)

शोधकर्ताओं ने इन टेस्ट को जेनरेट करने के लिए AI (GPT-4o) से बात करने के तीन अलग-अलग तरीके आजमाए। इसे एक सु-शेफ (sous-chef) से टेस्टिंग मेनू मांगने के अलग-अलग तरीकों के रूप में समझें:

  1. डायरेक्ट-इम्प्लीमेंट (Direct-Implement - "बस कर दो" वाला दृष्टिकोण):

    • प्रॉम्प्ट: "यह रहा कोड। मुझे अभी मेरे लिए टेस्ट की एक पूरी लिस्ट लिख कर दो।"
    • परिणाम: AI दौड़कर फिनिश लाइन तक पहुँच जाता है। वह उन सभी सही "फ्लेवर्स" (परिदृश्यों) को ढूंढ लेता है जिन्हें आप चाहते थे, लेकिन यह थोड़ा अस्त-व्यस्त हो जाता है। यह एक ही टेस्ट को कई बार लिख देता है (डुप्लिकेट्स) और कभी-कभी अजीब, अनावश्यक टेस्ट बना देता है। यह एक ऐसे शेफ की तरह है जो सूप के 20 सैंपल बनाता है, लेकिन उनमें से 10 बिल्कुल एक जैसे होते हैं।
  2. आइडिएट-ओनली (Ideate-Only - "ब्रेनस्टॉर्मिंग" वाला दृष्टिकोण):

    • प्रॉम्प्ट: "अभी कोड मत लिखो। बस मुझे बताओ कि मुझे किस तरह के टेस्ट लिखने चाहिए। मुझे विचारों की एक सूची दो।"
    • परिणाम: AI एक रचनात्मक ब्रेनस्टॉर्मिंग पार्टनर की तरह काम करता है। यह सबसे नए और दिलचस्प विचार सामने लाता है जो आपकी मूल रेसिपी में नहीं थे। हालाँकि, यह वास्तव में खाना नहीं बनाता (कोड नहीं लिखता), इसलिए आपको उन विचारों को वास्तविक टेस्ट में बदलने का काम करना पड़ता है।
  3. आइडिएट-देन-इम्प्लीमेंट (Ideate-Then-Implement - "पहले योजना बनाओ" वाला दृष्टिकोण):

    • प्रॉम्प्ट: "पहले, टेस्ट के विचारों के बारे में सोचो। फिर, उन विशिष्ट विचारों का उपयोग करके वास्तविक कोड लिखो।"
    • परिणाम: यह सबसे व्यवस्थित दृष्टिकोण है। AI काम करने से पहले सोचने के लिए रुकता है। यह टेस्ट की एक छोटी, साफ-सुथरी सूची बनाता है जिसमें डुप्लिकेट्स बहुत कम होते हैं। यह एक ऐसे शेफ की तरह है जो पहले खरीदारी की सूची लिखता है, उसकी जांच करता है, और फिर केवल उतना ही खाना बनाता है जितना आवश्यक है।

मुख्य निष्कर्ष (The Key Findings)

  • "गोल्ड स्टैंडर्ड" को रिकवर करना:
    जब AI को बस "करने" (Direct-Implement) के लिए कहा गया, तो उसने आपके द्वारा पहले से मौजूद अधिकांश टेस्ट परिदृश्यों को ढूंढ लिया। लेकिन, वह अस्त-व्यस्त था। जब उसे "पहले योजना बनाने" (Ideate-Then-Implement) के लिए मजबूर किया गया, तो वह अधिक साफ-सुथरा था लेकिन कुछ मूल परिदृश्यों को छोड़ गया।

    • उपमा: यदि आपने AI को जार में से सभी लाल मार्बल्स खोजने के लिए कहा, तो "बस कर दो" विधि ने लगभग सभी लाल मार्बल्स ढूंढ लिए लेकिन गलती से कुछ नीले भी उठा लिए। "पहले योजना बनाओ" विधि ने कम लाल मार्बल्स पकड़े लेकिन कोई नीला नहीं पकड़ा।
  • "नए" विचार:
    "ब्रेनस्टॉर्मिंग" (Ideate-Only) विधि उन नए परिदृश्यों को खोजने में सबसे अच्छी थी जो आपकी मूल रेसिपी में नहीं थे। कभी-कभी, ये नए विचार वास्तव में बहुत मूल्यवान होते थे—इन्होंने उन बग्स को पकड़ा जिन्हें मूल टेस्ट मिस कर गए थे। लेकिन अक्सर, वे पहले से ज्ञात चीजों के मामूली बदलाव मात्र थे।

  • "टूटे हुए" टेस्ट:
    AI के कुछ टेस्ट चलने में विफल रहे। शोधकर्ताओं ने बारीकी से देखा कि वे क्यों विफल हुए।

    • अधिकांश विफलताएं सरल थीं: AI ने गलत नंबर का अनुमान लगाया (जैसे, "मुझे लगता है कि उत्तर 5 है," लेकिन वास्तव में वह 4 है)। इन्हें ठीक करना आसान है।
    • कुछ विफलताएं गहरी थीं: AI ने मौलिक रूप से गलत समझा कि कोड कैसे काम करता है (जैसे, यह सोचना कि दरवाजा खुलता है जबकि वास्तव में वह लॉक होता है)। इन्हें ठीक करना कठिन है क्योंकि AI का तर्क (logic) गलत था।

बड़ा टेकअवे (The Big Takeaway)

AI को टेस्ट लिखने के लिए पूछने का कोई एक "परफेक्ट" तरीका नहीं है। यह इस पर निर्भर करता है कि आपको क्या चाहिए:

  • यदि आप सब कुछ पकड़ना चाहते हैं जो मूल टीम ने सोचा था, भले ही वह अस्त-व्यस्त हो, तो Direct-Implement का उपयोग करें।
  • यदि आप एक साफ, कुशल सूची चाहते हैं जिसमें डुप्लिकेट्स न हों, तो Ideate-Then-Implement का उपयोग करें।
  • यदि आप नए, रचनात्मक विचार खोजना चाहते हैं जो आपने अभी तक नहीं सोचे हैं, तो Ideate-Only का उपयोग करें (और फिर उन्हें बनाने के लिए सबसे अच्छे विचारों को चुनें)।

अध्ययन यह निष्कर्ष निकालता है कि केवल कोड को देखने के बजाय, टेस्ट के पीछे के विचारों (परिदृश्यों) को देखकर, डेवलपर्स अपने काम में AI का बेहतर उपयोग करने के लिए स्मार्ट निर्णय ले सकते हैं।

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

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

Digest आज़माएँ →