परीक्षण-संचालित विकास और सफेद बॉक्स परीक्षण कौशल में सुधार


9

मैं सीधे स्कूल से एक प्रवेश स्तर का जावा प्रोग्रामर हूं। मुझे J2SE के साथ अच्छा ज्ञान और अनुभव है। क्या कोई मुझे सलाह दे सकता है कि जावा व्हाइट बॉक्स परीक्षक बनने की दिशा में अपने कौशल में सुधार या धुन कैसे करें? इनपुट की विस्तृत श्रृंखला का स्वागत है।

और टेस्ट ड्रिवेन डेवलपमेंट क्या है?


ब्लैक बॉक्स परीक्षण क्यों नहीं?
मार्टिज़न वेरबर्ग

@Martijn, बैकग्राउंड को देखते हुए, शायद सबसे ज्यादा व्हाइटबॉक्स टेस्टिंग की तकनीकी चुनौतियों के कारण। इसके अलावा, जबकि ब्लैक बॉक्स तकनीक डेवलपर्स के लिए बहुत उपयोगी है, एक डेवलपर के लिए अच्छे गुणों वाले लोग अच्छे ब्लैक बॉक्स परीक्षक नहीं बनाते हैं, हम बहुत उत्सुक हैं और अधीर हो सकते हैं। मुझे पता है मैंने किया।
स्टुपरयूजर

जवाबों:


9

टेस्ट ड्रिवेन डेवलपमेंट (टीडीडी) और यह विस्तारित चचेरे भाई, एक्सेडेंस टीडीडी (एटीडीडी) और व्यवहार ड्रिवेन डेवलपमेंट (बीडीडी) जावा पारिस्थितिकी तंत्र में एक परीक्षक के रूप में सीखने के लिए उपयोगी तकनीक हैं। जैसा कि आप सफेद बॉक्स परीक्षण के लिए देख रहे हैं, मैं TDD पर ध्यान केंद्रित करूँगा।

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

जावा पारिस्थितिकी तंत्र में, इसका मतलब है कि आप सीखना चाहते हैं:

  1. JUnit पुस्तकालय और / या TestNG पुस्तकालय।
  2. जैसे एक मजाक पुस्तकालय Mockito या JMock
  3. कोड पर हमला करने के लिए एक लोड टेस्टिंग टूल - JMeter
  4. डिपेंडेंसी इंजेक्शन की अवधारणा (नियंत्रण का एक रूप)

और फिर अभ्यास, अभ्यास, अभ्यास, अभ्यास। अच्छा जावा सफेद बॉक्स परीक्षक बहुत दुर्लभ हैं, सर्वोत्तम ने कोड बेस की एक विस्तृत श्रृंखला के खिलाफ लिखित परीक्षाएं की हैं।

HTH की शुरुआत!


वे जावा पारिस्थितिकी तंत्र में एक डेवलपर के रूप में सीखने के लिए उपयोगी तकनीक भी हैं। जैसा कि मैं समझता हूं, परीक्षकों को ब्लैक बॉक्स परीक्षण करना चाहिए।
टॉम

1

Junit जावा प्रोग्रामिंग लैंग्वेज के लिए सर्वश्रेष्ठ यूनिट टेस्टिंग फ्रेमवर्क में से एक है। रिपीटेबल टेस्ट लिखने और चलाने के लिए इसका एक ओपन सोर्स फ्रेमवर्क है।


1

मुझे आमतौर पर विकिपीडिया को उद्धृत करना पसंद नहीं है लेकिन इस लेख की जानकारी पर्याप्त सुरक्षित लगती है ...

http://en.wikipedia.org/wiki/Test-driven_development

अनिवार्य रूप से लेट शब्दों में, यह सॉफ्टवेयर डेवलपमेंट के लिए एक टेस्ट-फर्स्ट एप्रोच है, यूनिट टेस्ट डिजाइन किए गए हैं और पहले मामलों का उपयोग करने के लिए लिखा गया है, फिर उन यूनिट टेस्ट पास करने में मदद करने के लिए कठिन विकास होता है।


0

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


0

प्रश्न विशेष रूप से "सफेद बॉक्स परीक्षण" का संदर्भ देता है। यह वह जगह है जहाँ आपके परीक्षणों में आपके इनपुट और आउटपुट / साइड इफेक्ट (ब्लैक बॉक्स टेस्टिंग) के बजाय प्रत्येक चरण पर आपके कोड की आंतरिक संरचना का गहन ज्ञान होता है और व्यवहार का ज्ञान होता है। जब तक JUnit दोनों को करने के लिए उत्कृष्ट है, आपको यूनिट परीक्षण के संदर्भ में ऐसा करने के लिए अतिरिक्त अतिरिक्त रूपरेखा की आवश्यकता है।

ईज़ीमॉक और जेमॉक ऐसा करने के लिए अच्छे फ्रेमवर्क हैं। मैं JMock का पक्ष लेता हूं।

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

मैं दोनों के मिश्रण से चिपक जाता हूं। ब्लैक बॉक्स परीक्षण जहां भी संभव हो, और व्हाइट बॉक्स परीक्षणों को जोखिम वाले / अधिक जटिल कोड पर लागू किया जाता है।

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

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

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.