औपचारिक बनाम अनौपचारिक
("अपने कुत्ते का खाना खाने") अपने खुद के उत्पाद का उपयोग करते हुए गुणवत्ता आश्वासन का हिस्सा है और मैं इसे अनौपचारिक परीक्षण श्रेणी के अंतर्गत रखा के रूप में और अधिक औपचारिक परीक्षण आमतौर पर एक के द्वारा किया जाता करने का विरोध किया जाएगा अलग क्यूए विभाग।
गहराई बनाम चौड़ाई
"खाने अपने कुत्ते के भोजन" लोगों को अपने डिजाइन और विकास के लिए सीधे तौर पर जिम्मेदार के लिए एक उत्पाद या सेवा का उपयोग करने के बारे में आपका अपना अनुभव का परिचय देते उद्देश्य से है। एक फीचर समृद्ध एप्लिकेशन के लिए यह औपचारिक परीक्षण से गहरा हो सकता है और साथ ही साथ एक विशिष्ट उपयोगकर्ता परिप्रेक्ष्य भी रखता है, जब औपचारिक परीक्षण सामान्य रूप से सॉफ्टवेयर उपयोग मामलों की चौड़ाई को कवर करता है और अधिक उद्देश्य और मापनीय शर्तों में काम करने की कोशिश करता है।
छोटे annoyances कि अंतर
वहाँ भी कमियों के एक वर्ग बहुत एक वातावरण है कि केवल निदान किया जा सकता है "फील्ड में" (यह वास्तव में कष्टप्रद तेज़ आवाज़ कि से आ जा रहा है की तरह के लिए विशिष्ट है कहीं भी जब भी आप 72.52 मील प्रति घंटे पर चढ़ रहे हैं और आपको बिल्कुल नट्स चलाते हैं, फिर भी कोई भी मैकेनिक्स सक्षम नहीं है, न ही कार गैराज में होने पर कारण के लिए उतरने को तैयार है)।
नग्न सॉफ्टवेयर बनाम आचरण के अनुप्रयोग + सेट
अपने खुद के उत्पाद का उपयोग करते हुए अब तक सॉफ्टवेयर में ही परे चला जाता है; यह अनिवार्य रूप से पूरे "उपयोगकर्ता यात्रा" को शामिल करता है। "अपने कुत्ते के भोजन को खाने" एक डोमेन के भीतर सॉफ्टवेयर का उपयोग करने की तकनीक को विकसित और बेहतर समझने देता है। यह कहना उचित है कि कुछ सॉफ्टवेयर का व्यापक रूप से विभिन्न संदर्भों में उपयोग किया जाता है। औपचारिक परीक्षण इन संदर्भों में से प्रत्येक को गहराई से कवर करने में सक्षम नहीं हो सकता है, क्योंकि औपचारिक रूप से परिभाषित करना मुश्किल हो सकता है कि कुछ बदलाव होने के बाद आपको कौन से विशिष्ट परीक्षण करने की आवश्यकता है। या इन संदर्भों को इनहाउसों की नकल करने के लिए बहुत महंगा हो सकता है या सॉफ़्टवेयर थोड़ा बदल गया है, सभी ज्ञात परीक्षण मामलों के माध्यम से जाना महंगा हो सकता है।
आंतरिक बदलें बनाम बाहरी
औपचारिक परीक्षण की जाँच है कि सॉफ्टवेयर के लिए किया परिवर्तन काम करने में वास्तव में अच्छा है, लेकिन विकास जहां औपचारिक परीक्षण जूझ रहा है के अन्य महत्वपूर्ण क्षेत्र है जब आप का पता लगाने की जरूरत है बाहरी वातावरण से आने वाले सॉफ़्टवेयर पर्यावरण या उपयोग पैटर्न में परिवर्तन। अपने स्वयं के उत्पाद का उपयोग करने से उपयोगकर्ताओं द्वारा बताए जाने से पहले (उपयोगकर्ता प्रतिक्रिया चैनल की गुणवत्ता के आधार पर) इन परिवर्तनों को जल्द से जल्द पता लगाने में मदद मिलेगी।
"बैलेंस" के साथ गलत क्या है?
इस तरह आपके पास अपने उत्पाद का उपयोग करने और औपचारिक रूप से परीक्षण करने के बीच हड़ताल करने के लिए कोई संतुलन नहीं है (जितना संभव हो उतना करें, यानी आप जो रिटर्न प्राप्त कर रहे हैं वह प्रयास के लायक हैं)। एक दूसरे को बधाई देना है, प्रतिस्थापन के रूप में सेवा नहीं करना।
कौन परीक्षण करना चाहिए: भेद
यह जब तक कि वहाँ औपचारिक परीक्षण (एकमात्र डेवलपर, सभी परीक्षण कर डेवलपर्स) करने के लिए कोई समर्पित संसाधन है और आप कितना समय आप कर सकते हैं का चयन करने के लिए है है दो गतिविधियों में से किसी को समर्पित करें। अच्छा, मत करो। यहां महत्वपूर्ण अंतर यह है कि औपचारिक परीक्षण एक स्वतंत्र प्राधिकारी द्वारा किया जाता है, यानी वे लोग जो विकास और डिजाइन टीम को रिपोर्ट नहीं करते हैं। दूसरी तरफ हर कोई (डिजाइनर, डेवलपर्स, विपणक और यहां तक कि सीईओ) जितना संभव हो सके कंपनी उत्पादों या सेवाओं का उपयोग करना चाहिए, क्योंकि "डॉगफूडिंग" के पीछे मूल विचार सभी को सेवा या उत्पाद के पहले हाथ अनुभव को शामिल करना है वे एक वास्तविक जीवन संदर्भ में योगदान करते हैं।
आप सबकुछ डॉगफूड नहीं कर सकते! या आप कर सकते हैं
जहां तक "आप कुछ प्रकार के सॉफ़्टवेयर को डॉगफूड नहीं कर सकते हैं" बहस चलती है, अच्छी तरह से, कुत्ते के खाने को कैसे देखते हैं, इस पर ध्यान केंद्रित न करें: अपने कुत्ते के भोजन को खाएं, बल्कि इसके बजाय इसका अर्थ क्या है: पहले- वास्तविक उपयोगकर्ताओं के साथ हाथ अनुभव और "हितों को संरेखित करना"।
भोजन खाने के लिए अगली सबसे अच्छी चीज कुत्ते को देख रही है, जबकि यह भोजन खाती है, जैसा कि किसी और पर भरोसा करने के विरोध में आपके कुत्ते, माना जाता है, पसंद या नापसंद करता है।
जबकि देव टीम के सदस्य व्यक्तिगत रूप से सीवेज कंट्रोल सॉफ़्टवेयर को अपनी रोजमर्रा की नौकरियों में उपयोग करने में सक्षम नहीं हो सकते हैं, कुछ भी उन्हें ऐप का उपयोग करके नियमित रूप से सीवेज इंजीनियर का निरीक्षण करने से रोकता है, जो " dogfooding ", लेकिन निश्चित रूप से यह भावना को पकड़ता है।
यह सिद्ध कहां है? उस गणितीय साक्ष्य के किसी भी संदर्भ की सराहना की जाती है :) –
@ मेहरदद आप वहां जाते हैं, दो जोएल लेख, प्रत्येक बिंदु –