क्या डेवलपर्स को बग ट्रैकिंग सिस्टम में बग दर्ज करना चाहिए?


76

विकसित होने के दौरान (या तो फीचर्स या बग फिक्स) मैं कभी-कभी उन बग्स की खोज करने के लिए होता हूं जो सीधे उस चीज से संबंधित नहीं हैं जो मैं काम कर रहा हूं। उस स्थिति में मुझे क्या करना चाहिए। बस इसे ठीक करें? बाद में इसे ठीक करने के लिए याद करने की कोशिश करें? इसे कहीं लिख लें? या बग ट्रैकिंग सिस्टम में दर्ज करें?

मैं आम तौर पर इसे बग ट्रैकिंग सिस्टम में दर्ज करता हूं और इस प्रक्रिया को स्वयं खेलने देता हूं (यानी ट्राइएजिंग, असाइन करना आदि)। हालाँकि मैंने शायद ही कभी किसी अन्य डेवलपर को बग में प्रवेश करते देखा हो। (ऐसा क्यों है?)


48
आप उन्हें क्यों नहीं दर्ज करेंगे? क्या आपने अपने सहयोगियों से पूछा है कि वे क्यों नहीं?
ChrisF

23
हां उन्हें चाहिए। अवधि।
पॉप कैटालिन

6
शायद समस्या यह है कि वे इसके बारे में " किसी और के बग सिस्टम " के रूप में सोच रहे हैं ।
Xeoncross

6
जब तक कोई शासनादेश नहीं है, कृपया इसे दर्ज करें। जब आप कोड में जांच करते हैं, तो आम तौर पर चेक-इन को किसी कार्य आइटम के साथ जोड़ना एक अच्छा विचार है। उसके शीर्ष पर, मैंने कुछ स्थानों को देखा है जहाँ कोई बग देखता है, मानता है कि यह एक ज्ञात मुद्दा है, और इसके बारे में कभी किसी को नहीं बताता। आप ऐसा नहीं करना चाहते हैं।
JSWork

4
जब तक यह एक सरल और स्पष्ट बदलाव नहीं होता है, आपको इसे ठीक करने की कोशिश नहीं करनी चाहिए। अपने वर्तमान सुधार में एक और गतिशील तत्व जोड़कर, आप चीजों को बहुत असहनीय बना सकते हैं। यदि आप इसका उचित ध्यान प्राप्त कर सकते हैं तो आपको इसे पूरी तरह से लॉग इन करना चाहिए। अर्थात। यदि आप इसे इसके लिए टिकट के लिए लॉग इन किए बिना ठीक कर देते हैं, तो QA को इसका परीक्षण करने का पता नहीं चलेगा और आप संभावित रूप से इससे भी बड़ी समस्या का परिचय दे सकते हैं। यह खतरनाक है। अन्य डेवलपर्स शायद कोई बेहतर नहीं जानते ... आपको इसे ऊपर लाना चाहिए।
sam yi

जवाबों:


118

यदि आप बग की खोज करते हैं, तो मैं किसी भी अच्छे कारण के बारे में नहीं सोच सकता कि इसे बग ट्रैकिंग सिस्टम में दर्ज करें, चाहे आप इसे ठीक करें या नहीं। बग ट्रैकिंग सिस्टम जो है, वह सब के बाद है।

कुछ मामलों में इसे QA व्यक्ति को रिपोर्ट करने के लिए अधिक समझदारी हो सकती है, जिसके पास सिस्टम से निपटने का अधिक अनुभव है, लेकिन किसी भी स्थिति में बग को ट्रैक किया जाना चाहिए।

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

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

जैसे ही अन्य डेवलपर्स बग में प्रवेश नहीं करते हैं, तो आपको उनसे पूछना होगा। उन्हें शायद चाहिए।


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

