unit-testing - vbg - यूनिट टेस्ट क्या है




यूनिट टेस्ट, इंटीग्रेशन टेस्ट, स्मोक टेस्ट, रिग्रेशन टेस्ट क्या है? (14)

प्रतिगमन परीक्षण-

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

यूनिट टेस्ट, इंटीग्रेशन टेस्ट, स्मोक टेस्ट, रिग्रेशन टेस्ट क्या है और उनके बीच क्या अंतर है? और मैं उनमें से प्रत्येक के लिए कौन से टूल्स का उपयोग कर सकता हूं?

उदाहरण के लिए मैं यूनिट परीक्षण और एकीकरण परीक्षण के लिए जुनीट और एनयूनीट का उपयोग करता हूं। क्या कोई धूम्रपान परीक्षण या रिग्रेशन टेस्ट टूल्स हैं?


अपोक्राइफल ऐतिहासिक ट्रिविया: "धुआं परीक्षण" पनडुब्बी इंजीनियरिंग (नलसाजी से विरासत में मिला) से आता है जहां शाब्दिक धुआं को देखने के लिए हलचल में पंप किया जाएगा, यह देखने के लिए कि इसमें से कोई भी फिर से बाहर आया है, जो पनडुब्बी के लिए नाटकीय विफलता होगी!


एक नई टेस्ट श्रेणी जिसे मैं अभी अवगत करा रहा हूं वह है:

कैनरी परीक्षण

एक कैनरी परीक्षण एक स्वचालित, विनाशकारी परीक्षण है जो लाइव वातावरण में नियमित आधार पर चलाया जाता है, जैसे कि यदि यह कभी विफल रहता है, तो कुछ वास्तव में बुरा हुआ है।

उदाहरण हो सकते हैं:

  • क्या डेटा है जो कभी भी DEV / TEST में उपलब्ध होना चाहिए लाइव में दिखाई दिया।
  • क्या पृष्ठभूमि प्रक्रिया चलाने में असफल रहा है
  • क्या उपयोगकर्ता लॉगऑन कर सकता है

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

जब आपका परीक्षण एक से अधिक वर्गों को कॉल करता है, तो यह एकीकरण परीक्षण होता है

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

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


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

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

धुआं परीक्षण आमतौर पर निष्पादन के लिए 5-30 मिनट से अधिक नहीं लगता है। यह अधिक सामान्य है: यह पूरे सिस्टम की कोर कार्यक्षमताओं की एक छोटी संख्या की जांच करता है ताकि यह सत्यापित किया जा सके कि सॉफ्टवेयर की स्थिरता आगे परीक्षण के लिए पर्याप्त है और योजनाबद्ध परीक्षण मामलों के संचालन को अवरुद्ध करने में कोई समस्या नहीं है।

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


प्रत्येक व्यक्ति की थोड़ी अलग परिभाषाएं होंगी, और अक्सर भूरे रंग के क्षेत्र होते हैं। तथापि:

  • यूनिट टेस्ट: क्या यह थोड़ा सा (जितना संभव हो उतना अलग) काम करता है?
  • एकीकरण परीक्षण: क्या ये दो (या अधिक) घटक एक साथ काम करते हैं?
  • धुआं परीक्षण: क्या यह पूरी प्रणाली (संभवतः एक उत्पादन प्रणाली होने के करीब) उचित रूप से अच्छी तरह से लटका है? (यानी हम उचित रूप से आत्मविश्वास रखते हैं कि यह ब्लैक होल नहीं बनाएगा?)
  • रिग्रेशन टेस्ट: क्या हमने अनजाने में किसी भी बग को फिर से पेश किया है जिसे हमने पहले तय किया था?

यूनिट परीक्षण: उस विशेष घटक (यानी, कक्षा) को डिज़ाइन किए गए कार्यों को बनाया या संशोधित करना सत्यापित करना। यह परीक्षण मैनुअल या स्वचालित हो सकता है लेकिन घटक की सीमा से आगे नहीं बढ़ता है।

एकीकरण परीक्षण: यह सत्यापित करना कि विशेष घटकों की बातचीत डिज़ाइन के रूप में कार्य करती है। इकाई स्तर या सिस्टम स्तर पर एकीकरण परीक्षण किया जा सकता है। ये परीक्षण मैन्युअल या स्वचालित हो सकते हैं।

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

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


