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