आम तौर पर, विकास टीम द्वारा पकड़े गए दोष और ग्राहक को "ज्ञात मुद्दा" नहीं कहा जाता है। कहा गया मुद्दा कभी तय होगा या बहस के लिए नहीं है, "बग" की तरह, लेकिन धारणा यह है कि विकास टीम को पता है कि यह एक समस्या है, इसलिए ग्राहक को उसी दोष या मुद्दे के लिए "बग" की रिपोर्ट नहीं करनी चाहिए । उस ने कहा, हां, यह देव टीम के लिए सॉफ्टवेयर के क्षेत्रों के दोषों को लॉग करने के लिए पूरी तरह से उपयुक्त है, जो वर्तमान में वे कोडिंग कर रहे हैं। जब तक आप विकास कर रहे हों, तब तक कोड में बग को लॉग करने के लिए यह थोड़ा मूर्खतापूर्ण होगा (जब तक कि आपको बग ला लाबर्ट द्वारा भुगतान न किया जाए)।
कीथ्स

3
@KeithS: यदि यह कोड में एक बग है, तो आप अभी भी काम कर रहे हैं, हां, यह रिपोर्ट करना मूर्खतापूर्ण होगा। यदि यह जारी उत्पाद में एक बग है, भले ही वह कोड में हो, जिसे आप बस ठीक करने वाले हैं, तो इसे रिपोर्ट किया जाना चाहिए, इसलिए यदि कोई ऐसा कहता है, तो ऐसा लगता है कि कोई अंतिम उपयोगकर्ता इसका सामना करता है। एक बग रिपोर्ट में मान होता है, भले ही आप इसे खोलने के तुरंत बाद बंद कर दें (हालांकि "बंद" आमतौर पर कई स्थिति संक्रमणों को कवर करता है)।
कीथ थॉम्पसन

2
दूसरी बात यह सुनिश्चित करना है कि कोई बग के बारे में जानता है। यदि आपकी टीम के नेता आते ही सभी नए मुद्दों को देखते हैं, तो आपको यह कवर मिल गया है, लेकिन यदि आप जानते हैं कि यह मुद्दा कुछ समय के लिए नहीं देखा जाएगा, तो आपको यह जानना होगा कि जो कोई भी काम को प्राथमिकता देने के लिए जिम्मेदार है सुनिश्चित करें कि समस्या से निपटा जाएगा। आपकी दैनिक स्टैंड-अप मीटिंग, या आपकी नियमित टीम मीटिंग्स इन चीज़ों की घोषणा करने के लिए एक अच्छी जगह हो सकती है, या अपने टीम लीडर को एक ईमेल शूट कर सकती है यदि आपका इश्यू ट्रैकिंग सिस्टम आपके लिए पहले से ऐसा नहीं करता है।
S.Robins

1
@ S.Robins: हाँ, लेकिन अगर ट्रैकिंग सिस्टम में बग दर्ज करना सुनिश्चित नहीं करता है कि कोई इसके बारे में जानता है, तो आपका ट्रैकिंग सिस्टम बहुत अच्छा काम नहीं कर रहा है।
कीथ थॉम्पसन

23

आपको दोनों मामलों में बग ट्रैकिंग सिस्टम में बग दर्ज करना होगा:

  • जब बग सीधे उस कोड की चिंता करता है, जिस पर आप काम कर रहे हैं,

  • जब बग आपको उस कोड की चिंता करता है जिसे आप अभी काम नहीं कर रहे हैं या जिस हिस्से पर कोई अन्य डेवलपर काम करता है।

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

यह भी बताता है कि फ्रीलांसरों को संस्करण नियंत्रण और बग ट्रैकिंग सिस्टम दोनों का उपयोग क्यों करना चाहिए: वे दो उपकरण केवल टीमों के लिए नहीं हैं।


1
आप एक बहुत अच्छा बिंदु बनाते हैं, यह मानते हुए कि बग पिछली रिलीज में मौजूद है।
कार्ल बेज़ेलफेल्ट

