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

What Do Contribution Guidelines Say About Software Testing?

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

मूल लेखक: Bruna Falcucci, Felipe Gomide, Andre Hora

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

मूल लेखक: Bruna Falcucci, Felipe Gomide, Andre Hora

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

कल्पना कीजिए कि ओपन-सोर्स सॉफ्टवेयर प्रोजेक्ट्स विशाल, हलचल भरे सामुदायिक रसोईघर (community kitchens) हैं। कोई भी अंदर आ सकता है, चाकू उठा सकता है, और एक बेहतर भोजन पकाने में मदद करने के लिए सब्जियां काटना (कोड लिखना) शुरू कर सकता है। लेकिन रसोई को सुचारू रूप से चलाने के लिए, मुख्य शेफ (प्रोजेक्ट मेंटेनर) काउंटर पर एक नियम पुस्तिका (Rulebook) छोड़ देते हैं। यह नियम पुस्तिका नए सहायकों को बताती है कि हाथ कैसे धोने हैं, सामग्री कहाँ मिलेगी, और बिना सूप खराब किए अपनी कटी हुई सब्जियां कैसे जमा करनी हैं।

यह पेपर एक टीम के शोधकर्ताओं की तरह है जो इन 200 प्रसिद्ध सामुदायिक रसोईघरों (विशेष रूप से जो पायथन और जावास्क्रिप्ट भाषाओं का उपयोग करते हैं) में गए, नियम पुस्तिकाओं को पढ़ा और यह देखा कि वे वास्तव में टेस्टिंग (जांचने) के बारे में क्या कहती हैं।

खाना पकाने की दुनिया में, "टेस्टिंग" का मतलब है परोसने से पहले व्यंजन को चखना ताकि यह सुनिश्चित हो सके कि इसका स्वाद साबुन जैसा न हो। शोधकर्ता जानना चाहते थे: क्या नियम पुस्तिकाएं वास्तव में नए सहायकों को खाना चखना सिखाती हैं, या वे बस यह मान लेती हैं कि सबको यह पहले से पता है?

यहाँ उन्हें जो मिला, उसे सरल रूप में नीचे दिया गया है:

1. अधिकांश रसोईघरों में एक "चखने" वाला अनुभाग है (लेकिन सभी में नहीं)

शोधकर्ताओं ने पाया कि 78% रसोईघरों में उनकी नियम पुस्तिका में चखने (टेस्टिंग) के लिए एक विशिष्ट अनुभाग समर्पित था।

  • यह कहाँ है? ज्यादातर समय (58%), यह "CONTRIBUTING" नामक एक फाइल में होता है (मुख्य निर्देश पुस्तिका)। कभी-कभी यह एक अलग, फैंसी ब्रोशर (एक्सटर्नल डॉक्स) में होता है, और शायद ही कभी, यह मुख्य मेनू (README) पर ही लिख दिया जाता है।
  • कमी: लगभग 22% रसोईघरों में टेस्टिंग के बारे में कोई निर्देश ही नहीं थे। यदि आप उन रसोईघरों में जाते, तो आपको अंदाजा लगाना पड़ता कि अपना खाना कैसे चेक करें।

2. "कैसे करें" का असंतुलन: चलाना बनाम लिखना

जब नियम पुस्तिकाओं ने टेस्टिंग के बारे में बात की, तो वे एक चीज़ में बहुत अच्छी थीं लेकिन दूसरी में कमजोर।

  • "कैसे चलाएं" (83.5%): अधिकांश नियम पुस्तिकाओं ने स्पष्ट रूप से कहा, "यहाँ वह जादुई मंत्र (कमांड) है जिससे पूरे बर्तन का स्वाद लिया जा सकता है।" यह ऐसा है जैसे कहना, "पूरे स्वाद की जांच करने के लिए इस बटन को दबाएं।"
  • "कैसे लिखें" (37%): बहुत कम नियम पुस्तिकाओं ने यह समझाया कि वास्तव में एक नया टेस्ट (स्वाद परीक्षण) कैसे बनाया जाए। यह ऐसा है जैसे कहना, "बटन दबाएं," लेकिन आपको यह नहीं सिखाया कि नया चम्मच कैसे बनाया जाए या यह कैसे पता लगाया जाए कि "खराब" स्वाद क्या होता है।
  • परिणाम: सहायकों को मौजूदा भोजन की जांच करना तो पता है, लेकिन वे अक्सर अपने द्वारा जोड़ी गई नई सामग्रियों के लिए अपने स्वयं के टेस्ट कैसे बनाए जाएं, इस पर अनुमान लगाने के लिए मजबूर होते हैं।

