टीडीडी सीखने के लिए सबसे अच्छे संसाधन क्या हैं? [बन्द है]


27

मैं सीखना चाहता हूं (और मास्टर) टीडीडी। क्या सबसे अच्छे हैं:

  • पुस्तकें
  • वेबसाइटों
  • वीडियो
  • अभ्यास की सूची
  • ज्ञान के निजी शब्द

सीखने के लिए, सराहना, और टीडीडी का उपयोग?


1
TDD सीखने के लिए आपके संसाधनों के मेरे पेज में आपकी रुचि हो सकती है ।
xpmatteo

9
मुझे यह सवाल पसंद है। यदि आपको यहां यह नहीं पूछना चाहिए, तो आप प्रोग्रामिंग पुस्तकों की सिफारिशों के बारे में कहां से पूछ सकते हैं?
guettli

जवाबों:


18

व्यक्तिगत रूप से मैंने पाया कि एक JUnit निबंध या दो को पढ़ना इस बात पर जोर देता है कि "आप कोड से पहले परीक्षण लिखें" मुझे आरंभ करने के लिए पर्याप्त था।

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

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

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

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

Java jUnit संस्करण 4 के लिए वास्तव में अच्छा है।


8

मेरी राय में, TDD परीक्षण लिखने की तुलना में कोड को परीक्षण योग्य बनाने के बारे में अधिक है।

यकीन है कि आप कोडिंग से पहले एक परीक्षण लिख सकते हैं, लेकिन परीक्षण लिखे जाने का पूरा कारण यह है कि आप कोड कर सकते हैं - जो आपको कोड लिखने से रोक नहीं पाएंगे जो कि परीक्षण के लिए कठिन है।

इसका एक बेहतर अर्थ निकालने के लिए एक नज़र डालें: मेरा मतलब है: माई यूनिफाइड थ्योरी ऑफ़ बग्स

यदि आप अवधारणा में रुचि रखते हैं, और अधिक सीखना चाहते हैं, तो बस टिप्पणी करें - और मैं आपको Google से विषय पर रिकॉर्ड की गई प्रस्तुति की दिशा में इंगित करूंगा।

अद्यतन करें:

क्लीन, टेस्टेबल कोड कैसे लिखें

Miško Hevery प्रस्तुति ( GoogleTechTalks द्वारा ) NYC में Google पर और Google के इंजीनियरिंग उत्पादकता समूह द्वारा प्रायोजित


आगे बढ़ें और Google प्रस्तुति लिंक जोड़ें। मुझे लगता है कि एरिक का प्रतिनिधि टिप्पणी करने की अनुमति नहीं देता है।
ओसोडो

+1 @Slomojo: सच है, तो सवाल को वोट करें ... अगर मैं सही ढंग से याद कर रहा हूं तो उसे 15-प्रतिनिधि से आगे बढ़ाने के लिए। मैं वीडियो के लिए चारों ओर देखूंगा।
भूलों

1
@blunders ... मैं उसे 11 में मिला!
ओसोडो

+1 @Slomojo: मतदान के लिए, मेरे जवाब में Google टेक टॉक के लिंक को पाया और जोड़ा। चीयर्स!
ब्लंडर्स

8

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


मुझे लगता है कि यह मेरी पसंदीदा पुस्तक है और जिसने मुझे सबसे ज्यादा काम करने का तरीका प्रभावित किया, वह केवल टीडीडी के बारे में नहीं, बल्कि सामान्य रूप से सॉफ्टवेयर देव के बारे में है। मुझे यह भी मानना ​​होगा कि मैंने कई टीडीडी पुस्तकें नहीं पढ़ीं, इसलिए शायद मुझ पर इतना भरोसा न करें।
antonio.fornie

4

मैंने दो किताबें पढ़ी हैं:

टेस्ट प्रेरित विकास: केंट बेक द्वारा उदाहरण के लिए और

पॉल हैमिल द्वारा यूनिट टेस्ट फ्रेमवर्क

बेक बुक अच्छी तरह से माना जाता है, लेकिन जब तक मैं "यूनिट टेस्ट फ्रेमवर्क" नहीं पढ़ता, मुझे यूनिट परीक्षण के साथ शुरुआत नहीं मिली। मैं कुछ टीडीडी करता हूं, लेकिन मैं पुराने कोड में परीक्षण भी जोड़ता हूं जो मुझे बनाए रखना है (जब मैं कर सकता हूं)।

संपादित करें: इसके अलावा, एक बार जब आप इसे संभाल लेते हैं, तो मैं इसे वर्तमान प्रोजेक्ट पर तुरंत उपयोग करने की सलाह देता हूं। मेरे लिए यह है कि जब वास्तविक शिक्षण हुआ, और मुझे लगता है कि "यूनिट टेस्ट फ्रेमवर्क" पुस्तक इस उद्देश्य के लिए एक बेहतर संदर्भ पुस्तक थी। (मैं C # के साथ nunit का उपयोग कर रहा था)।


4

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

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

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