लेख

चाचणी चालित विकास म्हणजे काय, दृष्टिकोन आणि फायदे

टेस्ट ड्रायव्हन डेव्हलपमेंट (टीडीडी) हा एक सॉफ्टवेअर डेव्हलपमेंट दृष्टीकोन आहे जिथे कोड काय करेल हे निर्दिष्ट आणि प्रमाणित करण्यासाठी चाचणी प्रकरणे विकसित केली जातात.

सॉफ्टवेअर रिलीझ होण्यापूर्वी प्रत्येक वैशिष्ट्यासाठी अक्षरशः चाचणी प्रकरणे तयार केली जातात आणि चाचणी केली जाते आणि चाचणी अयशस्वी झाल्यास, चाचणी उत्तीर्ण होण्यासाठी नवीन कोड लिहिला जातो (किंवा पुन्हा लिहिला जातो किंवा पॅच केला जातो) आणि कोड सोपा आणि बग-मुक्त बनविला जातो.

टेस्ट ड्रायव्हन डेव्हलपमेंट (टीडीडी) अनुप्रयोगातील प्रत्येक छोट्या वैशिष्ट्यासाठी चाचण्या डिझाइन आणि विकसित करण्यापासून सुरू होते. TDD फ्रेमवर्क विकसकांना स्वयंचलित चाचणी अयशस्वी झाल्यासच नवीन कोड लिहिण्याची सूचना देते. हा दृष्टिकोन कोड डुप्लिकेशन टाळतो. संपूर्ण TDD मॉड्यूल चाचणी-चालित विकास आहे.

टेस्ट ड्रायव्हन डेव्हलपमेंट (TDD) ची उत्पत्ती एका मोठ्या सॉफ्टवेअर डिझाइन पॅराडाइमचा भाग म्हणून झाली आहे ज्याला एक्स्ट्रीम प्रोग्रामिंग (XP) म्हणून ओळखले जाते, जे चपळ सॉफ्टवेअर डेव्हलपमेंट पद्धतीचा एक भाग आहे.

TDD ची सोपी संकल्पना म्हणजे नवीन कोड लिहिण्यापूर्वी (विकासापूर्वी) अयशस्वी चाचण्या लिहिणे आणि दुरुस्त करणे. हे कोड डुप्लिकेशन टाळण्यास मदत करते कारण आम्ही चाचणी उत्तीर्ण होण्यासाठी एका वेळी थोड्या प्रमाणात कोड लिहितो. (चाचण्या या अटींपेक्षा अधिक काही नसतात ज्याची पूर्तता करण्यासाठी आम्हाला चाचणी करावी लागते).

चाचणी-चालित विकास ही अनुप्रयोगाच्या वास्तविक विकासापूर्वी स्वयंचलित चाचण्या विकसित करण्याची आणि चालवण्याची प्रक्रिया आहे. म्हणून, TDD ला कधीकधी चाचणी प्रथम विकास देखील म्हटले जाते.

TDD दृष्टिकोनाचे टप्पे

कोणताही नवीन कोड लिहिण्यापूर्वी, प्रोग्रामरने प्रथम अयशस्वी युनिट चाचणी तयार करणे आवश्यक आहे. मग, प्रोग्रामर - किंवा जोडपे, किंवा जमाव - ती आवश्यकता पूर्ण करण्यासाठी पुरेसा कोड तयार करतो. एकदा चाचणी उत्तीर्ण झाल्यावर, प्रोग्रामर वर्तन न बदलता सुधारणा करून प्रकल्पाचे रिफॅक्टर करू शकतो.

TDD युनिट-स्तरीय प्रोग्रामर परस्परसंवादांवर लक्ष केंद्रित करत असताना, इतर लोकप्रिय पद्धती आहेत, जसे की स्वीकृती चाचणी-चालित विकास (ATDD) किंवा वर्तन-चालित विकास (BDD), ज्या चाचण्यांवर लक्ष केंद्रित करतात ज्या ग्राहकांना समजू शकतात.