2
Mmm। हर बग निश्चित रूप से नहीं। कहते हैं कि आप पढ़ रहे हैं, हालांकि कुछ कोड जो आपने अभी लिखे हैं और आपको पास की लूप स्थिति में एक ऑफ-बाय-वन त्रुटि मिलती है, कहते हैं। या एक टाइपो। बग को लिखने में जितना समय लगता है, उसे ठीक करने में अधिक समय लगता है, खासकर अगर कोड अभी भी विकास में है।
ज़ैन लिंक्स

2
@ZanLynx उन मामलों में आपको एक खुली बग रिपोर्ट या सुविधा अनुरोध पर काम करना चाहिए। यदि यह परीक्षण के लिए जारी किया गया है, तो इसे फिर से खोलें और एक उपयुक्त नोट जोड़ें।
बिल्टोर

18

दोष ट्रैकिंग सिस्टम में दोष दर्ज नहीं करने का कोई वैध कारण नहीं है। केवल वही स्थान जहाँ मैंने बग फिक्स को बिना ट्रैकिंग के देखा है क्योंकि यह प्रक्रिया मूल रूप से टूटी हुई थी। यदि यह मामला है, तो प्रक्रिया को ठीक करें।

प्रवेश नहीं करने के कारण हैं:

  • दोष के आधार पर प्रक्रिया मापती है और सजा देती है-रिपोर्ट नहीं, सजा नहीं मिलती। इस मामले में संगठन छोड़ दें
  • प्रक्रिया एक बोझ है - एक दोष में प्रवेश करने और इसे ठीक करने के बिंदु तक पहुंचने में बहुत अधिक प्रयास और समय लगता है। डेवलपर्स को ट्राइएज / एक्सेप्ट / फिक्स्ड प्रोसेस के माध्यम से एक हल्के बग को ट्रैक करने की अनुमति देने के लिए प्रक्रिया को बदला जाना चाहिए।
  • कुछ देव आलसी / मैला / हैकर हैं, जो इस बात की परवाह नहीं करते हैं कि वे दूसरों पर किए जाने वाले कार्यों का क्या प्रभाव डाल सकते हैं। पेशेवर डेवलपर्स की भर्ती करें।
  • मैं एक एक आदमी बैंड हूँ, बिंदु नहीं देख रहा हूँ। 2 आदमी बैंड के लिए काम पर जाओ और तुम करोगे ...।

मुझे संदेह है कि आपका दूसरा बिंदु अक्सर यही कारण है। क्या XP ने केवल उन चीजों को ठीक करने के विचार को बढ़ावा नहीं दिया जो एक प्रक्रिया से गुजरने के बजाय टूटी हुई पाई जाती हैं? यह एक हल्के बग के लिए एक फास्ट ट्रैक प्रभाव में है। <sarcasm> इसके अलावा प्रतिगमन परीक्षण पकड़ लेगा अगर 'फिक्स' ने कुछ तोड़ दिया </ sarcasm>
phkahler

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

14

बग को तुरंत ठीक करना शायद एक बुरा विचार है। सबसे पहले, कोई और उसी फिक्स पर काम कर सकता है, जिसके परिणामस्वरूप डुप्लिकेट किया गया प्रयास होता है, और यह भी कि आप जिस विकास पद्धति का अनुसरण कर रहे हैं, उसके आधार पर, आगे काम करने के लिए प्राथमिकता देना (बग को ठीक करना या नई सुविधा लागू करना) अधिक है प्रबंधन का निर्णय फिर एक विकास निर्णय।


5
यह एक बड़ी टीम और एक ऐसा वातावरण मानता है जहाँ प्रोग्रामर निर्णय लेने में सक्षम होते हैं। यदि केवल कुछ मुट्ठी भर डेवलपर्स हैं और आप अपनी कुर्सी को चारों ओर घुमा सकते हैं और कह सकते हैं कि 'हे, क्या कोई एक्स पर काम कर रहा है', तो बग को ठीक करने के लिए (यदि समय अनुमति देता है) कोई विशेष कारण नहीं है।
ग्रैंडमास्टरबी

