बग क्या बनता है?


10

असल में बग क्या है? कोई पूर्वनिर्धारित नियम?


क्या हमारा कुछ संदर्भ हो सकता है? क्या आप विशुद्ध रूप से अजीब दृष्टिकोण से बात कर रहे हैं, या बग जो ट्रैकिंग साइटों पर रिपोर्ट किए जाएंगे?
जेरेमी

5
सभी कीड़े सिर्फ सुविधाओं छिपे हुए हैं :)
मार्को Ceppi

2
मैं छुपी हुई :-) के बजाय "अनिर्दिष्ट सुविधाओं" को कहने की कोशिश करता हूं
लिटिल जाव

जवाबों:


14

एक बग है:

एक सॉफ्टवेयर बग एक कंप्यूटर प्रोग्राम या सिस्टम में एक त्रुटि, दोष, गलती, विफलता, या गलती का वर्णन करने के लिए उपयोग किया जाने वाला सामान्य शब्द है जो एक गलत या अप्रत्याशित परिणाम पैदा करता है, या इसे अनपेक्षित तरीकों से व्यवहार करने का कारण बनता है। ( डॉ। से )

यहाँ एक बग का गठन करने की एक और अच्छी परिभाषा है। कोई एक:

  1. प्रोग्रामर के इरादों के अनुसार कार्यक्रम व्यवहार नहीं करता था। या
  2. प्रोग्रामर के इरादे आम और उचित उपयोगकर्ता अपेक्षाओं को पूरा नहीं करते थे।

इस विकी में बग के लिए उबंटू समुदाय की एक उत्कृष्ट परिभाषा है , विशेष रूप से बग और लापता सुविधाओं के बीच अंतर को उजागर करना :

एक सॉफ्टवेयर बग एक कंप्यूटर प्रोग्राम में एक त्रुटि या गलती है जो इसे काम करने में विफल बनाता है जैसा कि यह माना जाता है। यह सब पर काम करने में विफल होने के रूप में सरल हो सकता है, या एक सूक्ष्म रूप से गलत परिणाम के रूप में जटिल हो सकता है [...] कुछ चीजें बग नहीं हैं, लेकिन ऐसी विशेषताएं गायब हैं जिन्हें यथोचित रूप से शामिल किया जाना चाहिए। गुम सुविधाओं को बग के रूप में रिपोर्ट नहीं किया जाना चाहिए, इसके बजाय फ़ीचरसेक्शन्स को उनके लिए लिखा जाना चाहिए।

हालांकि यह दो परिभाषाओं को अलग करने वाली एक रेखा खींचना और सवाल का जवाब देना मुश्किल है कि क्या यह बग या लापता विशेषताएं हैं? , कुछ दिशानिर्देश देना संभव है:

  • यदि यह एक समस्या है जिसे संबोधित करने के लिए कई विवरण होंगे, तो यह एक विशेषता होने की संभावना है। उदाहरण के लिए, आधुनिक विंडोज पार्टीशन में सुरक्षित रूप से फाइल लिखने की अक्षमता एक गायब विशेषता है।
  • ReiserFS विभाजन के लिए फ़ाइलों को सुरक्षित रूप से लिखने में असमर्थता एक बग होगी।

दो कथनों के बीच का अंतर है: पहला अधिक व्यापक है (आधुनिक विंडोज़ FS का समर्थन करें) और इस प्रकार मिसिंग फ़ीचर के रूप में देखा जा सकता है, जबकि दूसरा एक अद्वितीय समस्या पर जोर देता है (ReiserFS में नहीं लिख सकता) - एक विशिष्ट बग।

यदि आप रुचि रखते हैं, तो मैं आपको बग्सक्वाड टीम विकी पर एक नज़र डालने की सलाह देता हूं । बग्स से लड़ना सॉफ्टवेयर विकास चक्र में शामिल सबसे दिलचस्प गतिविधियों में से एक है, इसके अलावा यह एक महान सीखने का मौका है :-)

धन्यवाद!


एक अच्छा है, हालांकि यह सीधे संबंधित नहीं है यह शायद यह उल्लेख के लायक है कि आपके द्वारा किए गए हर बग को प्रतिलिपि प्रस्तुत करने योग्य होना चाहिए।
danizmax

