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


731

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

उदाहरण के लिए, मैं यूनिट परीक्षण और एकीकरण परीक्षण के लिए JUnit और NUnit का उपयोग करता हूं । क्या पिछले दो, धूम्रपान परीक्षण या प्रतिगमन परीक्षण के लिए कोई उपकरण हैं ?



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

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

धूम्रपान परीक्षण एंडीएम के रूप में वर्णित हैं। लेकिन वे एक प्रकार का प्रतिगमन परीक्षण भी हैं।
केविन mcdonnell

जवाबों:


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

  • एकीकरण परीक्षण : कई सबसिस्टम के सही अंतर ऑपरेशन का परीक्षण करें। उत्पादन परिवेश के साथ एकीकरण का परीक्षण करने के लिए, दो वर्गों के बीच एकीकरण एकीकरण से परीक्षण करने के लिए, वहाँ पूरे स्पेक्ट्रम है।

  • स्मोक टेस्ट (उर्फ सनिटी चेक) : एक साधारण एकीकरण परीक्षण, जहां हम सिर्फ यह जांचते हैं कि जब परीक्षण के तहत प्रणाली को लागू किया जाता है तो यह सामान्य रूप से वापस आ जाता है और उड़ा नहीं देता है।

    • स्मोक परीक्षण दोनों इलेक्ट्रॉनिक्स के साथ एक समानता है, जहां पहला परीक्षण तब होता है जब एक सर्किट को पावर करता है (यदि यह धूम्रपान करता है, तो यह अच्छा है ... ...!
    • ... और, जाहिरा तौर पर , नलसाजी के साथ , जहां पाइप की एक प्रणाली सचमुच धुएं से भर जाती है और फिर नेत्रहीन जांच की जाती है। अगर कुछ भी धूम्रपान करता है, तो सिस्टम लीक है।
  • प्रतिगमन परीक्षण : एक परीक्षण जो बग के ठीक होने पर लिखा गया था। यह सुनिश्चित करता है कि यह विशिष्ट बग दोबारा नहीं होगा। पूरा नाम "गैर-प्रतिगमन परीक्षण" है। यह एक आवेदन को बदलने से पहले किया गया परीक्षण भी हो सकता है ताकि यह सुनिश्चित हो सके कि आवेदन समान परिणाम प्रदान करता है।

इसमें, मैं जोड़ूंगा:

  • स्वीकृति परीक्षण : परीक्षण करें कि सुविधा या उपयोग का मामला सही तरीके से लागू किया गया है। यह एक एकीकरण परीक्षण के समान है, लेकिन इसमें शामिल घटकों के बजाय प्रदान करने के लिए उपयोग के मामले पर ध्यान केंद्रित किया गया है।

  • सिस्टम टेस्ट : एक सिस्टम को ब्लैक बॉक्स के रूप में टेस्ट करता है। अन्य प्रणालियों पर निर्भरता अक्सर परीक्षण के दौरान मॉकडाउन या स्टब्ड होती है (अन्यथा यह एक एकीकरण परीक्षण की अधिकता होगी)।

  • प्री-फ़्लाइट जाँच : उत्पादन-जैसे वातावरण में दोहराए जाने वाले टेस्ट, 'मेरी मशीन पर निर्माण' सिंड्रोम को कम करने के लिए। अक्सर पर्यावरण जैसे उत्पादन में एक स्वीकृति या धूम्रपान परीक्षण करके इसका एहसास होता है।


250
धुआँ परीक्षण एक सदी से इलेक्ट्रॉनिक्स की भविष्यवाणी करता है और नलसाजी से आता है, जब पाइप की एक प्रणाली एक वास्तविक धुएं से भर जाती थी और फिर नेत्रहीन जांच की जाती थी। यदि यह धूम्रपान करता है, तो यह लीक था।
SnakE

2
प्रतिगमन परीक्षण का उपयोग केवल बग फिक्स नहीं, बल्कि सुविधा परिवर्तन के लिए भी किया जाता है। नीचे निकिता का जवाब एक अधिक व्यापक परिभाषा है।
BobRodes

25
@AndyM 'स्मोक टेस्ट' की पृष्ठभूमि गलत है। IIRC यह प्लंबिंग से आता है, जहाँ इसके निर्माण के बाद पाइप की प्रणाली में धुआं डाला जाता है (और इससे पहले कि यह पानी की आपूर्ति से जुड़ा हो)। यदि कोई धुआं निकलता है, तो पाइप ठीक से सील नहीं किए जाते हैं। यह वास्तव में पानी के प्रवाह को कम करने की तुलना में कम हानिकारक है और देखें कि क्या कोई पोखर उत्पन्न होता है (संभवतः प्रक्रिया में दीवारों / चिनाई को नुकसान पहुंचाता है)। यह एक सकल सन्निकटन है कि प्रणाली भयावह रूप से विफल नहीं होगी। एक देव प्रक्रिया हो सकती है: "बिल्ड" पारित हो गया? => "स्मोक टेस्ट" पास हुआ? => "परीक्षण स्वीकार" पारित => विस्तृत परीक्षण के लिए क्यूए टीम के लिए।
क्रिस्चियन डियाकोन्सु

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

2
@ दादा सनिटी परीक्षण और धूम्रपान परीक्षण समान नहीं हैं। निर्माण के बाद धुआँ परीक्षण को साफ़ करने के लिए सनिटी परीक्षण किया जाता है और क्यूए टीम द्वारा आगे के परीक्षण के लिए स्वीकार कर लिया गया है, पवित्रता परीक्षण महीन विवरण के साथ प्रमुख कार्यक्षमता की जाँच करता है।
Bharat

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

2
रिग्रेशन टेस्ट की परिभाषा वास्तव में यह नहीं है कि यह कैसा है। @ डड्डा इसे सही ढंग से परिभाषित करता है।
रॉबर्ट कोरिटनिक

इंटीग्रेशन टेस्ट की परिभाषा निश्चित रूप से फजी है। उदाहरण के लिए यहां पर stackoverflow.com/a/4904533/32453 यह आपके कोड के कई इंटरैक्शन का परीक्षण करने के रूप में परिभाषित किया गया है, जरूरी नहीं कि आपको वास्तविक DB (बाहरी संसाधन) की आवश्यकता हो ... हालांकि कुछ लोग इसे आपके द्वारा वर्णित तरीके से परिभाषित करते हैं। ... आह शब्दावली। (मैं कुछ हद तक पूर्व परिभाषा को पसंद करता हूं,
एफडब्ल्यूआईडब्ल्यू

कृपया मेरा प्रश्न देखें: stackoverflow.com/questions/61711739/…
मिल्ड सलामी

यह शीर्षक का उत्तर देता है, लेकिन पिछले दो प्रकार के परीक्षणों के लिए उपकरण के बारे में नहीं , धूम्रपान परीक्षण या प्रतिगमन परीक्षण के लिए
पीटर मोर्टेंसन

90

सभी की अलग-अलग परिभाषाएँ होंगी, और अक्सर ग्रे क्षेत्र होते हैं। तथापि:

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

इकाई-परीक्षणों के संबंध में आप अपने एकीकरण परीक्षण कैसे करते हैं? यदि myprj मुख्य परियोजना निर्देशिका है, और mypkgइसके अंतर्गत स्थित है myprj, तो मेरे पास इकाई परीक्षण स्थित हैं myprj/tests/test_module1.py, और मेरा पैकेज नीचे स्थित है myprj/mypkg। यह यूनिट परीक्षणों के लिए बहुत अच्छा काम करता है, लेकिन मुझे आश्चर्य है कि अगर कोई सम्मेलन है, तो मुझे इस बात का पालन करना चाहिए कि एकीकरण परीक्षण कहां पर रहने चाहिए?
अल्फा_989

1
@ अल्फ़ा_989: मुझे नहीं पता कि सम्मेलन पायथन के लिए क्या होगा। .NET में वर्तमान में तीन अलग-अलग परियोजनाओं में उत्पादन कोड, यूनिट परीक्षण और एकीकरण परीक्षण हैं, एक-दूसरे के साथी हैं - लेकिन वैकल्पिक विकल्प भी बहुत हैं।
जॉन स्कीट

ठीक है धन्यवाद। मैं एक और अजगर परियोजना को देखने के अलावा मानक सिफारिश पा सकता हूं। लेकिन मैं तुम्हारा पीछा करूंगा ..
अल्फा_989

कृपया मेरा प्रश्न देखें: stackoverflow.com/questions/61711739/…
मिल्ड सलामी

@miladsalimi: कृपया किसी अन्य प्रश्न पर ध्यान देने के लिए असंबंधित टिप्पणियाँ न जोड़ें। मुझे लगता है कि आपने चार अन्य पदों पर काम किया है - कृपया नहीं।
जॉन स्कीट

51

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

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

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

2
क्या साइट को पर्याप्त रूप से पिंग किया जा सकता है - पर्याप्त रूप से, बाइनरी कैनरी नामक एक सेवा मौजूद है।
डेन डैस्कलेस्क्यू

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

1
जिस तरह से मैं अपनी नौकरी पर कैनरी परीक्षण का उपयोग करता हूं वह पहले कुछ ग्राहकों को एक बार में सभी के बजाय एक नए संस्करण में स्थानांतरित करना है। यदि पहले कुछ ग्राहक बच जाते हैं, तो हम बाकी जोड़ सकते हैं। वे पहले कुछ कैनरी हैं।
00prometheus

2
@ 00prometheus, यह बीटा परीक्षण है।
ग्रेगनाश

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

11

सॉफ्टवेयर परीक्षण तकनीकों के लिए सर्वश्रेष्ठ वेबसाइटों में से एक का उत्तर:

सॉफ्टवेयर परीक्षण के प्रकार - पूरी सूची यहाँ क्लिक करें

यहां छवि विवरण दर्ज करें

यह काफी लंबा विवरण है, और मैं इसे यहाँ पेस्ट नहीं करने जा रहा हूँ: लेकिन यह किसी ऐसे व्यक्ति के लिए मददगार हो सकता है जो सभी परीक्षण तकनीकों को जानना चाहता है।


10

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

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

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

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

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


यह उन कुछ उत्तरों में से एक है, जिसमें कुछ टूल शामिल हैं।
पीटर मोर्टेंसन

8

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

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

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

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


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

7

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

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


18
आप कहाँ से उद्धृत कर रहे हैं?
डेरिल

4
इस पृष्ठ के अनुसार , यह उद्धरण विकिपीडिया "सॉफ़्टवेयर परीक्षण" लेख से आया है, हालांकि ऐसा लगता है कि 2010 के बाद से किसी बिंदु पर मार्ग बदल दिया गया है।
Zach Lysobey

वैसे भी, WP एक वैध स्रोत नहीं है। संदर्भित स्रोत वैध हो सकते हैं। WP में संदर्भित कोई भी वैध स्रोत नहीं हैं, न तो लेखों में और न ही चर्चा पृष्ठों पर, जो इस दावे का समर्थन करेंगे कि "गैर-" से कोई फर्क पड़ता है। मैंने परिणामों की सूची में पाठ स्निपेट की तुलना Google पुस्तकों में खोजों से "regression test"और दोनों के लिए की है "non-regression test"। यह ऐसा ही है।
रेनल्ड 62

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

7

मैं सिर्फ इसलिए जोड़ना चाहता था कि हमारे पास इन स्तरों का परीक्षण क्यों है, उदाहरण के साथ उनका वास्तव में क्या मतलब है

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

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

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

ऐतिहासिक रूप से डेवलपर इन परीक्षणों को लिखते हैं क्योंकि वे आमतौर पर उसी प्रोग्रामिंग भाषा में सॉफ़्टवेयर एप्लिकेशन के रूप में लिखे जाते हैं। यूनिट परीक्षण चौखटे जैसे कि JUnit और NUnit (जावा के लिए), MSTest (C # और .NET के लिए) और जैस्मीन / मोचा (जावास्क्रिप्ट के लिए) का उपयोग इस उद्देश्य के लिए किया जाता है।

यूनिट परीक्षणों का सबसे बड़ा लाभ यह है कि वे यूआई के नीचे बहुत तेजी से चलते हैं और हम आवेदन के बारे में त्वरित प्रतिक्रिया प्राप्त कर सकते हैं। इसमें आपके स्वचालित परीक्षणों में से 50% से अधिक शामिल होना चाहिए।

एपीआई / एकीकरण टेस्ट- ये सॉफ्टवेयर सिस्टम के विभिन्न घटकों को एक साथ परखते हैं। घटकों में परीक्षण डेटाबेस, एपीआई (एप्लिकेशन प्रोग्रामिंग इंटरफ़ेस), 3 पार्टी उपकरण और सेवाएं शामिल हो सकती हैं।

उदाहरण के लिए - ऊपर हमारे कैलकुलेटर उदाहरण में, वेब एप्लिकेशन मानों को संग्रहीत करने के लिए एक डेटाबेस का उपयोग कर सकता है, कुछ सर्वर साइड सत्यापन करने के लिए एपीआई का उपयोग कर सकता है और इसे अलग-अलग उपलब्ध कराने के लिए क्लाउड पर परिणाम प्रकाशित करने के लिए एक 3 पार्टी टूल / सेवा का उपयोग कर सकता है। प्लेटफार्मों।

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

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

UI टेस्ट- अंत में, हमारे पास परीक्षण हैं जो एप्लिकेशन के UI को मान्य करते हैं। इन परीक्षणों को आमतौर पर आवेदन के माध्यम से प्रवाह के अंत परीक्षण के लिए लिखा जाता है।

उदाहरण के लिए - कैलकुलेटर एप्लिकेशन में, एंड टू फ्लो का अंत हो सकता है, ब्राउज़र को खोलना-> कैलकुलेटर एप्लिकेशन को एंटर करना url -> यूजरनेम / पासवर्ड के साथ लॉग इन करना -> कैलकुलेटर एप्लिकेशन को खोलना -> कैलकुलेटर पर कुछ ऑपरेशन करना -> यूआई से उन परिणामों की पुष्टि -> आवेदन से बाहर लॉगिंग। यह एक अंत से अंत प्रवाह हो सकता है जो UI स्वचालन के लिए एक अच्छा उम्मीदवार होगा।

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

यूआई परीक्षणों की सबसे बड़ी सीमा इकाई और एपीआई स्तर परीक्षणों की तुलना में अपेक्षाकृत धीमी है। तो, इसमें समग्र स्वचालित परीक्षणों का केवल 10-20% शामिल होना चाहिए।

अगले दो प्रकार के परीक्षण आपके प्रोजेक्ट के आधार पर भिन्न हो सकते हैं लेकिन विचार यह है कि-

स्मोक टेस्ट

यह परीक्षण के उपरोक्त 3 स्तरों का एक संयोजन हो सकता है। विचार यह है कि इसे हर कोड जांच के दौरान चलाया जाए और यह सुनिश्चित किया जाए कि सिस्टम की महत्वपूर्ण कार्यक्षमताएं अभी भी अपेक्षित रूप से काम कर रही हैं; नए कोड परिवर्तन के बाद मर्ज किए गए हैं। विफलताओं पर तेजी से प्रतिक्रिया पाने के लिए उन्हें आमतौर पर 5 - 10 मिनट तक दौड़ने की आवश्यकता होती है

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

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


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

5

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

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

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

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


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

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

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

3

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

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

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

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


यह इसी स्टैक ओवरफ्लो प्रश्न के उत्तर के एक और उत्तर से चार से अधिक वर्षों पहले पोस्ट किए गए थोक है ।
पीटर मोर्टेंसन

3

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


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

1
यह एक टिप्पणी होना चाहिए (या उल्लेखित परीक्षण के प्रकार चार श्रेणियों में से एक में गिर जाता है)।
पीटर मोर्टेंसन

3

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

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

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

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

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

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

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

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

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

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

एक नए निर्माण के बाद यह सुनिश्चित करने के लिए कि आप अधिक महंगे परीक्षण चला सकते हैं या नहीं, यह सुनिश्चित करने के लिए कि वे नए तैनात वातावरण में ठीक से आवेदन कर रहे हैं या नहीं, परिनियोजन के ठीक बाद धुआँ परीक्षण उपयोगी हो सकता है।

स्रोत: https://www.atlassian.com/continuous-delivery/software-testing/types-of-sire-testing


यहां स्मोक परीक्षण की परिभाषा काफी खराब है। किसी भी निम्न स्तर की परीक्षा एक 'बुनियादी परीक्षण है जो आवेदन की बुनियादी कार्यक्षमता की जांच कर सकती है'। इस परिभाषा के लिए सबसे अच्छा उम्मीदवार इकाई परीक्षण है। एक इकाई परीक्षण आवेदन की एक इकाई का परीक्षण करता है (जैसा कि नाम से पता चलता है) और एक इकाई वास्तव में एक बुनियादी फ़ंक्शनलिटी (कार्यक्षमता की परिभाषा के आधार पर) है। सबसे अच्छी परिभाषा @ddaa द्वारा प्रदान की गई प्रतीत होती है
yerlilbilgin

2

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

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

धुआँ परीक्षण: उच्च-स्तरीय परीक्षण के लिए सिस्टम को सत्यापित करने के लिए परीक्षक ने प्रदर्शन किया और परिवर्तन या कोड लाइव होने से पहले शो स्टॉपर बग का पता लगाने की कोशिश की।

प्रतिगमन परीक्षण: नई वृद्धि या प्रणाली में परिवर्तन के लिए प्रणाली में लागू परिवर्तनों के कारण परीक्षक ने मौजूदा कार्यक्षमता के सत्यापन के लिए प्रतिगमन किया।


क्या वास्तविक विकास करने से पहले हमें परीक्षा नहीं देनी है?
विन शहरदार

@VinShahrdar, क्या आप यूनिट परीक्षण के बारे में बात कर रहे हैं?
क्रुणाल

हाँ। मैं आमतौर पर उत्पादन कोड लिखने से पहले अपनी इकाई परीक्षण बनाता हूं। आप इसे कैसे करना चाहते हैं, सही है?
विन शाहदर

1
हाँ .. लेकिन इकाई परीक्षण QA से पहले भी डेवलपर द्वारा सामना किया जाता है। क्यूए सर्वर देव पर कोड तैनात करने से पहले हमेशा यूनिट परीक्षण करें
क्रुनाल

2

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

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

एकीकरण जांच:

इस प्रकार का परीक्षण इकाई परीक्षण के बाद संभव है जब सभी / कुछ घटकों को एकीकृत किया जाता है। इस प्रकार के परीक्षण से यह सुनिश्चित हो जाएगा कि जब घटक एकीकृत होते हैं, तो क्या वे एक-दूसरे की कार्य क्षमता या कार्यक्षमता को प्रभावित करते हैं?

धुआँ परीक्षण

इस प्रकार का परीक्षण आखिरी में किया जाता है जब सिस्टम सफलतापूर्वक एकीकृत होता है और उत्पादन सर्वर पर जाने के लिए तैयार होता है।

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

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

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


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

2

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

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

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

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


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

1

कुछ अच्छे उत्तर पहले से ही हैं, लेकिन मैं उन्हें और परिष्कृत करना चाहूंगा:

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

तो स्पष्ट रूप से इकाई परीक्षण यहां केवल सफेद बॉक्स परीक्षण है।

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

5
यूनिट परीक्षण आवश्यक रूप से सफेद-बॉक्स नहीं है। मैंने जो सर्वश्रेष्ठ इकाई परीक्षण देखे हैं उनमें से कुछ अनिवार्य रूप से आवश्यकताओं से तैयार किए गए उदाहरण हैं, किसी भी कार्यान्वयन अवधारणाओं से स्वतंत्र रूप से अपेक्षित परिणाम निर्दिष्ट करते हैं।
joel.neely

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

1
मुझे इससे असहमत होना पड़ेगा। एक डिजाइन पैटर्न कार्यान्वयन का परीक्षण एकीकरण परीक्षण का एक रूप है और सफेद बॉक्स परीक्षण है।
हज़ोक

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

1

धुआँ परीक्षण यहाँ पहले से ही समझाया गया है और सरल है। एकीकरण परीक्षण के तहत प्रतिगमन परीक्षण आते हैं।

स्वचालित परीक्षणों को सिर्फ दो में विभाजित किया जा सकता है।

यूनिट परीक्षण और एकीकरण परीक्षण (यह सब मायने रखता है)

मैं सभी परीक्षणों जैसे कि एकीकरण परीक्षण, कार्यात्मक परीक्षण, प्रतिगमन परीक्षण, UI परीक्षण, आदि और इकाई परीक्षण "लघु परीक्षण" के लिए "लॉन्ग टेस्ट" (LT) वाक्यांश का उपयोग करूंगा।

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

और यह इकाई परीक्षण पर एकीकरण परीक्षण (लंबे परीक्षण) के लाभों पर चर्चा करने वाला एक शानदार लेख है ।


1

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

स्मोक टेस्टिंग: एक प्रकार का परीक्षण है जो यह निर्णय लेने के लिए किया जाता है कि बिल्ड और सॉफ़्टवेयर को क्यूए परीक्षण के लिए स्वीकार करना है या नहीं।

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