या पद्धतींमध्ये कोडींग करण्यापूर्वी अभियांत्रिकी कर्मचारी आणि ग्राहक यांच्यातील सहयोगी चाचण्या म्हणून वास्तविक-जगातील उदाहरणे तयार करणे आणि कोड लागू केल्याचे दाखवण्यासाठी कोडिंगनंतर चाचण्या चालवणे यांचा समावेश होतो. अगोदरच चाचण्या जाणून घेतल्याने प्रथमच गुणवत्ता सुधारते. कोड तयार होण्यापूर्वी एटीडीडी आणि बीडीडीला डेव्हलपर, परीक्षक आणि व्यवसायाच्या बाजूने सॉफ्टवेअर आणि त्याच्या परिणामांची कल्पना आणि चर्चा करण्यासाठी एकत्र काम करणे आवश्यक आहे.

TDD चे फायदे

चाचणी-चालित विकास जुन्या पद्धतींपेक्षा कमी वेळेत उच्च-गुणवत्तेचे अनुप्रयोग तयार करू शकतो. TDD च्या यशस्वी अंमलबजावणीसाठी विकासक आणि परीक्षकांना अनुप्रयोग आणि त्याची कार्यक्षमता वास्तविक जगात कशी वापरली जाईल याचा अचूक अंदाज घेणे आवश्यक आहे.

इनोव्हेशन वृत्तपत्र
नवोपक्रमावरील सर्वात महत्त्वाच्या बातम्या चुकवू नका. त्यांना ईमेलद्वारे प्राप्त करण्यासाठी साइन अप करा.

TDD एक साइड इफेक्ट म्हणून रीग्रेशन चाचणी संच तयार करते जे मानवी मॅन्युअल चाचणी कमी करू शकते, समस्या लवकर शोधून काढू शकतात, ज्यामुळे जलद निराकरण होते. TDD चे पद्धतशीर स्वरूप क्लासिक फेज्ड कोड सायकल > चाचणी > फिक्स > रीटेस्ट पेक्षा प्रथम-वेळचे कव्हरेज आणि गुणवत्तेची खात्री देते. डिझाईन सायकलमध्ये चाचणी लवकर आयोजित केल्यामुळे, नंतर डीबगिंगसाठी खर्च केलेला वेळ आणि पैसा कमी केला जातो.

अपेक्षित लाभ:

  • प्रारंभिक विकास प्रयत्नांमध्ये मध्यम वाढीच्या खर्चावर दोष दरांमध्ये लक्षणीय घट
  • प्रकल्पांच्या अंतिम टप्प्यात प्रयत्न कमी झाल्यामुळे ओव्हरहेड खर्च अधिक आहे
  • TDD कोडमध्ये अधिक चांगले डिझाइन गुण आणते आणि सामान्यतः, "अंतर्गत" किंवा तांत्रिक गुणवत्तेची उच्च पदवी, उदाहरणार्थ समन्वय आणि जोडणी मेट्रिक्स सुधारून

TDD चे तोटे

TDD ला यशस्वी होण्यासाठी विशेषत: युनिट स्तरावर लक्षणीय कौशल्याची आवश्यकता असते. अनेक लीगेसी सिस्टीम फक्त युनिट चाचणी लक्षात घेऊन तयार केल्या जात नाहीत, ज्यामुळे चाचणीसाठी घटक वेगळे करणे अशक्य होते.

तसेच, बर्‍याच प्रोग्रॅमर्सना वेगळे करणे आणि स्वच्छ कोड तयार करण्याचे कौशल्य नसते. सर्व कार्यसंघ सदस्यांनी युनिट चाचण्या तयार करणे आणि देखरेख करणे आवश्यक आहे अन्यथा त्या लवकर अप्रचलित होतील. आणि TDD पाहणाऱ्या संस्थेला वेळ गुंतवावा लागेल, नंतर वेगवान जाण्यासाठी आता थोडा कमी करावा लागेल.