यूनिट परीक्षण: उस विशेष घटक (यानी, कक्षा) को डिज़ाइन किए गए कार्यों को बनाया या संशोधित करना सत्यापित करना। यह परीक्षण मैनुअल या स्वचालित हो सकता है लेकिन घटक की सीमा से आगे नहीं बढ़ता है।

एकीकरण परीक्षण: यह सत्यापित करना कि विशेष घटकों की बातचीत डिज़ाइन के रूप में कार्य करती है। इकाई स्तर या सिस्टम स्तर पर एकीकरण परीक्षण किया जा सकता है। ये परीक्षण मैन्युअल या स्वचालित हो सकते हैं।

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

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

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


रिग्रेशन टेस्ट - एक प्रकार का एसडब्ल्यू परीक्षण है जहां हम बग फिक्स के चारों ओर कवर या जांच करने का प्रयास करते हैं। बग फिक्स के आसपास की कार्यक्षमता को फिक्स प्रदान किए जाने के कारण बदला या बदला नहीं जाना चाहिए। ऐसी प्रक्रिया में पाए गए मुद्दों को रिग्रेशन मुद्दे कहा जाता है।

धुआं परीक्षण: आगे क्यूए परीक्षण के लिए बिल्ड / सॉफ्टवेयर को स्वीकार करना है या नहीं, यह तय करने के लिए एक प्रकार का परीक्षण किया जाता है।


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

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

मैंने व्यक्तिगत रूप से एक घोषणात्मक भाषा में विश्वास किया है जो अंत में परीक्षण के लिए सभी भाषाओं और प्लेटफॉर्म को एक साथ फिट करता है।

Endly परीक्षण और स्वचालन ढांचे को समाप्त करने वाला पहला अंत है जो पूरी तरह से घोषणात्मक है, इसका उपयोग किसी भी भाषा में किसी भी भाषा के लिए बेईसाइड यूनिट परीक्षणों में किया जा सकता है।


इकाई का परीक्षण:

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

एकीकरण जांच:

(कभी-कभी एकीकरण और परीक्षण कहा जाता है, संक्षेप में आई एंड टी) सॉफ्टवेयर परीक्षण में चरण है जिसमें व्यक्तिगत सॉफ़्टवेयर मॉड्यूल को समूह के रूप में संयुक्त और परीक्षण किया जाता है। यह यूनिट परीक्षण और सत्यापन परीक्षण से पहले होता है।

सिस्टम परीक्षण:

यह सत्यापित करने के लिए अक्सर अंतिम परीक्षण होता है कि सिस्टम को वितरित करने के लिए विनिर्देश और उसके उद्देश्य को पूरा किया जाता है।

परावर्तन जांच:

नई सुविधाओं या बग फिक्स को लागू करने के बाद, आप अतीत में काम करने वाले परिदृश्यों का पुन: परीक्षण करते हैं। यहां आप उस संभावना को कवर करते हैं जिसमें आपकी नई विशेषताएं मौजूदा सुविधाओं को तोड़ती हैं।

धुआं परीक्षण:

उद्देश्य संपूर्ण परीक्षण नहीं करना है, लेकिन यह सत्यापित करने के लिए कि सिस्टम की महत्वपूर्ण कार्यक्षमता ठीक काम कर रही है। उदाहरण के लिए एक सामान्य धूम्रपान परीक्षण होगा - सत्यापित करें कि एप्लिकेशन सफलतापूर्वक लॉन्च हुआ है, जांचें कि जीयूआई उत्तरदायी है, आदि।


यूनिट टेस्ट : किसी एप्लिकेशन में अलग-अलग मॉड्यूल या स्वतंत्र घटक का परीक्षण यूनिट परीक्षण के रूप में जाना जाता है, यूनिट परीक्षण डेवलपर द्वारा किया जाएगा।

एकीकरण परीक्षण : मॉड्यूल के बीच संचार और डेटा प्रवाह को सत्यापित करने के लिए सभी मॉड्यूल का संयोजन और अनुप्रयोग का परीक्षण ठीक से काम कर रहे हैं या नहीं, यह परीक्षण डेवलपर्स द्वारा भी किया जाता है।

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

अपरिवर्तित मॉड्यूल को किसी भी दोष का कारण नहीं बनने के लिए बार-बार एक ही परीक्षण के मामलों को निष्पादित करने के लिए प्रतिगमन परीक्षण । रेग्रेशन परीक्षण कार्यात्मक परीक्षण के तहत आता है


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

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




definition