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