मैंने हाल ही में अपने मास्टर्स प्रोग्राम के लिए एक सॉफ्टवेयर इंजीनियरिंग कोर्स के लिए अपनी अंतिम परीक्षा दी थी और परीक्षा पर एक प्रश्न निम्नलिखित था:
Unit Testing is considered:
a. White-box Testing
b. Black-box Testing
c. Either
सॉफ्टवेयर विकास के मेरे 7 वर्षों के अनुभव में, यूनिट परीक्षण ने हमेशा एक सफेद बॉक्स दृष्टिकोण लिया है। परीक्षण लिखने के दौरान परीक्षक को हमेशा इकाई के कार्यान्वयन का पूर्ण ज्ञान होता है। ब्लैक बॉक्स परीक्षण हमेशा एकीकरण, प्रणाली और स्वीकृति परीक्षण के रूपों में बाद में आया।
हालांकि, परीक्षा (प्रोफेसर के अनुसार) का सही उत्तर यह है कि यूनिट परीक्षण या तो सफेद या ब्लैक बॉक्स परीक्षण हो सकता है।
मैंने कुछ शोध किए हैं, और ऐसा लगता है कि कई मामले "ब्लैक बॉक्स यूनिट परीक्षण" का उपयोग परीक्षण-पहले दृष्टिकोण का वर्णन करने के लिए किया जाता है जहां इकाई परीक्षण कोड से पहले लिखे जाते हैं। हालांकि मेरी राय में यह अभी भी सफेद बॉक्स परीक्षण है। हालांकि कार्यान्वयन अभी तक मौजूद नहीं है, जो कोई भी परीक्षण लिख रहा है, उसके बारे में आम तौर पर बहुत अच्छा विचार है कि स्रोत कोड कैसे लागू होने जा रहा है।
क्या कोई मुझे समझा सकता है कि ब्लैक बॉक्स यूनिट परीक्षण कैसे काम करता है (यदि यह वास्तव में एक चीज है) और यह सफेद बॉक्स यूनिट परीक्षण से कैसे भिन्न होता है?
While the implementation does not yet exist, whoever is writing the test generally has a pretty good idea about how the source code is going to be implemented.
- हाँ, लेकिन परीक्षण ही नहीं करता है। व्हाइट-बॉक्स परीक्षण का अर्थ है किसी विधि के आंतरिक या वर्ग का परीक्षण करना, जैसे कि एक चर का मान। इसका मतलब यह नहीं है कि परीक्षण लेखक जानता है कि परीक्षण के तहत कोड कैसा दिखता है।