शेवटी, कोणत्याही पद्धतीप्रमाणे, TDD चे अंतिम परिणाम केवळ वापरल्या गेलेल्या चाचण्यांइतकेच चांगले आहेत, ते किती अचूकपणे पार पाडले गेले आणि ते अंतिम उत्पादनाच्या वापरकर्त्यांना आलेल्या परिस्थितीची किती प्रमाणात नक्कल करतात.

सामान्य चुका:

  • वारंवार चाचण्या घेण्यास विसरणे
  • एकाच वेळी अनेक चाचण्या लिहा
  • खूप मोठ्या किंवा स्थूल अशा चाचण्या लिहा
  • अत्यंत क्षुल्लक चाचण्या लिहिणे, जसे की प्रतिपादन वगळणे
  • क्षुल्लक कोडसाठी चाचण्या लिहा
  • आंशिक दत्तक घेणे: कार्यरत गटातील फक्त काही विकासक TDD वापरतात
  • खराब चाचणी संच देखभाल, सामान्यत: प्रतिबंधात्मक दीर्घ कालावधीसह चाचणी संचकडे नेत आहे
  • चाचणी संच सोडून दिलेला (म्हणजेच क्वचितच किंवा कधीही चालत नाही) – कधी खराब देखभालीमुळे, कधी संघाच्या उलाढालीमुळे

TDD तत्वज्ञान

सॉफ्टवेअर लिहिताना TDD प्रोग्रामरला लहान पावले उचलण्याची परवानगी देतो. कार्यक्षमतेची चाचणी करण्यापूर्वी चाचणी लिहिली जाते आणि अनुप्रयोग चाचणीसाठी योग्य आहे याची खात्री करते. चाचणी केलेल्या कोडमध्ये आढळणाऱ्या त्रुटी पकडण्यासाठी थोड्या प्रमाणात कोडवर चाचणी केली जाते. मग कार्यक्षमता लागू केली जाते. याला "रेड ग्रीन रिफॅक्टर" म्हणून संबोधले जाते जेथे लाल म्हणजे अपयश आणि हिरवा पास दर्शवितो. त्यानंतर या चरणांची पुनरावृत्ती केली जाते. प्रोग्रॅमरचे पहिले ध्येय म्हणजे हातात असलेल्या कामावर लक्ष केंद्रित करणे आणि त्यावर मात करणे.

