सॉफ्टवेयर परीक्षण तकनीक या श्रेणियाँ [बंद]


16

आप किस प्रकार के सॉफ़्टवेयर परीक्षण जानते हैं? मैंने टेस्ट-ड्रिवेन डेवलपमेंट, यूनिट टेस्ट आदि के बारे में सुना है, लेकिन उनके महत्व और अंतर को नहीं समझ सकता। उदाहरण के लिए, हम प्रतिगमन परीक्षण या स्वीकृति परीक्षणों का उपयोग क्यों कर रहे हैं। वे क्या लाभ प्रदान करते हैं?


8
इसमें से कौन सा भाग भ्रमित या अपूर्ण था? en.wikipedia.org/wiki/Software_testing
S.Lott

2
यदि आप अपनी कार्यक्षमता को छोड़ देते हैं तो YOu प्रतिगमन परीक्षणों को छोड़ सकता है। यदि आप मौजूदा कार्यक्षमता को तोड़ते हैं और आप स्वीकार्यता परीक्षण को छोड़ सकते हैं यदि आप परवाह नहीं करते हैं कि क्या लोग वास्तव में सॉफ़्टवेयर का उपयोग कर रहे हैं या इसके लिए भुगतान कर रहे हैं तो यह सोचें कि यह वही करता है जो वे इसकी अपेक्षा करते हैं। । पेशेवर प्रोग्रामर उन दोनों चीजों की परवाह करते हैं।
HLGEM

मैं इस प्रश्न को फिर से खोलने के लिए मतदान कर रहा हूं क्योंकि यह एकमात्र है जिसे मैं विभिन्न प्रकार की परीक्षण श्रेणियों के बारे में एक अच्छा अवलोकन दे सकता हूं। हो सकता है कि किसी के पास एक अच्छा विचार है कि इस साइट के लिए इसे बेहतर बनाने के लिए प्रश्न को फिर से कैसे बनाया जाए?
डॉक्टर ब्राउन

जवाबों:


38

मेरे दिमाग की व्यापक श्रेणियां होंगी:

ब्लैक बॉक्स परीक्षण । आपको कोड देखने को नहीं मिलता है और बस कुछ हद तक नेत्रहीन परीक्षण कर रहे हैं जैसे कि एप्लिकेशन या सिस्टम में क्या छिपा है। इस प्रकार इस मामले में लोग सभी त्रुटि मामलों को नहीं जानते हैं और विभिन्न सीमा शर्तों के साथ अनुमान लगाना पड़ता है जो सभी मामलों को खोजने के लिए स्पष्ट हो सकता है या नहीं भी हो सकता है।

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

ग्रे बॉक्स परीक्षण पिछले दो का एक संकर है।

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

परीक्षण के सामान्य वर्गीकरण होंगे:

यूनिट परीक्षण । ये आम तौर पर सबसे छोटे परीक्षण होते हैं जो किसी विशेष चीज का परीक्षण करते हैं, उदाहरण के लिए यह विधि इस सीमा मामले को संभालती है? ध्यान दें कि परीक्षणों के लिए किसी भी निर्भरता को कम करने के लिए नकली वस्तुओं से जुड़े मामलों के लिए निर्भरता इंजेक्शन का उपयोग यहां किया जा सकता है ।

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

प्रतिगमन परीक्षण । ये अतीत में किए गए परीक्षण होंगे जो यह सुनिश्चित करने के लिए फिर से किए जाते हैं कि क्या तय किया गया था और बग को फिर से कोड में नहीं लाया जा रहा है।

प्रयोज्य परीक्षण । ये देखने के लिए किए गए परीक्षण होंगे कि उपयोगकर्ता विभिन्न कार्यों को पूरा करने के लिए सॉफ़्टवेयर के साथ कितनी अच्छी तरह काम कर सकते हैं। जहां कुछ को जल्दी बनाने या यूआई को समायोजित करने के लिए स्वचालित किया जा सकता है ताकि कुछ का उपयोग करना आसान हो।

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

