मुझे टेस्ट संचालित विकास का अभ्यास क्यों करना चाहिए और मुझे कैसे शुरू करना चाहिए?

बहुत से लोग अपने कोड लिखने से पहले अपने कोड के लिए परीक्षण लिखने के बारे में बात करते हैं। इस अभ्यास को आमतौर पर टेस्ट ड्राइव डेवलपमेंट या टीडीडी के रूप में जाना जाता है। सॉफ़्टवेयर लिखने से मुझे क्या लाभ मिलते हैं? मैं इस अभ्यास के साथ कैसे शुरू करूं?

0
ro fr bn
मुझे देर हो चुकी है, लेकिन मैं अपना बाइट रखना चाहता हूं। टीडीडी का अभ्यास करने का सबसे अच्छा तरीका काटा का उपयोग कर रहा है। परीक्षणों के साथ अच्छे कैटा यहां दिए गए हैं: github.com/garora/TDD-Katas
जोड़ा लेखक Gaurav Aroraa, स्रोत
कृपया पहले से पूछे गए एक ही प्रश्न का मेरा जवाब देखें। इस प्रश्न का एक विस्तृत उत्तर

6 उत्तर

बहुत सारे फायदे हैं:

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

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

0
जोड़ा
अंतिम लेख (यूनिट परीक्षण के लिए टिप्स) का लिंक समाप्त हो गया। यहां नए आलेख का लिंक दिया गया है: devver.wordpress। कॉम / 2008/07/07 / सुझावों के लिए इकाई परीक्षण
जोड़ा लेखक Igor Popov, स्रोत

लाभ

  1. आप अपने कोड को विभाजित करने के तरीके को समझते हैं
  2. आप यह पता लगाते हैं कि आप अपना कोड क्या करना चाहते हैं
  3. आप जानते हैं कि यह कैसे कार्य करना चाहिए और, सड़क के नीचे, अगर रिफैक्टरिंग कुछ तोड़ता है
  4. यह सुनिश्चित करने की आदत में आपको प्राप्त होता है कि आपका कोड हमेशा जानता है कि यह क्या करना है

प्रारंभ करना

बस कर दो। आप जो करना चाहते हैं उसके लिए एक टेस्ट केस लिखें, और तब कोड लिखें जो परीक्षा उत्तीर्ण हो। यदि आप अपना परीक्षण पास करते हैं, तो आप उन मामलों को लिखने के लिए आगे बढ़ सकते हैं जहां आपका कोड हमेशा असफल रहेगा (उदाहरण के लिए 2 + 2 बराबर नहीं होना चाहिए)।

एक बार आपके सभी परीक्षण पास हो जाने के बाद, जो कुछ भी आप करना चाहते हैं, उसे करने के लिए अपना वास्तविक व्यावसायिक तर्क लिखें।

यदि आप खरोंच से शुरू कर रहे हैं तो सुनिश्चित करें कि आपको एक अच्छा परीक्षण सूट मिल जाए जो उपयोग में आसान हो। मुझे PHP पसंद है तो PHPUnit या SimpleTest अच्छी तरह से काम करते हैं। लगभग सभी लोकप्रिय भाषाओं में कुछ xUnit परीक्षण सूट परीक्षण बनाने और स्वचालित करने में सहायता के लिए उपलब्ध हैं।

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

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

0
जोड़ा
लिंक टूटा हुआ है!
जोड़ा लेखक Nagaraj Tantri, स्रोत

मेरी राय में, सबसे बड़ी बात यह है कि यह स्पष्ट रूप से आपको यह देखने की अनुमति देता है कि आपका कोड क्या करता है या नहीं। यह स्पष्ट प्रतीत हो सकता है, लेकिन आपके मूल लक्ष्यों को भटकाना बहुत आसान है, जैसा कि मैंने पहले पाया है: p

0
जोड़ा

Good starter: Getting Started with Tdd in Java using Eclipse by Brett L. Schuchert

जावा में और सी # में टीडीडी के बारे में स्क्रीनकास्ट का एक सेट है। यह टीडीडी की स्क्रैच और शिक्षण मूल बातें से शुरू हो रहा है।

0
जोड़ा

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

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

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

0
जोड़ा
QAIndia
QAIndia
160 प्रतिभागियों की

QA India ! Unite Here we share job postings , prepare for interviews and share tips/techniques in QA. Please follow following guideline while sharing any job ... QA job # location : # title Company : Title : Requirement: Responsibility: Apply: