स्मोक टेस्टिंग क्या है?
⚡ स्मार्ट सारांश
स्मोक टेस्टिंग यह निर्धारित करती है कि कोई नया बिल्ड परीक्षण के लिए पर्याप्त रूप से स्थिर है या नहीं। यह पृष्ठ बताता है कि इसे कब चलाना है, इसे कौन चलाता है, यह चक्र कैसे काम करता है, और स्वचालित सूट आधुनिक डिलीवरी पाइपलाइनों को कैसे नियंत्रित करते हैं।

स्मोक टेस्टिंग क्या है?
धुआँ परीक्षण एक सॉफ्टवेयर परीक्षण प्रक्रिया है जो यह निर्धारित करती है कि तैनात सॉफ्टवेयर बिल्ड स्थिर है या नहीं। स्मोक टेस्टिंग QA टीम के लिए आगे के सॉफ्टवेयर परीक्षण के साथ आगे बढ़ने के लिए एक पुष्टि है। इसमें सॉफ्टवेयर कार्यक्षमताओं का परीक्षण करने के लिए प्रत्येक बिल्ड पर चलाए जाने वाले परीक्षणों का एक न्यूनतम सेट शामिल है। स्मोक टेस्टिंग को "बिल्ड वेरिफिकेशन टेस्टिंग" या "कॉन्फिडेंस टेस्टिंग" के रूप में भी जाना जाता है।
सरल शब्दों में कहें तो, स्मोक टेस्टिंग का मतलब है यह सत्यापित करना कि महत्वपूर्ण विशेषताएं ठीक से काम कर रही हैं और परीक्षण किए जा रहे बिल्ड में कोई बड़ी खामी नहीं है। यह प्रमुख कार्यक्षमता का एक छोटा और त्वरित रिग्रेशन टेस्ट है। इससे यह निर्धारित करने में मदद मिलती है कि क्या बिल्ड में कोई खामी है जिससे आगे का परीक्षण करना समय और संसाधनों की बर्बादी हो।
तुलना धूम्रपान बनाम विवेक परीक्षण
हम धुआँ परीक्षण क्यों करते हैं?
सॉफ्टवेयर विकास में स्मोक टेस्टिंग का महत्वपूर्ण योगदान होता है क्योंकि यह प्रारंभिक चरणों में ही सिस्टम की शुद्धता सुनिश्चित करता है। इससे परीक्षण में लगने वाला समय बचता है। स्मोक टेस्टिंग पूरी होने के बाद ही हम फंक्शनल टेस्टिंग शुरू करते हैं।
- निर्माण के दौरान सामने आने वाली सभी प्रमुख खामियों की पहचान स्मोक टेस्टिंग के माध्यम से की जाएगी।
- धुआँ परीक्षण की सहायता से, अधिकांश दोषों की पहचान प्रारंभिक चरणों में ही हो जाती है। सॉफ्टवेयर विकास.
- धूम्र परीक्षण से हम प्रमुख दोषों का पता लगाना और सुधार करना आसान बनाते हैं।
- स्मोक टेस्टिंग के द्वारा, QA टीम अनुप्रयोग की कार्यक्षमता में उन दोषों का पता लगा सकती है जो नए कोड द्वारा सामने आ सकते हैं।
- धूम्र परीक्षण से प्रमुख गम्भीरता वाले दोषों का पता चलता है।
उदाहरण 1: लॉगिंग विंडो: सबमिट बटन पर क्लिक करने पर वैध उपयोगकर्ता नाम और पासवर्ड के साथ अगली विंडो पर जाने में सक्षम।
उदाहरण 2: उपयोगकर्ता वेबपेज से साइन आउट करने में असमर्थ है।
हम धूम्रपान परीक्षण कब करते हैं?
ये लाभ तभी मिलते हैं जब जांच सही समय पर शुरू की जाती है। स्मोक टेस्टिंग तब की जाती है जब सॉफ्टवेयर की नई कार्यक्षमताओं को विकसित किया जाता है और QA/स्टेजिंग वातावरण में तैनात मौजूदा बिल्ड के साथ एकीकृत किया जाता है। यह सुनिश्चित करता है कि सभी महत्वपूर्ण कार्यक्षमताएं सही ढंग से काम कर रही हैं या नहीं। नीचे दिया गया आरेख दर्शाता है कि स्मोक टेस्टिंग शुरू होने से पहले बिल्ड QA वातावरण तक कैसे पहुंचता है।
इस परीक्षण पद्धति में, विकास टीम बिल्ड को QA में तैनात करती है। परीक्षणकर्ताओं द्वारा बिल्ड की महत्वपूर्ण कार्यक्षमताओं के विरुद्ध कुछ चुनिंदा परीक्षण मामलों को चलाया जाता है। ये परीक्षण मामले बिल्ड में मौजूद त्रुटियों को उजागर करने के लिए डिज़ाइन किए गए हैं। यदि ये परीक्षण सफल होते हैं, तो QA टीम आगे बढ़ती है। क्रियात्मक परीक्षण.
कोई भी विफलता सिस्टम को वापस डेवलपमेंट टीम को सौंपने की आवश्यकता को इंगित करती है। जब भी बिल्ड में कोई बदलाव होता है, तो हम स्थिरता सुनिश्चित करने के लिए स्मोक टेस्टिंग करते हैं।
उदाहरण: -लॉगिन विंडो में नया पंजीकरण बटन जोड़ा गया है और नए कोड के साथ बिल्ड को तैनात किया गया है। हम नए बिल्ड पर स्मोक टेस्टिंग करते हैं।
स्मोक टेस्ट से बिल्ड को आगे की औपचारिक टेस्टिंग के लिए योग्य घोषित किया जाता है और इसका उद्देश्य सिस्टम की स्थिरता और आवश्यकताओं के अनुरूपता को प्रदर्शित करना है। इसका मुख्य लक्ष्य बड़ी समस्याओं का जल्द पता लगाना है। बिल्ड में वे सभी डेटा फ़ाइलें, लाइब्रेरी, पुन: उपयोग योग्य मॉड्यूल और इंजीनियर किए गए घटक शामिल होते हैं जो एक या अधिक उत्पाद कार्यों को लागू करने के लिए आवश्यक होते हैं।
यदि हम धुआँ परीक्षण नहीं करते हैं तो क्या होगा?
यदि हम प्रारंभिक चरणों में धुआँ परीक्षण नहीं करते हैं, तो बाद के चरणों में दोष सामने आ सकते हैं, जो कि महंगा साबित हो सकता है। दोष बाद के चरणों में पाई जाने वाली कोई भी समस्या एक ऐसी बाधा बन सकती है जो डिलिवरेबल्स की रिलीज को प्रभावित कर सकती है।
धुंआ परीक्षण कौन करेगा?
QA वातावरण में बिल्ड जारी करने के बाद, QA इंजीनियरों/QA लीड द्वारा स्मोक टेस्टिंग की जाती है। जब भी कोई नया बिल्ड होता है, तो QA टीम स्मोक टेस्टिंग करने के लिए एप्लिकेशन में प्रमुख कार्यक्षमता निर्धारित करती है। QA टीम परीक्षण के तहत एप्लिकेशन में शोस्टॉपर्स की जांच करती है।
धुंआ परीक्षण कैसे करें?
स्मोक टेस्टिंग आमतौर पर मैन्युअल रूप से की जाती है, हालांकि इसे ऑटोमेशन के माध्यम से भी पूरा किया जा सकता है। यह संगठन से संगठन में भिन्न हो सकता है।
मैनुअल धुआँ परीक्षण
स्मोक टेस्टिंग यह सुनिश्चित करने के लिए की जाती है कि महत्वपूर्ण पाथ का संचालन अपेक्षा के अनुरूप हो और कार्यप्रणाली में कोई बाधा न आए। उच्च प्राथमिकता वाले कार्यात्मक परीक्षण मामलों को चुना जाता है और सिस्टम में महत्वपूर्ण दोषों का पता लगाने के लिए उनका परीक्षण किया जाता है। यदि परीक्षण सफल होता है, तो हम कार्यात्मक परीक्षण जारी रखते हैं। यदि परीक्षण असफल होता है, तो बिल्ड को अस्वीकार कर दिया जाता है और सुधार के लिए विकास टीम को वापस भेज दिया जाता है।
QA टीम नए बिल्ड वर्जन के साथ स्मोक टेस्टिंग फिर से शुरू करती है। स्मोक टेस्टिंग नए बिल्ड पर की जाती है और सिस्टम की सटीकता बनाए रखने के लिए इसे पुराने बिल्ड के साथ एकीकृत किया जाता है। स्मोक टेस्टिंग करने से पहले, QA टीम को सही बिल्ड वर्जन की जांच करनी चाहिए।
स्वचालन द्वारा धुएँ का परीक्षण
स्वचालन परीक्षण के लिये उपयोग किया जाता है प्रतिगमन परीक्षणहालांकि, हम स्मोक टेस्ट के लिए स्वचालित टेस्ट केस का एक सेट भी चला सकते हैं। स्वचालित परीक्षणों की मदद से, डेवलपर किसी भी नए बिल्ड के परिनियोजन के लिए तैयार होते ही तुरंत बिल्ड की जांच कर सकते हैं।
जब भी नया सॉफ़्टवेयर बिल्ड तैनात किया जाता है, तो मैन्युअल रूप से बार-बार परीक्षण करने के बजाय, बिल्ड के विरुद्ध रिकॉर्ड किए गए स्मोक टेस्ट केस निष्पादित किए जाते हैं। यह सत्यापित करता है कि क्या प्रमुख कार्यक्षमताएँ अभी भी ठीक से काम कर रही हैं। यदि परीक्षण विफल हो जाता है, तो वे बिल्ड को सही कर सकते हैं और बिल्ड को तुरंत फिर से तैनात कर सकते हैं। इससे हम समय बचा सकते हैं और QA वातावरण में गुणवत्तापूर्ण बिल्ड सुनिश्चित कर सकते हैं।
एक स्वचालित उपकरण का उपयोग करते हुए, परीक्षण इंजीनियर सॉफ्टवेयर निर्माण में निष्पादित सभी मैन्युअल चरणों को रिकॉर्ड करता है।
धुआँ परीक्षण चक्र
नीचे दिया गया फ्लो चार्ट स्मोक टेस्टिंग की प्रक्रिया को दर्शाता है। बिल्ड को QA में डिप्लॉय करने और स्मोक टेस्ट पास होने के बाद, हम फंक्शनल टेस्टिंग शुरू करते हैं। यदि स्मोक टेस्ट विफल हो जाता है, तो हम समस्या ठीक होने तक टेस्टिंग रोक देते हैं।
स्मोक टेस्ट केस डिजाइन करने के लिए सर्वोत्तम अभ्यास
चक्र को जानना एक बात है; उसे बनाए रखनाping इसकी विश्वसनीयता का आधार एक अलग पहलू है। एक स्मोकिंग सूट तभी अपनी जगह बना पाता है जब वह कॉम्पैक्ट, तेज़ और बार-बार इस्तेमाल करने योग्य हो।
- सर्वप्रथम महत्वपूर्ण मार्गों का मानचित्रण करें: उत्पाद को व्यावसायिक रूप से उपयोगी बनाने वाले वर्कफ़्लो की सूची बनाएं, जैसे लॉगिन, खोज, डेटा प्रविष्टि, भुगतान और लॉगआउट। यदि इनमें से कोई भी कार्य बाधित होता है, तो परीक्षक के लिए बिल्ड का कोई महत्व नहीं रह जाता।
- सुइट को उथला लेकिन चौड़ा रखें: प्रत्येक प्रमुख मॉड्यूल को गहराई से समझने के बजाय, उसे एक बार अवश्य ही देखें। सीमा मान, नकारात्मक डेटा और त्रुटि संदेशों की शब्दावली कार्यात्मक परीक्षण का हिस्सा हैं, यहाँ नहीं।
- निष्पादन समय को सीमित करें: अधिकांश टीमें दौड़ को दस से पंद्रह मिनट तक सीमित रखती हैं और सुइट को लगभग बीस से तीस मिनट तक ही सीमित रखती हैं। परीक्षण के मामलोंएक घंटे का समय लेने वाला रन गेट होने के बजाय एक अड़चन बन जाता है।
- प्रत्येक बिल्ड पर समान केस चलाएँ: संगति आपको किसी विफलता का कारण बदले हुए परीक्षण चयन के बजाय कोड को बताने की अनुमति देती है।
- अस्थिर और निर्भरता-प्रधान मामलों को हटाएँ: बिना किसी कोड परिवर्तन के पास और फेल होने वाला मामला गेट पर विश्वास को नष्ट कर देता है। अस्थिर तृतीय-पक्ष सेवाओं को स्टब या मॉक करें जहां परीक्षण स्वचालन ढांचा अनुमति देता है।
- एक स्पष्ट निर्णय दर्ज करें: प्रत्येक मामले में एक ही अपेक्षित परिणाम होना चाहिए ताकि निर्माण को बिना किसी बहस के स्वीकार या अस्वीकार किया जा सके।
- इस बिल्ड के साथ सूट का संस्करण बदलें: स्मोक केस को एप्लिकेशन कोड के समान रिपॉजिटरी में स्टोर करें ताकि गेट हमेशा परीक्षण के तहत रिलीज से मेल खाए।
Revप्रत्येक रिलीज़ के साथ सूट की समीक्षा करें: उन सुविधाओं के लिए केस हटा दें जिनका अब कोई महत्व नहीं है और नए महत्वपूर्ण वर्कफ़्लो जोड़ें।
CI/CD पाइपलाइनों में स्मोक टेस्टिंग
इस तरह से डिजाइन किया गया सूट इतना सस्ता है कि इसे हर कमिट पर चलाया जा सकता है, जो कि आधुनिक डिलीवरी की मांग है। निरंतर एकीकरण सर्वर जैसे Jenkins यह कोड को कंपाइल करता है, उसे स्टेजिंग एनवायरनमेंट में डिप्लॉय करता है, और फिर पहले ऑटोमेटेड चरण के रूप में स्मोक सूट को ट्रिगर करता है। ग्रीन रन आर्टिफैक्ट को फंक्शनल और रिग्रेशन चरणों में प्रमोट करता है, जबकि रेड रन पाइपलाइन को विफल कर देता है और कुछ ही मिनटों में कमिट करने वाले डेवलपर को सूचित कर देता है।
दो तरह के परीक्षण आम हैं। प्री-मर्ज रन हर पुल रिक्वेस्ट को वैलिडेट करके मेन ब्रांच की सुरक्षा करता है, और पोस्ट-डिप्लॉयमेंट रन यह सुनिश्चित करता है कि डिप्लॉय किया गया एनवायरनमेंट पहुंच योग्य है और सही ढंग से कॉन्फ़िगर किया गया है। कंटीन्यूअस डिप्लॉयमेंट का अभ्यास करने वाली टीमें अक्सर रिलीज़ के तुरंत बाद प्रोडक्शन के लिए एक तीसरा, संक्षिप्त परीक्षण भी करती हैं।
क्योंकि पाइपलाइन दिन में कई बार परीक्षण प्रक्रिया को निष्पादित करती है, इसलिए परीक्षण के मामले गैर-अंतःक्रियात्मक, स्वतः-सफाई करने वाले और स्वतंत्र होने चाहिए। कोई भी मामला जो मानवीय निर्णय की प्रतीक्षा करता है या परीक्षण डेटा छोड़ देता है, पाइपलाइन को रोक देगा।
धुआँ परीक्षण के लाभ
यहां स्मोक टेस्टिंग के कुछ लाभ सूचीबद्ध हैं।
- इसे करना आसान है और यह तेजी से चलता है।
- गंभीर त्रुटियों और दोषों का प्रारंभिक चरणों में आसानी से पता लगाया जा सकता है और उन्हें ठीक किया जा सकता है।
- सिस्टम की गुणवत्ता में सुधार करता है
- जोखिम कम करता है
- प्रगति का आकलन करना आसान है।
- परीक्षण प्रयास और समय बचाता है
- एकीकरण जोखिम को न्यूनतम करता है
⚠ ध्यान देने योग्य सीमा: एक सामान्य स्मोक टेस्ट केवल यह बताता है कि बिल्ड टेस्ट करने योग्य है। यह मुख्य कार्यक्षमता को सतही तौर पर प्रभावित करता है, इसलिए मामूली दोष, विशेष परिस्थितियाँ और शायद ही कभी उपयोग होने वाली सुविधाएँ कार्यात्मक और प्रतिगमन परीक्षण होने तक छिपी रहती हैं। हरे रंग के स्मोक टेस्ट को कभी भी यह संकेत न मानें कि बिल्ड दोष रहित है।
धुआँ परीक्षण बनाम विवेक परीक्षण बनाम प्रतिगमन परीक्षण
ये तीनों ही कोड में बदलाव के बाद काम करते हैं, इसीलिए अक्सर इनमें भ्रम हो जाता है। इनका दायरा, गहराई और हर एक द्वारा हल किए जाने वाले प्रश्न अलग-अलग होते हैं।
QA को बिल्ड जारी करने से पहले एप्लिकेशन की शुद्धता सुनिश्चित करने के लिए डेवलपमेंट एनवायरनमेंट में कोड पर किए गए परीक्षण को सैनिटी टेस्टिंग कहा जाता है। यह एक ऐसी प्रक्रिया है जो यह सत्यापित करती है कि विकास के अधीन एप्लिकेशन अपनी बुनियादी कार्यात्मक आवश्यकताओं को पूरा करता है।
विवेक परीक्षण विकास चरण के पूरा होने का निर्धारण करता है और यह निर्णय लेता है कि सॉफ्टवेयर उत्पाद को आगे के परीक्षण चरण के लिए पास किया जाए या नहीं।
| आधार | धुआँ परीक्षण | मानसिक स्वास्थ्य परीक्षण | प्रतिगमन परीक्षण |
|---|---|---|---|
| विस्तार | चौड़ा और उथला | संकरा और गहरा | चौड़ा और गहरा |
| प्रश्न का उत्तर दिया गया | क्या यह बिल्ड परीक्षण के लिए पर्याप्त रूप से स्थिर है? | क्या यह विशेष समाधान काम करता है? | क्या कोई ऐसी चीज टूट गई जो पहले ठीक से काम करती थी? |
| अनुक्रम | सबसे पहले, हर बिल्ड पर | धुआँ परीक्षण पास होने के बाद | विवेक परीक्षण के बाद |
| विशिष्ट अवधि | 10 से 15 मिनट तक | 30 से 60 मिनट तक | Hours आज का |
| स्वचालन फिट | बहुत ऊँचा | मध्यम, अक्सर मैन्युअल | बहुत ऊँचा |
व्यवहार में वे क्रमानुसार चलते हैं: बिल्ड को स्वीकार करने के लिए स्मोक टेस्टिंग, डिलीवर किए गए बदलाव को सत्यापित करने के लिए सैनिटी टेस्टिंग, और जब शेड्यूल अनुमति देता है तो रिग्रेशन टेस्टिंग।
नमूना धूम्रपान परीक्षण मामले उदाहरण
नीचे दी गई तालिका में एक संक्षिप्त स्मोक सूट का दस्तावेजीकरण किया गया है, जिसमें प्रत्येक क्रिटिकल पाथ के लिए एक पंक्ति है।
| टी.आईडी | परीक्षण परिदृश्य | वर्णन | परीक्षण चरण | अपेक्षित परिणाम | वास्तविक परिणाम | स्थिति |
|---|---|---|---|---|---|---|
| 1 | वैध लॉगिन क्रेडेंशियल | वेब एप्लिकेशन की लॉगिन कार्यक्षमता का परीक्षण करें ताकि यह सुनिश्चित हो सके कि पंजीकृत उपयोगकर्ता को उपयोगकर्ता नाम और पासवर्ड के साथ लॉगिन करने की अनुमति है | 1.एप्लिकेशन लॉन्च करें 2.लॉगिन पेज पर जाएँ 3.मान्य उपयोगकर्ता नाम दर्ज करें 4.मान्य पासवर्ड दर्ज करें 5.लॉगिन बटन पर क्लिक करें |
लॉगिन सफल होना चाहिए | जैसा सोचा था | पास |
| 2 | आइटम कार्यक्षमता जोड़ना | कार्ट में आइटम जोड़ने में सक्षम | 1.श्रेणियों की सूची चुनें 2.आइटम को कार्ट में जोड़ें |
आइटम को कार्ट में जोड़ दिया जाना चाहिए | आइटम कार्ट में नहीं जोड़ा जा रहा है | विफल |
| 3 | साइन आउट कार्यक्षमता | साइन आउट कार्यक्षमता की जाँच करें | 1. साइन आउट बटन का चयन करें | उपयोगकर्ता को साइन आउट करने में सक्षम होना चाहिए। | उपयोगकर्ता साइन आउट करने में सक्षम नहीं है | विफल |


