सॉफ्टवेअर रिलीझ होण्यापूर्वी प्रत्येक वैशिष्ट्यासाठी अक्षरशः चाचणी प्रकरणे तयार केली जातात आणि चाचणी केली जाते आणि चाचणी अयशस्वी झाल्यास, चाचणी उत्तीर्ण होण्यासाठी नवीन कोड लिहिला जातो (किंवा पुन्हा लिहिला जातो किंवा पॅच केला जातो) आणि कोड सोपा आणि बग-मुक्त बनविला जातो.
टेस्ट ड्रायव्हन डेव्हलपमेंट (टीडीडी) अनुप्रयोगातील प्रत्येक छोट्या वैशिष्ट्यासाठी चाचण्या डिझाइन आणि विकसित करण्यापासून सुरू होते. TDD फ्रेमवर्क विकसकांना स्वयंचलित चाचणी अयशस्वी झाल्यासच नवीन कोड लिहिण्याची सूचना देते. हा दृष्टिकोन कोड डुप्लिकेशन टाळतो. संपूर्ण TDD मॉड्यूल चाचणी-चालित विकास आहे.
टेस्ट ड्रायव्हन डेव्हलपमेंट (TDD) ची उत्पत्ती एका मोठ्या सॉफ्टवेअर डिझाइन पॅराडाइमचा भाग म्हणून झाली आहे ज्याला एक्स्ट्रीम प्रोग्रामिंग (XP) म्हणून ओळखले जाते, जे चपळ सॉफ्टवेअर डेव्हलपमेंट पद्धतीचा एक भाग आहे.
TDD ची सोपी संकल्पना म्हणजे नवीन कोड लिहिण्यापूर्वी (विकासापूर्वी) अयशस्वी चाचण्या लिहिणे आणि दुरुस्त करणे. हे कोड डुप्लिकेशन टाळण्यास मदत करते कारण आम्ही चाचणी उत्तीर्ण होण्यासाठी एका वेळी थोड्या प्रमाणात कोड लिहितो. (चाचण्या या अटींपेक्षा अधिक काही नसतात ज्याची पूर्तता करण्यासाठी आम्हाला चाचणी करावी लागते).
चाचणी-चालित विकास ही अनुप्रयोगाच्या वास्तविक विकासापूर्वी स्वयंचलित चाचण्या विकसित करण्याची आणि चालवण्याची प्रक्रिया आहे. म्हणून, TDD ला कधीकधी चाचणी प्रथम विकास देखील म्हटले जाते.
कोणताही नवीन कोड लिहिण्यापूर्वी, प्रोग्रामरने प्रथम अयशस्वी युनिट चाचणी तयार करणे आवश्यक आहे. मग, प्रोग्रामर - किंवा जोडपे, किंवा जमाव - ती आवश्यकता पूर्ण करण्यासाठी पुरेसा कोड तयार करतो. एकदा चाचणी उत्तीर्ण झाल्यावर, प्रोग्रामर वर्तन न बदलता सुधारणा करून प्रकल्पाचे रिफॅक्टर करू शकतो.
TDD युनिट-स्तरीय प्रोग्रामर परस्परसंवादांवर लक्ष केंद्रित करत असताना, इतर लोकप्रिय पद्धती आहेत, जसे की स्वीकृती चाचणी-चालित विकास (ATDD) किंवा वर्तन-चालित विकास (BDD), ज्या चाचण्यांवर लक्ष केंद्रित करतात ज्या ग्राहकांना समजू शकतात.
या पद्धतींमध्ये कोडींग करण्यापूर्वी अभियांत्रिकी कर्मचारी आणि ग्राहक यांच्यातील सहयोगी चाचण्या म्हणून वास्तविक-जगातील उदाहरणे तयार करणे आणि कोड लागू केल्याचे दाखवण्यासाठी कोडिंगनंतर चाचण्या चालवणे यांचा समावेश होतो. अगोदरच चाचण्या जाणून घेतल्याने प्रथमच गुणवत्ता सुधारते. कोड तयार होण्यापूर्वी एटीडीडी आणि बीडीडीला डेव्हलपर, परीक्षक आणि व्यवसायाच्या बाजूने सॉफ्टवेअर आणि त्याच्या परिणामांची कल्पना आणि चर्चा करण्यासाठी एकत्र काम करणे आवश्यक आहे.
चाचणी-चालित विकास जुन्या पद्धतींपेक्षा कमी वेळेत उच्च-गुणवत्तेचे अनुप्रयोग तयार करू शकतो. TDD च्या यशस्वी अंमलबजावणीसाठी विकासक आणि परीक्षकांना अनुप्रयोग आणि त्याची कार्यक्षमता वास्तविक जगात कशी वापरली जाईल याचा अचूक अंदाज घेणे आवश्यक आहे.
TDD एक साइड इफेक्ट म्हणून रीग्रेशन चाचणी संच तयार करते जे मानवी मॅन्युअल चाचणी कमी करू शकते, समस्या लवकर शोधून काढू शकतात, ज्यामुळे जलद निराकरण होते. TDD चे पद्धतशीर स्वरूप क्लासिक फेज्ड कोड सायकल > चाचणी > फिक्स > रीटेस्ट पेक्षा प्रथम-वेळचे कव्हरेज आणि गुणवत्तेची खात्री देते. डिझाईन सायकलमध्ये चाचणी लवकर आयोजित केल्यामुळे, नंतर डीबगिंगसाठी खर्च केलेला वेळ आणि पैसा कमी केला जातो.
अपेक्षित लाभ:
TDD ला यशस्वी होण्यासाठी विशेषत: युनिट स्तरावर लक्षणीय कौशल्याची आवश्यकता असते. अनेक लीगेसी सिस्टीम फक्त युनिट चाचणी लक्षात घेऊन तयार केल्या जात नाहीत, ज्यामुळे चाचणीसाठी घटक वेगळे करणे अशक्य होते.
तसेच, बर्याच प्रोग्रॅमर्सना वेगळे करणे आणि स्वच्छ कोड तयार करण्याचे कौशल्य नसते. सर्व कार्यसंघ सदस्यांनी युनिट चाचण्या तयार करणे आणि देखरेख करणे आवश्यक आहे अन्यथा त्या लवकर अप्रचलित होतील. आणि TDD पाहणाऱ्या संस्थेला वेळ गुंतवावा लागेल, नंतर वेगवान जाण्यासाठी आता थोडा कमी करावा लागेल.
शेवटी, कोणत्याही पद्धतीप्रमाणे, TDD चे अंतिम परिणाम केवळ वापरल्या गेलेल्या चाचण्यांइतकेच चांगले आहेत, ते किती अचूकपणे पार पाडले गेले आणि ते अंतिम उत्पादनाच्या वापरकर्त्यांना आलेल्या परिस्थितीची किती प्रमाणात नक्कल करतात.
सामान्य चुका:
सॉफ्टवेअर लिहिताना TDD प्रोग्रामरला लहान पावले उचलण्याची परवानगी देतो. कार्यक्षमतेची चाचणी करण्यापूर्वी चाचणी लिहिली जाते आणि अनुप्रयोग चाचणीसाठी योग्य आहे याची खात्री करते. चाचणी केलेल्या कोडमध्ये आढळणाऱ्या त्रुटी पकडण्यासाठी थोड्या प्रमाणात कोडवर चाचणी केली जाते. मग कार्यक्षमता लागू केली जाते. याला "रेड ग्रीन रिफॅक्टर" म्हणून संबोधले जाते जेथे लाल म्हणजे अपयश आणि हिरवा पास दर्शवितो. त्यानंतर या चरणांची पुनरावृत्ती केली जाते. प्रोग्रॅमरचे पहिले ध्येय म्हणजे हातात असलेल्या कामावर लक्ष केंद्रित करणे आणि त्यावर मात करणे.
Ercole Palmeri
गेल्या सोमवारी, फायनान्शिअल टाईम्सने OpenAI सह करार जाहीर केला. FT ने त्याच्या जागतिक दर्जाच्या पत्रकारितेचा परवाना…
लाखो लोक स्ट्रीमिंग सेवांसाठी पैसे देतात, मासिक सदस्यता शुल्क भरतात. असे सामान्य मत आहे की आपण…
Veeam द्वारे Coveware सायबर खंडणी घटना प्रतिसाद सेवा प्रदान करणे सुरू ठेवेल. Coveware फॉरेन्सिक आणि उपाय क्षमता प्रदान करेल…
वनस्पती व्यवस्थापनासाठी नाविन्यपूर्ण आणि सक्रिय दृष्टीकोनसह, भविष्यसूचक देखभाल तेल आणि वायू क्षेत्रात क्रांती घडवत आहे.…