क्या कोई ऐसा है जो स्पष्ट रूप से परीक्षण के इन स्तरों को परिभाषित कर सकता है क्योंकि मुझे TDD या इकाई परीक्षण करते समय अंतर करना मुश्किल लगता है। कृपया अगर कोई इनका कार्यान्वयन कब, कैसे, कैसे कर सकता है?
क्या कोई ऐसा है जो स्पष्ट रूप से परीक्षण के इन स्तरों को परिभाषित कर सकता है क्योंकि मुझे TDD या इकाई परीक्षण करते समय अंतर करना मुश्किल लगता है। कृपया अगर कोई इनका कार्यान्वयन कब, कैसे, कैसे कर सकता है?
जवाबों:
संक्षेप में:
यूनिट टेस्टिंग - आप यूनिट प्रत्येक व्यक्तिगत कोड का परीक्षण करते हैं। प्रत्येक फ़ाइल या कक्षा के बारे में सोचें।
इंटीग्रेशन टेस्टिंग - जब आपस में कई इकाइयाँ लगाते हैं तो आपको यह सुनिश्चित करने के लिए एकीकरण परीक्षण करने की आवश्यकता होती है कि इन इकाइयों को एक साथ एकीकृत करने से कोई त्रुटि नहीं आई है।
प्रतिगमन परीक्षण - एकीकृत करने के बाद (और शायद फिक्सिंग) आपको अपने यूनिट परीक्षणों को फिर से चलाना चाहिए। यह सुनिश्चित करने के लिए प्रतिगमन परीक्षण है कि आगे के बदलावों ने पहले से परीक्षण की गई किसी भी इकाई को नहीं तोड़ा है। आपके द्वारा पहले से की गई इकाई परीक्षण ने इकाई परीक्षण का उत्पादन किया है जो प्रतिगमन परीक्षण के लिए बार-बार चलाया जा सकता है।
स्वीकृति परीक्षण - जब एक उपयोगकर्ता / ग्राहक / व्यवसाय को कार्यक्षमता प्राप्त होती है तो वे (या आपका परीक्षण विभाग) यह सुनिश्चित करने के लिए स्वीकृति परीक्षण करेंगे कि कार्यक्षमता उनकी आवश्यकताओं को पूरा करती है।
आप सफेद बॉक्स और ब्लैक बॉक्स परीक्षण की जांच करना भी पसंद कर सकते हैं। प्रदर्शन और लोड परीक्षण, और विचार करने के लिए "'उपयोगिताओं" का परीक्षण भी है।
इकाई परीक्षण: जब यह विफल हो जाता है, तो यह आपको बताता है कि आपके कोड के किस टुकड़े को ठीक करने की आवश्यकता है।
एकीकरण परीक्षण: जब यह विफल हो जाता है, तो यह बताता है कि आपके एप्लिकेशन के टुकड़े अपेक्षित रूप से एक साथ काम नहीं कर रहे हैं।
स्वीकृति परीक्षण: जब यह विफल हो जाता है, तो यह आपको बताता है कि आवेदन वह नहीं कर रहा है जो ग्राहक इसे करने की अपेक्षा करता है।
प्रतिगमन परीक्षण: जब यह विफल हो जाता है, तो यह आपको बताता है कि अनुप्रयोग अब उस तरीके का व्यवहार नहीं करता है जैसा वह करता था।
यहाँ उल्लिखित परीक्षणों में से प्रत्येक के लिए एक सरल विवरण दिया गया है और जब वे लागू होते हैं:
यूनिट टेस्ट एक इकाई परीक्षण एक स्व-निहित इकाई (आमतौर पर एक वर्ग या विधि) पर किया जाता है और जब भी एक इकाई को लागू किया गया है या एक इकाई का अद्यतन पूरा किया गया है, तो उसे निष्पादित किया जाना चाहिए।
इसका मतलब यह है कि जब भी आपने एक वर्ग / विधि लिखी है, एक बग, निश्चित कार्यक्षमता को बदल दिया है ...
इंटीग्रेशन टेस्ट इंटीग्रेशन टेस्ट का लक्ष्य है कि कितनी इकाइयाँ एक-दूसरे के साथ परस्पर क्रिया करती हैं। इस प्रकार का परीक्षण किया जाना चाहिए जब भी इकाइयों के बीच संचार का एक नया रूप स्थापित किया गया है या उनकी बातचीत की प्रकृति बदल गई है।
इसका मतलब यह है कि यह तब भी चलाया जाता है जब हाल ही में लिखी गई इकाई को बाकी सिस्टम में एकीकृत किया जाता है या जब भी एक इकाई जो अन्य प्रणालियों के साथ इंटरैक्ट करती है, तो उसे अपडेट किया गया है (और सफलतापूर्वक अपनी इकाई परीक्षण पूरा कर लिया गया है)।
प्रतिगमन परीक्षण प्रतिगमन परीक्षण तब किए जाते हैं जब भी सिस्टम में कुछ भी बदला गया हो, यह जांचने के लिए कि कोई नया बग पेश नहीं किया गया है।
इसका मतलब यह सभी पैच, अपग्रेड, बग फिक्स के बाद चलता है। प्रतिगमन परीक्षण को संयुक्त इकाई परीक्षण और एकीकरण परीक्षण के एक विशेष मामले के रूप में देखा जा सकता है।
स्वीकृति परीक्षण स्वीकृति परीक्षण तब भी किए जाते हैं जब यह जांचने के लिए प्रासंगिक होता है कि एक उप-प्रणाली (संभवतः संपूर्ण प्रणाली) अपने संपूर्ण विनिर्देशों को पूरा करती है।
इसका मतलब यह है कि यह मुख्य रूप से एक नया कार्य पूरा करने या किसी बड़े कार्य को पूरा करने की घोषणा से पहले चलाया जाता है। इसे अपनी अंतिम जांच के रूप में देखें कि आपने ग्राहक / बॉस को चलाने और जीत की घोषणा करने से पहले वास्तव में अपने लक्ष्य को पूरा कर लिया है।
यह कम से कम मैंने सीखा है, हालांकि मुझे यकीन है कि अन्य विरोधी विचार हैं। किसी भी तरह से, मुझे आशा है कि मदद करता है।
मै कोशिश करुॅगा:
यूनिट टेस्ट: क्या मेरा एकल तरीका सही तरीके से काम कर रहा है? (कोई निर्भरता, या निर्भरता का मज़ाक)
एकीकरण टेस्ट: क्या मेरे दो अलग-अलग विकसित मॉड्यूल हैं, जो एक साथ रखे जाने पर शालीनता से काम करते हैं?
प्रतिगमन परीक्षण: क्या मैंने नया कोड बदलकर / लिखकर कुछ भी तोड़ दिया? (हर कमिटमेंट के साथ रनिंग यूनिट / इंटीग्रेशन टेस्ट तकनीकी रूप से (ऑटोमेटेड) रिग्रेशन टेस्टिंग है)। अधिक बार क्यूए के संदर्भ में उपयोग किया जाता है - मैनुअल या स्वचालित।
स्वीकृति परीक्षण : ग्राहक द्वारा किया गया परीक्षण, कि वह दिए गए SW को "स्वीकार" करता है
टिप्पणी नहीं कर सकते (कम प्रतिष्ठा: - |) तो ...
@Andrejs प्रत्येक प्रकार के परीक्षण से जुड़े वातावरण के बीच अंतर के बारे में एक अच्छा बिंदु बनाता है।
यूनिट परीक्षण आमतौर पर डेवलपर्स मशीन पर चलाए जाते हैं (और संभवतः CI बिल्ड के दौरान) अन्य संसाधनों / प्रणालियों के लिए निर्भरता को खत्म कर देते हैं।
परिभाषा के अनुसार एकीकरण परीक्षणों पर निर्भरता की उपलब्धता का (कुछ डिग्री) होना आवश्यक है; अन्य संसाधनों और प्रणालियों को बुलाया जा रहा है इसलिए पर्यावरण अधिक प्रतिनिधि है। परीक्षण के लिए डेटा का मज़ाक उड़ाया जा सकता है या वास्तविक उत्पादन डेटा का एक छोटा सा उप-वर्ग हो सकता है।
यूएटी / स्वीकृति परीक्षण को क्यूए और व्यापार टीमों को सॉफ्टवेयर को स्वीकार करने वाले वास्तविक दुनिया के अनुभव का प्रतिनिधित्व करना है। इसलिए यथार्थवादी प्रदर्शन और अंतिम उपयोगकर्ता अनुभव प्रदान करने के लिए पूर्ण एकीकरण और यथार्थवादी डेटा वॉल्यूम और पूर्ण मास्क / बाधित डेटा सेट की आवश्यकता है।
अन्य "यूटिलिटीज" को उत्पादन अनुभव जैसे प्रदर्शन परीक्षण, सुरक्षा, ...