मैं सीखना चाहता हूं (और मास्टर) टीडीडी। क्या सबसे अच्छे हैं:
- पुस्तकें
- वेबसाइटों
- वीडियो
- अभ्यास की सूची
- ज्ञान के निजी शब्द
सीखने के लिए, सराहना, और टीडीडी का उपयोग?
मैं सीखना चाहता हूं (और मास्टर) टीडीडी। क्या सबसे अच्छे हैं:
सीखने के लिए, सराहना, और टीडीडी का उपयोग?
जवाबों:
व्यक्तिगत रूप से मैंने पाया कि एक JUnit निबंध या दो को पढ़ना इस बात पर जोर देता है कि "आप कोड से पहले परीक्षण लिखें" मुझे आरंभ करने के लिए पर्याप्त था।
इस तकनीक को सीखने में सबसे महत्वपूर्ण हिस्सा टेस्ट-आधारित कोड का एक बहुत कुछ लिखना है , क्योंकि आपको कोड लिखने के बारे में सोचने के कुछ सबसे बुनियादी तरीकों को बदलने की आवश्यकता है। इस तरह की चीजें:
छोटे से शुरू करने के लिए सबसे अच्छी जगह, आपकी उपयोगिता दिनचर्या के साथ है। अगली बार जब आपको एक की आवश्यकता होती है, तो बस यह डिज़ाइन करें कि पहले परीक्षणों के साथ, अपने सभी आधिकारिक यूसेकस को कवर करने वाले बहुत सारे परीक्षण लिखें (जिसमें पास किए गए शून्य मानों के साथ क्या होना चाहिए), और जब सभी उपयोग-मामले कार्यान्वित किए जाते हैं, तो आपको उपयोग करने में सक्षम होना चाहिए यह सीधे आपके कोड में है, और विश्वास है कि यह उम्मीद के मुताबिक काम करता है।
यह मेरा अनुभव भी है कि अच्छे परीक्षण दस्तावेज़ीकरण के रूप में अतिरिक्त कार्य कर सकते हैं, क्योंकि आपके पास बहुत संक्षिप्त कोड है, जिसमें कहा गया है कि कोड विभिन्न स्थितियों में कैसे व्यवहार करता है, जो आसानी से सही (ग्रीन बार) साबित हो सकता है। सावधान टिप्पणियों के साथ आप इसे इससे बेहतर नहीं पाते हैं।
Java jUnit संस्करण 4 के लिए वास्तव में अच्छा है।
मेरी राय में, TDD परीक्षण लिखने की तुलना में कोड को परीक्षण योग्य बनाने के बारे में अधिक है।
यकीन है कि आप कोडिंग से पहले एक परीक्षण लिख सकते हैं, लेकिन परीक्षण लिखे जाने का पूरा कारण यह है कि आप कोड कर सकते हैं - जो आपको कोड लिखने से रोक नहीं पाएंगे जो कि परीक्षण के लिए कठिन है।
इसका एक बेहतर अर्थ निकालने के लिए एक नज़र डालें: मेरा मतलब है: माई यूनिफाइड थ्योरी ऑफ़ बग्स
यदि आप अवधारणा में रुचि रखते हैं, और अधिक सीखना चाहते हैं, तो बस टिप्पणी करें - और मैं आपको Google से विषय पर रिकॉर्ड की गई प्रस्तुति की दिशा में इंगित करूंगा।
अद्यतन करें:
क्लीन, टेस्टेबल कोड कैसे लिखें
Miško Hevery प्रस्तुति ( GoogleTechTalks द्वारा ) NYC में Google पर और Google के इंजीनियरिंग उत्पादकता समूह द्वारा प्रायोजित
पहले से उल्लिखित कुछ पुस्तकों के अलावा, मैं टेस्ट द्वारा बढ़ते ऑब्जेक्ट-ओरिएंटेड सॉफ़्टवेयर गाइडेड की सिफारिश कर सकता हूं । मैंने इसे अभी तक पढ़ना समाप्त नहीं किया है, लेकिन यह एक योग्य पाठ है, जिसमें एक पूरी, आजीवन TDD परियोजना की कहानी शामिल है, न कि केवल सरल कोड उदाहरण।
मैंने दो किताबें पढ़ी हैं:
टेस्ट प्रेरित विकास: केंट बेक द्वारा उदाहरण के लिए और
पॉल हैमिल द्वारा यूनिट टेस्ट फ्रेमवर्क
बेक बुक अच्छी तरह से माना जाता है, लेकिन जब तक मैं "यूनिट टेस्ट फ्रेमवर्क" नहीं पढ़ता, मुझे यूनिट परीक्षण के साथ शुरुआत नहीं मिली। मैं कुछ टीडीडी करता हूं, लेकिन मैं पुराने कोड में परीक्षण भी जोड़ता हूं जो मुझे बनाए रखना है (जब मैं कर सकता हूं)।
संपादित करें: इसके अलावा, एक बार जब आप इसे संभाल लेते हैं, तो मैं इसे वर्तमान प्रोजेक्ट पर तुरंत उपयोग करने की सलाह देता हूं। मेरे लिए यह है कि जब वास्तविक शिक्षण हुआ, और मुझे लगता है कि "यूनिट टेस्ट फ्रेमवर्क" पुस्तक इस उद्देश्य के लिए एक बेहतर संदर्भ पुस्तक थी। (मैं C # के साथ nunit का उपयोग कर रहा था)।
हालांकि मुख्य रूप से टीडीडी के बारे में नहीं है (हालांकि यह उस पर स्पर्श करता है, साथ ही परीक्षण क्षमता के लिए डिज़ाइन करता है), द आर्ट ऑफ़ यूनिट टेस्टिंग एक किताब है जो मैं सुझाऊंगा क्योंकि यह आपको सिखाता है कि अच्छे परीक्षण कैसे लिखें।
अधिक विशेष रूप से, यह सिखाता है कि भरोसेमंद, बनाए रखने योग्य और पठनीय परीक्षण कैसे बनाएं। मुझे लगता है कि यह पुस्तक का सबसे महत्वपूर्ण खंड है, शायद यूनिट परीक्षण और अलगाव फ्रेमवर्क के बारे में मूल बातें। यह स्पष्ट है कि यदि यूनिट परीक्षण एक दर्द बिंदु बन जाते हैं या किसी डेवलपर की नौकरी में घर्षण जोड़ते हैं, तो उनसे कोई भी सफलता या लाभ सीमित होगा। यदि कोई परीक्षण बनाने के लिए समय और प्रयास का निवेश करता है, तो उसे उस निवेश से अधिकतम लाभ प्राप्त करने में सक्षम होना चाहिए।