लेकिन यह प्राथमिकता पर निर्भर करता है, है ना? इसका मतलब है कि जिस कार्य में आप काम कर रहे थे, उसमें देरी हो सकती है। यह आपके प्रवाह को भी बाधित कर सकता है।
जोएलफैन

1
@JoelFan: प्रवाह पहले से ही बाधित है। वहाँ एक अधूरा बग था, यह जानकर मेरा प्रवाह और अधिक बाधित होगा ।
ज़ैन लिंक्स

3
@GrandmasterB जैसा कि हम पहले से ही प्रवाह के बारे में बात कर रहे हैं, मैं उस तरह के अन्य सभी डेवलपर्स को परेशान नहीं करना चाहूंगा। यदि आप एक बग का सामना करते हैं, तो इसकी रिपोर्ट करें, और दूसरों को इसे देखने दें, जब उन्हें समय मिलता है। हर किसी के लिए यह बेहतर है कि उन्हें ऐसा करने से रोकें कि वे क्या करते हैं, बस इतना है कि आप उन सभी को बग समझा सकते हैं, और यह पता लगाने के लिए कि शायद कोई भी उस पर काम नहीं कर रहा है, उन सभी को उस बग पर कोई परिणाम नहीं होने से बाधित किया गया है …
प्रहार करें

अपने प्रयासों को निर्देशित करने वाले प्रबंधन के लिए +1। मैंने हाल ही में इसे दस्तावेज करना और आगे बढ़ना सीखा है, बल्कि 2x पर खर्च करने के बजाय अपने मूल अनुमान को सब कुछ ठीक कर रहा हूं जो मुझे आता है।
mskfisher

12

निर्णय स्पष्ट कटौती नहीं है, और इसमें ट्रेडऑफ़ शामिल हैं।

(कुछ) प्रो

बग ट्रैकिंग संचार के लिए आवश्यक है, विशेष रूप से बड़ी टीमों पर। कोड पर कई आँखें होने का एक सबसे अच्छा लाभ यह है कि पहले समस्याओं का पता लगाने की क्षमता है, और यदि आप विकसित हो रहे हैं तो बग को लॉग या ट्रैक नहीं किया गया है, तो यह लाभ खो गया है।

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

जैसे ही आप उन्हें पाते हैं, लॉगिंग बग्स, आम तौर पर बोलना, एक अच्छी आदत है।

(कुछ) CONS

बग ट्रैकिंग सिस्टम में बग दर्ज करना बहुत अच्छा और समय लेने वाला हो सकता है, और बड़ी टीमों में काम करते समय विकास कार्यों के लिए वास्तव में विघटनकारी हो सकता है। आपसे उम्मीद की जा सकती है:

  • जाँच करें कि क्या आपकी प्रविष्टि दर्ज करने से पहले एक डुप्लिकेट है (यह भी निहित हो सकता है, यह आपके बग को कतार में दर्ज करने के लिए हतोत्साहित कर रहा है केवल इसे बंद करने के लिए)
  • अपनी रिपोर्ट के लिए दोहराने योग्य परीक्षण मामला प्रदान करें
  • बग विवरण के बारे में सवालों के साथ बाद में रुकावट स्वीकार करें, जब लिखित में एक फिक्स को स्वीकार / सत्यापित करने के लिए
  • असंबंधित जानकारी के बारे में सोचें जो अक्सर बग ट्रैकिंग सिस्टम में एकत्र की जाती है, जैसे कि कौन सा उत्पाद सबसे अधिक प्रभावित होता है, बग की प्राथमिकता, आदि।

कभी-कभी बग ट्रैकिंग आपके समय का सबसे कुशल उपयोग नहीं है।