परीक्षण के तहत सॉफ्टवेयर के कार्यात्मक विनिर्देश के आधार पर कार्यात्मक परीक्षण सभी प्रकार के परीक्षण हैं। ये हमेशा ब्लैक बॉक्स टेस्ट होते हैं।

प्रदर्शन जांच। ये सुनिश्चित करने के लिए किए गए परीक्षण होंगे कि एक सिस्टम बहुत धीमी गति से लोड किए बिना एक निश्चित राशि को संभाल सकता है। उदाहरण के लिए, सर्वर के एक नए वेब फ़ार्म का परीक्षण 100 उपयोगकर्ताओं को एक ही समय में एक साइट को हिट करने में सक्षम कर सकता है जो एक प्रदर्शन परीक्षण का एक उदाहरण होगा। इन्हें "लोड परीक्षण" या "तनाव परीक्षण" भी कहा जा सकता है क्योंकि आम तौर पर यह विचार यहां या तो सिस्टम को इसकी सीमा तक धकेल देता है या यह सत्यापित करता है कि सिस्टम किसी अन्य विभाग से कुछ प्रक्षेपण को संभाल सकता है। इन परीक्षणों का औचित्य यह है कि अक्सर अनुकूलन करने के लिए कई कॉन्फ़िगरेशन सेटिंग्स होती हैं जो अड़चनों की खोज करने के लिए एक छोटे से अधिक काम ले सकती हैं और इसके साथ मुद्दों को संबोधित कर सकती हैं। यहां अड़चन स्मृति, I / O, CPU या नेटवर्क बैंडविड्थ हो सकती है जो सिस्टम को अपेक्षित रूप से प्रतिक्रियाशील नहीं होने का कारण बनता है।

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

निरंतर एकीकरण कुछ परीक्षणों जैसे इकाई, एकीकरण और प्रतिगमन परीक्षणों को नियमित रूप से चलाने का अभ्यास है ताकि यदि कोई परिवर्तन किसी परीक्षण को तोड़ दे तो इसे जल्द से जल्द पकड़ा जा सके।


5
+1 ... और दुर्भाग्यवश, उन सभी के बाद भी मैन्युअल परीक्षण जारी हैं।
स्टीवन एवर्स

2
और स्ट्रेस टेस्ट - एक ही समय में एक ही मास्क का परीक्षण करने वाले सभी संभावित सत्र और लगातार परीक्षण परिदृश्य, कहीं न कहीं
यूएटी के

1
क्या आप कवरेज / शाखा कवरेज परीक्षण को याद नहीं कर रहे हैं? इसके अलावा, कुछ प्रकार की मेमोरी देखने वाली प्रणाली के तहत चल रहा है, जैसे "इलेक्ट्रिक बाड़" मॉलोक, या वैलेग्रिंड?
ब्रूस एडिगर

1
@ ब्रूस एडगर: कवरेज सफेद बॉक्स परीक्षण के लिए एक आँकड़ा है, न कि स्वयं परीक्षण की एक विधि और आपके द्वारा वर्णित उपकरण पूर्ण परीक्षण के लिए हैं।
स्टीवन एवर्स

मुझे "टूल ... परफ़ेक्ट टेस्टिंग के लिए" अलग होना है। कुछ भाषाओं (C या C ++) में वैलेग्रिंड में कई सारे यूनिट टेस्ट चलाने पर बग्स मिलेंगे जो कि ऊपर सूचीबद्ध किसी भी अन्य प्रकार के परीक्षण में नहीं मिलेंगे। Valgrind निश्चित रूप से एक डीबगिंग टूल है, लेकिन Valgrinded प्रोग्राम में परीक्षण चलाना बहुत आवश्यक है।
ब्रूस एडिगर जूल

4

प्रतिगमन परीक्षण यह सुनिश्चित करने के लिए किया जाता है कि सिस्टम में नए परिवर्तन किसी भी मौजूदा कार्यक्षमता को नहीं तोड़ते हैं जो कि परिवर्तनों से प्रभावित नहीं होना चाहिए था ।

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


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