3. "टेस्ट पिरामिड" की समस्या

सॉफ्टवेयर में, टेस्टिंग के विभिन्न स्तर होते हैं, जैसे कि अलग-अलग प्रकार के स्वाद परीक्षण:

  • यूनिट टेस्ट (71%): ये एक अकेली सामग्री को चखने की तरह हैं (जैसे, "क्या यह गाजर मीठी है?")। नियम पुस्तिकाओं ने इस बारे में बहुत बात की।
  • इंटीग्रेशन टेस्ट (20.5%): ये यह चखने की तरह हैं कि गाजर और प्याज मिलकर बर्तन में कैसे काम करते हैं। नियम पुस्तिकाओं ने इसका उल्लेख बहुत कम किया।
  • एंड-टू-एंड टेस्ट (15.5%): यह अंतिम, पूरी तरह से पकाए गए भोजन को चखने जैसा है ताकि देखा जा सके कि पूरा व्यंजन कैसा है। नियम पुस्तिकाओं ने इसके बारे में लगभग कभी बात नहीं की।

रूपक (Metaphor): शेफ इस बात को लेकर बहुत चिंतित हैं कि गाजर का स्वाद सही हो, लेकिन वे सहायकों को यह बताने में बहुत कम समय देते हैं कि क्या पूरा स्टू जल जाएगा या क्या स्वाद आपस में मिल पाएंगे।

4. गायब "गुप्त हथियार"

शोधकर्ताओं ने उन्नत खाना पकाने के सुझावों की भी तलाश की जो टेस्टिंग को आसान और अधिक विश्वसनीय बनाने में मदद करते हैं:

  • मॉकिंग (Mocking) (9.5%): कभी-कभी, आप सूप में असली समुद्री पानी को नहीं चख सकते; आपको वास्तविक अनुभव देने के लिए नमक के एक नकली डिब्बे का उपयोग करना होगा। इसे "मॉकिंग" कहा जाता है। 10 में से केवल 1 रसोईघर में इन नकली उपकरणों का उपयोग करने के निर्देश थे।
  • कवरेज (Coverage) (25.5%): यह एक स्कोरकार्ड है जो दिखाता है कि रेसिपी का कितना हिस्सा वास्तव में चखा गया था। केवल लगभग एक चौथाई रसोईघरों ने सहायकों को बताया कि उन्हें किस स्कोर का लक्ष्य रखना चाहिए।
  • सर्वोत्तम अभ्यास (Best Practices) (9%): सामान्य सुझाव जैसे "परोसने से पहले हमेशा चखें" बहुत दुर्लभ थे।

निष्कर्ष

पेपर यह निष्कर्ष निकालता है कि हालांकि अधिकांश ओपन-सोर्स प्रोजेक्ट्स चाहते हैं कि उनके सहायक अपने काम का परीक्षण करें, लेकिन उनके द्वारा छोड़े गए निर्देश असंतुलित हैं।

वे यह बताने में बहुत अच्छे हैं कि, "यहाँ आपका टेस्ट चलाने का तरीका है," लेकिन वे अक्सर इन विषयों पर मौन रहते हैं:

  • नया टेस्ट कैसे लिखें।
  • जटिल अंतःक्रियाओं (इंटीग्रेशन) का परीक्षण कैसे करें।
  • पूरे सिस्टम (एंड-टू-एंड) का परीक्षण कैसे करें।
  • उन्नत उपकरणों (मॉकिंग) का उपयोग कैसे करें या गुणवत्ता लक्ष्य (कवरेज) कैसे निर्धारित करें।

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

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

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

Digest आज़माएँ →