ये दो सामान्य सिद्धांत हैं जिन्हें संतुलित करना कठिन हो सकता है - एक अच्छी रणनीति खोजना एक कला है। इन जैसी स्थितियों में, मुझे लगता है कि एक लचीली विधर्मी को अपनाना सबसे अच्छा है, जो कि मुझे किसी दिए गए प्रोजेक्ट, टीम, काम के माहौल और आपके सामान्य कौशल के लिए आवश्यक है। मेरी रणनीति आमतौर पर एक पैटर्न का अनुसरण करती है जैसे लगभग:

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

    • समस्या को ठीक करें और इसे कमिट करें (शायद एक लाइनर फिक्स या टाइपो के लिए)। यदि आपको बग रिपोर्ट के बिना प्रतिबद्ध होने की अनुमति नहीं है, तो छोटे कमिट के लिए एक साइड-प्रोजेक्ट बनाएं। जब साइड प्रोजेक्ट में पर्याप्त फिक्स जमा हो जाते हैं, तो आपको उन्हें दस्तावेज करने और प्रतिबद्ध करने के लिए कुछ घंटों का समय चाहिए।
    • बग ट्रैकिंग सिस्टम में समस्या को लॉग इन करें (स्पष्ट मुद्दों के लिए जिन्हें ठीक करने में अधिक समय लगता है, लेकिन बिना ओवरहेड ओवरहेड के)
    • दस्तावेज़ को "व्यस्त नहीं देखने के लिए देखने के लिए" में समस्या को लॉग इन करें (मैं आमतौर पर एक "// TODO - यह टूटा हुआ दिखता है, इसे ठीक करें" स्रोत पर टिप्पणी लिखें)। नियमित रूप से एक दिन ले लो (मैं महीने में एक बार कोशिश करता हूं) सूची के माध्यम से जाने के लिए और इसे उपयुक्त रूप में लॉग इन करें - सुविधा अनुरोध, बग रिपोर्ट, प्रबंधक के साथ चर्चा करें, आदि ...

समय के साथ, मुझे उपयोगी के रूप में सभी प्रकार की ट्वीक्स मिल गई हैं। उदाहरण के लिए:

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

मुझे लगता है कि, आम तौर पर, जब आप इस प्रकार की रणनीति का पालन करते हैं, तो आपके साथियों और अन्य कंपनी के सदस्यों के अधिक से अधिक आपके काम का सम्मान करना शुरू हो जाएगा, और गुणवत्ता के प्रति प्रतिबद्धता। पर्याप्त समय के बाद, आपके पास अपनी पसंद के अनुसार पूरी प्रक्रिया को अनुकूलित करने के लिए आवश्यक सम्मान और अधिकार होगा। ऐसे अवसरों के लिए नज़र रखें, और उन्हें उचित रूप में लें।


2
"कुछ टीमों ने किसी भी सुधार की अनुमति देने से इंकार कर दिया है जो उनके पीछे एक ग्राहक बग रिपोर्ट नहीं है" ... वास्तव में? एक DailyWTF की तरह लगता है! इसलिए आप कह रहे हैं कि एक स्पष्ट बग हो सकता है, जो निश्चित रूप से (और संभवत: प्रभावित) ग्राहकों को प्रभावित करेगा और वे केवल एक ही बग के साथ रिलीज को धकेलते रहेंगे, बिना फिक्सिंग के लागत का विश्लेषण किए बिना, केवल इसलिए कि एक ग्राहक ने नहीं किया है अभी तक इसकी सूचना दी?
जोएलफैन

1
"इसे ठीक न करें जब तक कि यह टूट न जाए" गलत हो गया।
ब्लूबेरीफिल्ड्स

4

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

शायद अन्य डेवलपर्स जो बग ढूंढते हैं, यदि वे इसे ठीक करने की योजना बनाते हैं, तो वे स्वयं ही इसका ट्रैक रखते हैं, लेकिन उस स्थिति में वे 2 डेवलपर्स को स्वतंत्र रूप से उसी बग को खोजने और ठीक करने का जोखिम चलाते हैं।


2