नहीं, दौड़ की स्थिति के कारण कीड़े हैं। आप उन्हें भी क्यों नहीं करना चाहते हैं? यह कठिन होगा, यदि प्रोग्रामर बग को पुन: पेश नहीं कर सकता है, लेकिन यह ऐसा करने की इच्छा को प्रभावित नहीं करता है, क्या यह?
उपयोगकर्ता अज्ञात

कृपया बग बगसक्वाड के गाइड को बग्स पर देखें: wiki.ubuntu.com/Bugs
थॉमस वार्ड

2

मैं झूला उठाऊंगा। मुख्य रूप से, डिजाइनर / प्रोग्रामर (खराब डिजाइन पर छूट) द्वारा अभिप्रेत व्यवहार नहीं। आप लोगों को किन बगों के बारे में रिपोर्ट करना चाहिए, इसके संदर्भ में कार्यक्रम के उपयोग के लिए प्रोग्रामर को तैयार करने के लिए कुछ भी करना चाहिए। इसमें सबसे कम से कम गंभीर, सिस्टम क्रैश, एक्स क्रैश, प्रोग्राम क्रैश और किसी भी आंतरिक प्रोग्राम बग शामिल हैं।

कीड़े जो दुर्घटनाओं या खिड़की के बंद होने का कारण बनते हैं, आमतौर पर किसी तरह के आउटपुट के लिए अगर आपको टर्मिनल से आवेदन चलाना पड़ता है, तो यह उपयोगी हो सकता है। त्रुटि रिपोर्ट के लिए सिस्टम लॉग भी देखें।


1

बग कंप्यूटर प्रोग्राम या सिस्टम में एक त्रुटि है, इसलिए प्रोग्राम ठीक से काम नहीं करता है या बिल्कुल काम नहीं करता है। इसलिए बग गलत प्रोग्रामिंग कोड, या प्रोग्रामिंग कोड का परिणाम हो सकते हैं, जो पर्याप्त मजबूत नहीं है और कुछ अपवादों को संभाल नहीं सकते हैं (उदाहरण के लिए: 0 से विभाजन)


1

सभी व्यावहारिक उद्देश्यों के लिए "बग" शब्द को बहुत अधिक फजी शब्द से बचा जाना चाहिए।

आपके प्रश्न का सबसे अच्छा उत्तर एक पूरी पुस्तक भरता है: एंड्रियास ज़ेलर द्वारा "व्हाई प्रोग्राम्स फेल" । एक पुस्तक जो हर प्रोग्रामर की बुकशेल्फ़ पर होनी चाहिए। लेखक उन्हें "बग" (पढ़ने के लिए) नहीं कहने में भी एक अच्छा प्रयास करता है। क्योंकि crncosta के जवाब के रूप में पहले से ही एक "बग" से पता चलता है कि सिर्फ एक प्रोग्रामिंग त्रुटि नहीं है। यही कारण है कि कुछ लोग इसके बजाय "मुद्दा" शब्द पसंद करते हैं (जो "बग ट्रैकर" के बजाय "मुद्दा ट्रैकर" की ओर जाता है)।

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

उपर्युक्त पुस्तक का लेखक विफलता और दोष जैसे शब्दों की परिभाषा पर कई पृष्ठ खर्च करता है और वर्णन करता है कि "बग" एक उपयुक्त शब्द (बहुत फजी) नहीं है।

उनकी शब्दावली का सारांश:

  1. प्रोग्रामर दोष पैदा करता है
  2. दोष एक संक्रमण का कारण बनता है ("दोषपूर्ण कार्यक्रम राज्य")
  3. संक्रमण फैलता है
  4. संक्रमण विफलता का कारण बनता है ("अवलोकनीय बुरा / अनपेक्षित व्यवहार")
  5. पर्यवेक्षक (आमतौर पर अंत-उपयोगकर्ता) विफलता को देखता है

जैसा कि आप देख सकते हैं कि लेखक कारण और प्रभाव के बीच अंतर करता है, जो "बग" के मामले में लगभग हमेशा मिश्रित होता है। अधिकांश समय "बग" शब्द के लिए लागू की जा रही है दोष , संक्रमण और विफलता

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.