चाचणी-चालित विकास चक्रातील विविध टप्पे आहेत:
  • एक चाचणी जोडा: TDD मधील प्रत्येक नवीन वैशिष्ट्य चाचणीने सुरू होते जे कोणतेही वैशिष्ट्य लागू करण्यापूर्वी ते अयशस्वी होणे आवश्यक आहे. वैशिष्ट्य लागू करण्यापूर्वी चाचणी लिहिण्याची पूर्व शर्त म्हणजे विकासकाकडून आवश्यकतेची स्पष्ट समज. हे वापरकर्ता कथा आणि वापर प्रकरणांद्वारे प्राप्त केले जाते. त्यामुळे डेव्हलपरला प्रोग्राम कोड लिहिण्यापूर्वी गरज समजते.
  • सर्व चाचण्या चालवा आणि नवीन कोड अयशस्वी झाला का ते तपासा: हे सुनिश्चित करते की चाचणी हार्नेस योग्यरित्या कार्य करते आणि नवीन चाचणी कोणत्याही नवीन कोडशिवाय अयशस्वी होणार नाही. ही पायरी चाचणीची पडताळणी देखील करते आणि नवीन चाचणी नेहमी उत्तीर्ण होण्याची शक्यता काढून टाकते.
  • कोड लिहा: पुढील पायरी म्हणजे चाचणी पास करणारा कोड लिहिणे. नवीन कोड परिपूर्ण नाही परंतु नंतर आवश्यकतेनुसार बदल केला जातो. हे फक्त चाचणीसाठी डिझाइन केलेले आहे आणि इतर कोणतीही वैशिष्ट्ये पॅक करत नाहीत.
  • स्वयंचलित चाचण्या चालवा: तयार केलेल्या प्रत्येक चाचणी केसने चाचणी सहजपणे उत्तीर्ण केल्यास, याचा अर्थ कोड सर्व आवश्यक वैशिष्ट्यांची पूर्तता करतो. त्यानंतर सायकलचा अंतिम टप्पा सुरू करता येईल.
  • रिफॅक्टरिंग कोड: हे डुप्लिकेशन काढून टाकण्यासारखे आहे. रिफॅक्टरिंग कोणत्याही विद्यमान कार्यक्षमतेला खंडित करत नाही आणि उत्पादन आणि चाचणी कोडमधील डुप्लिकेशन काढण्यात मदत करते. कोड आता आवश्यकतेनुसार साफ केला आहे.
  • पुनरावृत्ती करा: नवीन चाचणीसह मागील प्रकरणांप्रमाणेच सायकलची पुनरावृत्ती होते. प्रत्येक चाचणी रन दरम्यान सुमारे 1-10 बदलांसह, चरण आकार लहान असणे आवश्यक आहे. नवीन कोड नवीन चाचणी अयशस्वी झाल्यास, प्रोग्रामरने अधिक डीबगिंग केले पाहिजे. सतत एकीकरण उलट करता येण्याजोगे चेकपॉइंट प्रदान करते.

Ercole Palmeri

इनोव्हेशन वृत्तपत्र
नवोपक्रमावरील सर्वात महत्त्वाच्या बातम्या चुकवू नका. त्यांना ईमेलद्वारे प्राप्त करण्यासाठी साइन अप करा.

अलीकडील लेख

आर्टिफिशियल इंटेलिजन्सद्वारे प्रक्रिया केलेल्या माहितीच्या प्रवाहाचे नियमन करण्यासाठी प्रकाशक आणि OpenAI करारांवर स्वाक्षरी करतात

गेल्या सोमवारी, फायनान्शिअल टाईम्सने OpenAI सह करार जाहीर केला. FT ने त्याच्या जागतिक दर्जाच्या पत्रकारितेचा परवाना…

30 एप्रिल 2024

ऑनलाइन पेमेंट: स्ट्रीमिंग सेवा तुम्हाला कायमचे पैसे कसे देतात ते येथे आहे

लाखो लोक स्ट्रीमिंग सेवांसाठी पैसे देतात, मासिक सदस्यता शुल्क भरतात. असे सामान्य मत आहे की आपण…

29 एप्रिल 2024

Veeam मध्ये रॅन्समवेअरसाठी सर्वात व्यापक समर्थन, संरक्षणापासून प्रतिसाद आणि पुनर्प्राप्तीपर्यंत वैशिष्ट्ये आहेत

Veeam द्वारे Coveware सायबर खंडणी घटना प्रतिसाद सेवा प्रदान करणे सुरू ठेवेल. Coveware फॉरेन्सिक आणि उपाय क्षमता प्रदान करेल…

23 एप्रिल 2024

हरित आणि डिजिटल क्रांती: भविष्यसूचक देखभाल तेल आणि वायू उद्योगात कशी बदल घडवत आहे

वनस्पती व्यवस्थापनासाठी नाविन्यपूर्ण आणि सक्रिय दृष्टीकोनसह, भविष्यसूचक देखभाल तेल आणि वायू क्षेत्रात क्रांती घडवत आहे.…

22 एप्रिल 2024

तुमच्या भाषेत इनोव्हेशन वाचा

इनोव्हेशन वृत्तपत्र
नवोपक्रमावरील सर्वात महत्त्वाच्या बातम्या चुकवू नका. त्यांना ईमेलद्वारे प्राप्त करण्यासाठी साइन अप करा.

आमचे अनुसरण करा