मुझे लगता है कि भले ही बग पहले से तय हो गया है (जो एक मुद्दा ट्रैकर में इसे रिकॉर्ड करने से पहले नहीं होना चाहिए था) जोड़ देगा, यह इसे ट्रैक करने के लिए एक अच्छा विचार है।

इस तरह, अगर भविष्य में मुद्दा फिर से उठना चाहिए (प्रतिगमन होता है!) इस मुद्दे को "पहले से निपटा" के रूप में पहचानना अपेक्षाकृत आसान है और पढ़ें कि यह पहली बार कैसे तय किया गया था।


1

ऐसा क्यों है? क्योंकि अधिकांश डेवलपर्स उस मुद्दे को देखते हैं जो उन्हें उठाना पड़ता है और कोड को उन्हें लिखना पड़ता है और यह पता लगाना आसान होता है कि परेशान न करें।

लेकिन, क्या यह सही काम है यह आपकी प्रक्रिया पर निर्भर करता है। क्या आपके पास एक QA टीम है? क्या आपको लगता है कि अगर आप अभी-अभी कोड बदलते हैं जो ट्रैक नहीं किया जाएगा तो उन्हें बुरा लगता है? कोड-समीक्षाओं के बारे में क्या? क्या यह उस दरार से निकल जाएगा? व्यापार के बारे में क्या? क्या उन्हें यह जानने की जरूरत है कि आपने एक बग तय किया है ताकि वे बाद में एक ही न उठाएं?

अन्य डेवलपर्स के बारे में क्या? क्या होगा अगर वे एक ही समय में इसे अलग तरीके से ठीक करते हैं? क्या होगा अगर वे बाद में एक समान बग ढूंढते हैं और आप सभी कह सकते हैं "ओह, अरे, मुझे पता है कि हमारे पास पहले भी ऐसा कुछ था - अब यह क्या था?"

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


1

प्रोग्रामिंग मूलभूत रूप से एक जटिल कार्य है। कीड़े जटिल हैं। इसलिए मैंने दो कारकों द्वारा बग का आकलन किया:

  1. भविष्य में इस तरह के कीड़े कितनी बार दिखाई दे सकते हैं? यह अनुमान सटीक है या नहीं, अनुमान लगाते रहें।
  2. जब इस तरह के कीड़े फिर से दिखाई देते हैं, तो क्या यह समझना आसान है? यह सही है जब आप इस बग का विश्लेषण करते हैं और इसे ठीक करते हैं।

मैं एक बग को निम्न प्रकारों में वर्गीकृत करूंगा:

  1. भविष्य में फिर से दिखाई देते हैं, और समझने में आसान होते हैं
  2. भविष्य में फिर से दिखाई देते हैं, लेकिन समझना मुश्किल है
  3. शायद ही कभी भविष्य में फिर से दिखाई दे, और समझने में आसान हो
  4. शायद ही भविष्य में फिर से दिखाई दे, लेकिन समझना मुश्किल है

यदि भविष्य में ऐसे कीड़े को ठीक करने के लिए टीम 1 के लिए कुकबुक या एफएक्यू एक अच्छा उपकरण है।

मामले 2 में, एक विस्तृत और बोधगम्य रिकॉर्ड टीम के लिए आवश्यक है क्योंकि यह प्रयास की बर्बादी है यदि कोई अन्य प्रोग्रामर ऐसे बग्स को फिर से समाप्त करता है। उदाहरण के लिए: स्मृति रिसाव।

मामले 3 में, मुझे लगता है कि यह कोई बड़ी बात नहीं है कि रिकॉर्ड के लिए कुछ भी नहीं बचा है क्योंकि आप एक आसान बग को ठीक करने के लिए बहुत अधिक समय खर्च नहीं करेंगे। उदाहरण के लिए, HTML में तत्व की आईडी के लिए एक टाइपो।

