बग ट्रैकिंग सिस्टम

बग-ट्रैकिंग सिस्टम या डिफेक्ट-ट्रैकिंग सिस्टम एक सॉफ़्टवेयर एप्लिकेशन है जो सॉफ़्टवेयर विकास परियोजनाओं में रिपोर्ट किए गए सॉफ़्टवेयर बग का ट्रैक रखता है। इसे एक प्रकार का इश्यू-ट्रैकिंग सिस्टम के रूप में माना जा सकता है।

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

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

निर्माण
बग-ट्रैकिंग सिस्टम का एक प्रमुख घटक एक डेटाबेस है जो ज्ञात बग के बारे में तथ्य रिकॉर्ड करता है। तथ्यों में बग की रिपोर्ट किए जाने का समय, उसकी गंभीरता, त्रुटिपूर्ण प्रोग्राम गतिविधि और बग को पुन: उत्पन्न करने के तरीके के विवरण सम्मिलित हो सकते हैं; साथ ही उस व्यक्ति की पहचान जिसने इसकी सूचना दी और कोई प्रोग्रामर जो इसे ठीक करने पर काम कर रहा हो।

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

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

कॉर्पोरेट वातावरण में, बग-ट्रैकिंग सिस्टम का उपयोग बग्स को ठीक करने में प्रोग्रामर की उत्पादकता पर रिपोर्ट तैयार करने के लिए किया जा सकता है। हालाँकि, इससे कभी-कभी गलत परिणाम मिल सकते हैं क्योंकि अलग-अलग बग में गंभीरता और जटिलता के विभिन्न स्तर हो सकते हैं। बग की गंभीरता सीधे तौर पर बग को ठीक करने की जटिलता से संबंधित नहीं हो सकती है। मैनेजरों और आर्किटेक्टों के बीच अलग-अलग राय हो सकती है.

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

एकीकृत परियोजना प्रबंधन प्रणाली का हिस्सा
बग और इशू-ट्रैकिंग सिस्टम को प्रायः एकीकृत परियोजना प्रबंधन प्रणालियों के एक भाग के रूप में लागू किया जाता है। यह दृष्टिकोण सामान्य उत्पाद विकास प्रक्रिया में बग ट्रैकिंग और फिक्सिंग, कई उत्पाद संस्करणों में बग्स को ठीक करने, उत्पाद ज्ञान आधार की स्वचालित पीढ़ी और रिलीज नोट्स को सम्मिलित करने की अनुमति देता है।

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

हाल ही में, वाणिज्यिक बग-ट्रैकिंग सिस्टम ने भी वितरित संस्करण नियंत्रण के साथ एकीकृत करना प्रारंभ कर दिया है। उदाहरण के लिए, फ़ॉगबगज़, सोर्स कंट्रोल टूल, किल्न (killall) के माध्यम से इस कार्यक्षमता को सक्षम बनाता है।

हालाँकि विकी और बग ट्रैकिंग सिस्टम को पारंपरिक रूप से अलग-अलग प्रकार के सॉफ़्टवेयर के रूप में देखा जाता है, लेकिन ikiwiki को वितरित बग ट्रैकर के रूप में भी इस्तेमाल किया जा सकता है। यह एकीकृत वितरित तरीके से दस्तावेज़ों और कोड को भी प्रबंधित कर सकता है। हालाँकि, इसकी क्वेरी कार्यक्षमता कुछ अन्य, गैर-वितरित बग ट्रैकर्स (नॉन डिस्ट्रिब्यूटेड बग ट्रैकर्स) जैसे बगज़िला की तरह उन्नत या उपयोगकर्ता के अनुकूल नहीं है। ऑर्ग-मोड के बारे में इसी तरह के बयान दिए जा सकते हैं, हालांकि यह विकी सॉफ्टवेयर नहीं है।

बग ट्रैकिंग और परीक्षण प्रबंधन
जबकि एचपी क्वालिटी सेंटर और आईबीएम रेशनल क्वालिटी मैनेजर जैसे पारंपरिक परीक्षण प्रबंधन उपकरण अपने स्वयं के बग ट्रैकिंग सिस्टम के साथ आते हैं, अन्य उपकरण लोकप्रिय बग ट्रैकिंग सिस्टम के साथ एकीकृत होते हैं।

यह भी देखें

 * आवेदन जीवनचक्र प्रबंधन
 * इश्यू-ट्रैकिंग सिस्टम की तुलना - बग ट्रैकिंग सिस्टम सहित
 * परियोजना प्रबंधन सॉफ्टवेयर की तुलना - बग ट्रैकिंग सिस्टम सहित

बाहरी संबंध

 * How to Report Bugs Effectively by Simon Tatham
 * List of distributed bug tracking software
 * List of distributed bug tracking software