मामले 4 में, इस तरह के कीड़े एक दुविधा पैदा करते हैं। इस तरह के कीड़ों का वर्णन करने के लिए एक विस्तृत और बोधगम्य रिकॉर्ड लिखने के लिए कुछ समय चाहिए। लेकिन भविष्य में इस रिकॉर्ड का उपयोग बहुत कम किया जाता है। हालांकि, एक रिकॉर्ड के बिना, इस तरह के कीड़े का दिखना फिर से संघर्ष होगा। उदाहरण के लिए, किसी व्यक्ति के कंप्यूटर में कंप्यूटर वायरस के कारण ऐसे कीड़े दिखाई देते हैं।


1

बेशक आपको इसे दर्ज करना चाहिए। या कम से कम अपने क्यूए लोगों को इसकी सूचना दें यदि आपकी सामान्य प्रक्रिया है।

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


0

वास्तव में आपको सिस्टम में उन्हें रिकॉर्ड करना चाहिए, और अगर यह अभ्यास नहीं किया जाता है तो इसे शुरू करना अच्छा है।

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

फिर, एक दिन धमाका करो, निर्वाण! हम बग ट्रैकर का उपयोग क्यों नहीं कर रहे हैं, भले ही आपको ऐसा कुछ मिले जो बग जैसा लगता है और यह संभव हो सकता है कि यह एक नहीं है (प्रक्रिया के बारे में आपका विचार गलत / त्रुटिपूर्ण है)। यह कम से कम उस सूची को बनाता है जिसे तब परीक्षण किया जा सकता है और सभी फीडबैक के लिए सबसे महत्वपूर्ण है कि यह महत्वपूर्ण क्यों है या फ्लिप पक्ष पर यह एकदम सही है और यही कारण है कि यह 1 ... 2 के कारण काम करना चाहिए। ।

अब आपके पास सूची है और उन लोगों के लिए भी जिन्होंने आवेदन के कुछ हिस्सों को गलत समझा है, जिनके पास प्रतिक्रिया है जिसके आधार पर वे अपने विचारों को स्पष्ट कर सकते हैं। एक जीत की स्थिति।


0

बिल्कुल पहले से ही परीक्षण किए गए (और विशेष रूप से जारी होने पर) कोड मान लिया जाए।

इसके कई कारण हैं:

मेमोरी - सिस्टम वास्तव में बग को भूलने की संभावना नहीं है, किसी भी डेवलपर को दे सकता है।

मेट्रिक्स - आपके द्वारा कोड की गुणवत्ता कैसे प्रगति कर रही है, यह बताने के लिए बग्स की संख्या, बंद और लिया गया समय अच्छा-से-कैप्चर मेट्रिक्स हो सकता है

उर्जावान - यह डेवलपर को दुनिया की सबसे महत्वपूर्ण चीज की तरह लग सकता है, हालांकि इस मुद्दे को ठीक करने में लगने वाला समय बेहतर हो सकता है कि कुछ ऐसा हो जो अंत उपयोगकर्ता पहले चाहते हों (स्मृति भी देखें)।

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

मूल कारण विश्लेषण - ठीक करने के लिए सबसे आसान बग वह है जो कभी नहीं था। यह हो सकता है कि टीम को यह पता लगाने के लिए इस बग को देखना चाहिए कि यह कैसे हुआ। यह निश्चित है कि एक जिम्मेदार को दंडित न करें (जो कभी मदद नहीं करता है) लेकिन यह पता लगाने के लिए कि भविष्य में स्थिति से कैसे बचा जा सकता है।

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

इन पर (यदि कोई हो) समय की मात्रा काफी हद तक कोड की परिपक्वता और गुणवत्ता स्तर पर निर्भर करती है। रूट कोड विश्लेषण प्रदर्शन कोड पर काम करने वाली एक छोटी टीम के लिए ओवरकिल होने की संभावना है, लेकिन व्यावसायिक महत्वपूर्ण विकास पर एक बड़ी टीम को संभवतः प्रभावी और कुशलता से सबक सीखने की आवश्यकता है।

अनुभव से दो व्यापक कारण हैं कि डेवलपर्स उपकरण का उपयोग करने से बचते हैं:

  1. बग हैंडलिंग टूल और / या प्रक्रिया को विकास के लिए बहुत भारी माना जाता है
  2. डेवलपर्स बग को ठीक करने की मानसिक चुनौती पाते हैं जो वर्तमान में काम कर रहे सामान की तुलना में अधिक दिलचस्प है।

आइटम 1 का अर्थ है कि एक बेहतर / सरल प्रणाली की आवश्यकता हो सकती है; या वैकल्पिक रूप से मौजूदा सिस्टम का अधिक सम्मोहक औचित्य क्रम में हो सकता है।

आइटम 2 वर्तमान कार्य आवंटन के बारे में विकास के लिए एक उपयोगी चेतावनी संकेत होना चाहिए।


0

मैं ज्यादातर फ्रस्ट्रेटेडडिथफर्म्सडिजाइन के साथ सहमत हूं, लेकिन मुझे लगता है कि यह और भी स्पष्ट है अगर पूरा मुद्दा दो शहरों में टूट गया है:

  • बग रिपोर्टिंग।
  • बग फिक्सिंग।

इन्हें अक्सर समान माना जाता है और इन्हें अलग करने से निश्चित रूप से बहुत मदद मिलेगी।

इनसे संभाला जा सकता है: बग रिपोर्टिंग: - इसे सिस्टम में रखें, जैसा कि सभी कहते हैं।

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

एक अच्छा उपकरण जिसे लोग उपयोग करना चाहते हैं वह भी एक बड़ा अंतर बनाता है। मुझे Pivotal ट्रैकर पसंद है और इसने मेरा 'वास्तव में उपयोगी टूल' टेस्ट पास कर लिया है, जब मैंने इसका इस्तेमाल सिर्फ उन चीजों पर नज़र रखने के लिए किया, जिन्हें मैं अपनी निजी परियोजनाओं में करना चाहता हूं या ठीक करना चाहता हूं!


0

कुछ देखा तो कुछ कहा!

मैं अपने स्वयं के मॉड्यूल के बारे में बग रिपोर्ट दर्ज करता हूं क्योंकि मैं अपने वर्तमान कार्य को बाधित नहीं करना चाहता हूं। और मैं पुन: पेश करने के लिए सभी चरणों को सुनिश्चित कर सकता हूं :-)

और यह तब भी बेहतर है जब कोई और देख सकता है कि आपने किसी ज्ञात बग के रूप में कुछ सूचीबद्ध किया है। वे जानना पसंद करते हैं कि किसी और ने भी इसे पा लिया है।


0

मुझे लगता है कि यह सर्वश्रेष्ठ के बारे में एक प्रश्न की तुलना में अधिक राजनीतिक सवाल है।

  • बग-एंट्री किसी को दोष देती है?
  • क्या ग्राहक बग-प्रविष्टियों को पढ़ सकता है और देखता है कि इसमें कोई भी त्रुटि है। क्या यह आपकी कंपनी के लिए प्रतिष्ठा का मुद्दा है?
  • क्या यह वास्तव में बग या सुविधा है जिसके बारे में आप नहीं जानते हैं?
  • बगफिक्स का भुगतान कौन करेगा?

मेरी राय में, ट्रैकर प्रणाली में गैर तुच्छ बगों को जोड़ना एक अच्छा अभ्यास है, लेकिन प्रबंधन को यह तय करना है कि इससे कैसे सामना किया जाए।

गैर तुच्छ मामलों के लिए आपको किसी और से सलाह के बिना समस्या को ठीक नहीं करना चाहिए ताकि यह सुनिश्चित हो सके

  • यह वास्तव में एक बग है और एक विशेषता नहीं है
  • किसी और ने फिक्स का परीक्षण किया और यह सुनिश्चित कर सकता है कि फिक्स एक नया बग एल्सेस्वर (प्रतिगमन) पेश नहीं करता है
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.