मोबाइल डेवलपमेंट में Smoke Test — यह क्या है, कार्य और कैसे उपयोग होता है

लेखक: IT Sectr प्रकाशित: 2026-04-08 पढ़ने का समय: 9 मिनट

Smoke Test (स्मोक टेस्टिंग) जाँचों का एक न्यूनतम सेट है जो मोबाइल एप्लिकेशन बिल्ड के बाद यह पुष्टि करने के लिए किया जाता है कि मुख्य कार्य काम कर रहे हैं। Smoke Test पूर्ण रिग्रेशन चक्र चलाए बिना अस्थिर बिल्ड को जल्दी से खारिज करने की अनुमति देता है। Google Testing Blog (2024) के अनुसार, Smoke Test डेवलपर के लिए फीडबैक समय को 2–3 घंटे से घटाकर 10–15 मिनट कर देता है। Smoke Test CI/CD पाइपलाइन में गुणवत्ता का पहला फिल्टर है जो टूटे हुए बिल्ड को अगले चरण में जाने से रोकता है।

मुख्य बिंदु

  • Smoke Test — अस्थिर बिल्ड को खारिज करने के लिए एप्लिकेशन के मुख्य कार्यों की त्वरित जाँच।
  • कार्य — उपयोगकर्ता के क्रिटिकल पथ (लॉगिन, फीड, प्रोफाइल) की कार्यशीलता की पुष्टि करना।
  • Smoke Test रिग्रेशन टेस्टिंग से पहले किया जाता है और आमतौर पर 5–15 मिनट लेता है।
  • ऑटोमेशन CI/CD में Smoke Test आधुनिक मोबाइल डेवलपमेंट पाइपलाइन का अनिवार्य तत्व है।
  • रिग्रेशन से अंतर — Smoke Test केवल क्रिटिकल पथ की जाँच करता है, रिग्रेशन पूरी कार्यक्षमता को कवर करता है।

Smoke Test क्या है?

Smoke Test त्वरित परीक्षणों का एक सेट है जो गहन विश्लेषण के बिना एप्लिकेशन के मुख्य कार्यों की जाँच करता है। यह शब्द हार्डवेयर इंजीनियरिंग से आया है: यदि कोई उपकरण असेंबली के बाद धुआँ देने लगता है, तो उसे पूर्ण परीक्षण के लिए नहीं भेजा जाता। मोबाइल डेवलपमेंट में, Smoke Test वही कार्य करता है — यह स्पष्ट रूप से अनुपयोगी बिल्ड को छानता है। Microsoft DevOps (2024) के अनुसार, Smoke Test लागू करने से QA टीम तक पहुँचने वाले दोषों की संख्या 40% कम हो जाती है।

Smoke Test हर नए बिल्ड पर चलाया जाता है — Android और iOS दोनों पर। आदर्श रूप में, Smoke Test को 15 मिनट से अधिक नहीं लेना चाहिए और सफल बिल्ड के बाद स्वचालित रूप से शुरू होना चाहिए। पास मापदंड — Smoke Test सेट के 100% परीक्षण सफलतापूर्वक पूरे होने चाहिए। यदि कम से कम एक परीक्षण विफल होता है, तो बिल्ड को अस्थिर चिह्नित किया जाता है और आगे के परीक्षण के लिए नहीं भेजा जाता। Google Testing Blog (2024) के अनुसार, यह दृष्टिकोण उपयोगकर्ताओं तक फीचर डिलीवरी समय को 25% कम करता है।

Smoke Test मैनुअल (5–10 बिंदुओं की चेकलिस्ट) या ऑटोमेटेड हो सकता है। आधुनिक मोबाइल प्रोजेक्ट्स में, CI/CD में निर्मित ऑटोमेटेड Smoke Test को प्राथमिकता दी जाती है। मैनुअल Smoke Test केवल प्रोजेक्ट के शुरुआती चरणों में उचित है जब ऑटोमेशन आर्थिक रूप से व्यवहार्य नहीं है। Bitrise (2025) के अनुसार, 73% मोबाइल डेवलपमेंट टीमें अपने Smoke Test को ऑटोमेट करती हैं।

Smoke Test रिग्रेशन टेस्टिंग से कैसे अलग है?

Smoke Test और रिग्रेशन टेस्टिंग को अक्सर भ्रमित किया जाता है, लेकिन ये अलग-अलग उद्देश्यों वाली अलग-अलग प्रथाएँ हैं। रिग्रेशन टेस्टिंग जाँच करती है कि कोड में बदलावों ने मौजूदा कार्यक्षमता को नहीं तोड़ा है। यह एप्लिकेशन के सभी मॉड्यूल और परिदृश्यों को कवर करती है, जिसमें दुर्लभ और सीमांत मामले शामिल हैं। Smoke Test केवल क्रिटिकल पथ की जाँच करता है — मुख्य परिदृश्य जिनके बिना एप्लिकेशन बेकार है। कवरेज गहराई मुख्य अंतर है: Smoke Test 5–10% कार्यक्षमता को कवर करता है, रिग्रेशन 80–100% को कवर करता है।

दूसरा अंतर निष्पादन समय है। मोबाइल एप्लिकेशन के लिए रिग्रेशन सेट प्रोजेक्ट के आकार और प्लेटफ़ॉर्म की संख्या के आधार पर 2 से 12 घंटे ले सकता है। Smoke Test 5–15 मिनट लेता है। Sauce Labs (2025) के अनुसार, iOS एप्लिकेशन के लिए रिग्रेशन सेट का औसत निष्पादन समय 4.5 घंटे और Android के लिए — 3.2 घंटे है। दोनों प्लेटफ़ॉर्म पर Smoke Test 10–15 मिनट में पूरा हो जाता है।

तीसरा अंतर पाइपलाइन में स्थान है। Smoke Test बिल्ड के तुरंत बाद, रिग्रेशन टेस्टिंग से पहले किया जाता है। यदि Smoke Test विफल होता है, तो रिग्रेशन शुरू नहीं किया जाता — इससे CI/CD संसाधन बचते हैं। पाइपलाइन दक्षता — Smoke Test 30% तक बिल्ड को छानता है जो रिग्रेशन में विफल होते, और बचाए गए संसाधन अन्य कार्यों को समानांतर चलाने के लिए पर्याप्त होते हैं।

पैरामीटरSmoke Testरिग्रेशन टेस्टिंग
उद्देश्यक्रिटिकल पथ की त्वरित जाँचपूर्ण कार्यक्षमता की जाँच
दायरा5–10% परिदृश्य80–100% परिदृश्य
समय5–15 मिनट2–12 घंटे
आवृत्तिहर बिल्ड पररिलीज़ से पहले या दैनिक
CI/CDबिल्ड के बाद, रिग्रेशन से पहलेSmoke Test के बाद

मोबाइल एप्लिकेशन के Smoke Test में क्या शामिल है

एप्लिकेशन लॉन्च

एप्लिकेशन लॉन्च — पहला और सबसे महत्वपूर्ण परीक्षण। एप्लिकेशन को सभी लक्ष्य उपकरणों पर बिना क्रैश के लॉन्च होना चाहिए। Smoke Test कोल्ड स्टार्ट की जाँच करता है: इंस्टॉल → खोलें → पहली स्क्रीन प्रदर्शित करें। यदि एप्लिकेशन लॉन्च पर क्रैश होता है, तो आगे का परीक्षण व्यर्थ है। XCUITest और Espresso 2–3 लाइनों में लॉन्च जाँच को ऑटोमेट करने की अनुमति देते हैं। लॉन्च आर्गुमेंट `-AppleLanguages (ru)` स्टार्टअप पर स्थानीयकरण की जाँच में मदद करता है।

प्रमाणीकरण

प्रमाणीकरण — दूसरा क्रिटिकल परिदृश्य। Smoke Test को जाँचना चाहिए कि लॉगिन फ़ॉर्म प्रदर्शित होता है, इनपुट फ़ील्ड स्पर्श पर प्रतिक्रिया करते हैं, लॉगिन बटन अनुरोध भेजता है और सफल प्रमाणीकरण के बाद एप्लिकेशन मुख्य स्क्रीन पर जाता है। प्रमाणीकरण त्रुटि सभी अन्य कार्यों तक पहुँच को अवरुद्ध करती है, इसलिए इसकी जाँच न्यूनतम सेट में शामिल है। टोकन रिफ्रेश — OAuth 2.0 वाले एप्लिकेशन के लिए अतिरिक्त जाँच।

सामग्री लोडिंग और नेविगेशन

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

CI/CD में Smoke Test ऑटोमेशन

Fastlane — मोबाइल CI/CD को ऑटोमेट करने के लिए मानक उपकरण। Fastlane पर Smoke Test `scan` (XCUITest के लिए) या `gradle` (Espresso के लिए) के माध्यम से चलाया जाता है। Fastlane कई उपकरणों पर समानांतर Smoke Test निष्पादन को कॉन्फ़िगर करने की अनुमति देता है, जिससे कुल समय कम होता है। कॉन्फ़िगरेशन Fastfile में Smoke Test सूट को लक्षित करना और पास थ्रेशोल्ड शामिल है: 100% सफल परीक्षण।

GitHub Actions (2024) ने अंतर्निहित Smoke Test के साथ एक मोबाइल CI/CD टेम्पलेट प्रकाशित किया। टेम्पलेट में तीन चरण शामिल हैं: बिल्ड → Smoke Test → रिग्रेशन। यदि Smoke Test विफल होता है, तो टेम्पलेट स्वचालित रूप से पाइपलाइन समाप्त करता है और Slack या Telegram को सूचना भेजता है। मैट्रिक्स रणनीति एक साथ तीन iOS संस्करणों और पाँच Android मॉडलों पर Smoke Test चलाने में सक्षम बनाती है।

CI/CD में जिम्मेदारी विभाजन: Smoke Test त्वरित प्रतिक्रिया प्रदान करता है, जबकि रिग्रेशन पूर्ण कवरेज प्रदान करता है। Smoke Test को रिग्रेशन की नकल नहीं करनी चाहिए, और इसके विपरीत। Smoke Test की ग्रैनुलरिटी — प्रति क्रिटिकल परिदृश्य एक जाँच। यदि Smoke Test 15 मिनट से अधिक लेता है, तो इसे अनुकूलित करने की आवश्यकता है: अनावश्यक जाँचें हटाएँ या निष्पादन को समानांतर करें।

ruby
# Smoke Test के लिए Fastfile कॉन्फ़िगरेशन
platform :ios do
    lane :smoke do
        scan(
            scheme: 'App',
            devices: ['iPhone 15', 'iPhone SE'],
            testplan: 'SmokeTest',
            output_directory: 'reports/smoke',
            fail_build: true
        )
    end

    lane :regression do
        scan(
            scheme: 'App',
            devices: ['iPhone 15', 'iPhone 14', 'iPhone SE'],
            testplan: 'FullRegression'
        )
    end
end

Smoke Test उपकरण

XCUITest — iOS एप्लिकेशन के UI परीक्षण के लिए Apple का ढाँचा। XCUITest का उपयोग Smoke Tests को ऑटोमेट करने के लिए किया जाता है: एप्लिकेशन लॉन्च करना, UI तत्वों की जाँच करना, उपयोगकर्ता क्रियाओं का अनुकरण करना। Xcode Server या GitHub Actions के साथ संयुक्त, XCUITest हर कमिट पर चलता है। XCTest — यूनिट परीक्षणों के लिए आधार ढाँचा जो तर्क जाँच के लिए XCUITest का पूरक है।

Espresso — Android के UI परीक्षण के लिए Google का ढाँचा। Espresso UI थ्रेड के साथ सिंक्रोनाइज़ होता है और सुनिश्चित करता है कि जाँच शुरू होने से पहले सभी एनिमेशन पूरे हो जाएँ। Espresso `onView(withId(...)).check(matches(...))` के माध्यम से जाँच का समर्थन करता है। Android Test Orchestrator प्रत्येक Smoke Test को एक अलग प्रक्रिया में चलाता है, जो पिछले परीक्षणों को बाद के परीक्षणों को प्रभावित करने से रोकता है।

Detox — React Native के लिए एक ढाँचा जो Smoke Test और ग्रे-बॉक्स परीक्षण का समर्थन करता है। Detox React Native ब्रिज के साथ सिंक्रोनाइज़ होता है और स्वचालित रूप से अतुल्यकालिक संचालन के पूरा होने की प्रतीक्षा करता है। ग्रे-बॉक्स परीक्षण Detox को स्रोत कोड तक सीधी पहुँच के बिना एप्लिकेशन की स्थिति की जाँच करने की अनुमति देता है।

Swift और Kotlin में Smoke Test का उदाहरण

XCUITest iOS के लिए दो जाँचें शामिल करता है: एप्लिकेशन लॉन्च करना और मुख्य स्क्रीन प्रदर्शित करना। परीक्षण `XCUIApplication().launch()` के माध्यम से एप्लिकेशन लॉन्च करता है और जाँचता है कि एक मुख्य तत्व (जैसे `navigationBar`) मौजूद है। यदि एप्लिकेशन लॉन्च पर क्रैश होता है, तो XCTest ढाँचा त्रुटि रिकॉर्ड करता है और परीक्षण FAIL के साथ समाप्त होता है। Smoke Test सामग्री की जाँच नहीं करता — केवल यह कि स्क्रीन खुली।

Espresso Android के लिए Activity लॉन्च करने के लिए `ActivityScenario` और तत्वों की जाँच के लिए `onView` का उपयोग करता है। प्लेटफ़ॉर्म के बीच एक महत्वपूर्ण अंतर: iOS सिम्युलेटर वास्तविक उपकरण से भिन्न व्यवहार दिखा सकता है, इसलिए Android Smoke Tests को Firebase Test Lab या एम्युलेटर पर चलाने की सिफारिश की जाती है। Firebase Test Lab 10 उपकरणों पर Smoke Tests के समानांतर निष्पादन का समर्थन करता है।

swift
import XCTest

class LoginSmokeTest: XCTestCase {
    let app = XCUIApplication()

    override func setUp() {
        continueAfterFailure = false
        app.launch()
    }

    func testLoginButtonExists() {
        XCTAssertTrue(app.buttons["लॉग इन"].exists)
    }

    func testLoginFlow() {
        app.textFields["email"].tap()
        app.textFields["email"].typeText("test@test.com")
        app.secureTextFields["password"].tap()
        app.secureTextFields["password"].typeText("password123")
        app.buttons["Log In"].tap()
        XCTAssertTrue(app.staticTexts["Welcome"].waitForExistence(timeout: 5))
    }
}

उपरोक्त उदाहरण iOS पर लॉगिन स्क्रीन के लिए Smoke Test दिखाता है। पहला परीक्षण जाँचता है कि लॉगिन बटन स्क्रीन पर मौजूद है। दूसरा परीक्षण पूर्ण प्रमाणीकरण पथ से गुजरता है और जाँचता है कि सफल लॉगिन के बाद एक स्वागत संदेश प्रदर्शित होता है। `waitForExistence` के लिए 5 सेकंड का टाइमआउट Smoke Test के लिए मानक मान है: यदि UI तत्व उस समय में प्रकट नहीं होता है, तो एप्लिकेशन सही ढंग से काम नहीं कर रहा है।

अक्सर पूछे जाने वाले प्रश्न

Smoke Test में कितने परीक्षण होने चाहिए?

इष्टतम संख्या प्रति मॉड्यूल 5 से 15 परीक्षण है। Smoke Test को उपयोगकर्ता के क्रिटिकल पथ को कवर करना चाहिए लेकिन पूरी कार्यक्षमता को शामिल करने का प्रयास नहीं करना चाहिए। मापदंड — यदि सभी Smoke Test परीक्षण पास होते हैं, तो एप्लिकेशन को आगे के परीक्षण के लिए QA वातावरण में खोला जा सकता है।

Smoke Test sanity check से कैसे अलग है?

Smoke Test बिल्ड स्थिरता की जाँच करता है और हर बिल्ड पर चलता है। Sanity check परीक्षणों का एक संकीर्ण सेट है जो विशिष्ट परिवर्तनों के बाद किया जाता है। Sanity check प्रश्न का उत्तर देता है "क्या इस परिवर्तन ने कार्यक्षमता X को तोड़ा?", जबकि Smoke Test उत्तर देता है "क्या बिल्ड मूल रूप से काम कर रहा है?"।

क्या Smoke Test को ऑटोमेट करना आवश्यक है?

हाँ, Smoke Test को ऑटोमेट करना बार-बार रिलीज़ वाली परियोजनाओं के लिए अनिवार्य अभ्यास है। ऑटोमेशन जाँचों की स्थिरता और निष्पादन गति सुनिश्चित करता है। मैनुअल Smoke Test केवल प्रोजेक्ट के शुरुआती चरणों में उचित है जब बिल्ड की संख्या प्रति सप्ताह 2–3 से अधिक नहीं होती।

यदि Smoke Test विफल हो जाए तो क्या करें?

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

Smoke Test को कितनी बार अपडेट करना चाहिए?

Smoke Test को हर बार अपडेट किया जाता है जब उपयोगकर्ता का क्रिटिकल पथ बदलता है। यदि कोई नई अनिवार्य स्क्रीन जोड़ी जाती है (जैसे ऑनबोर्डिंग), तो इसे Smoke Test में शामिल किया जाना चाहिए। जाँचों की प्रासंगिकता बनाए रखने के लिए हर स्प्रिंट Smoke Test सेट की समीक्षा करने की सिफारिश की जाती है।

सारांश

  • Smoke Test — एप्लिकेशन के क्रिटिकल पथ के लिए न्यूनतम जाँचों का सेट, हर बिल्ड के बाद चलाया जाता है।
  • मुख्य जाँचें — एप्लिकेशन लॉन्च, प्रमाणीकरण, सामग्री लोडिंग और मुख्य स्क्रीन पर नेविगेशन।
  • रिग्रेशन से अंतर — Smoke Test 5–10% परिदृश्यों को कवर करता है और 5–15 मिनट लेता है, घंटों नहीं।
  • उपकरण — iOS के लिए XCUITest, Android के लिए Espresso, React Native के लिए Detox।
  • ऑटोमेशन Smoke Test CI/CD में Fastlane, GitHub Actions या Bitrise के माध्यम से एकीकृत होता है।
  • Smoke Test रिग्रेशन टेस्टिंग से पहले चलता है और 30% तक अस्थिर बिल्ड को छानता है।
  • प्रासंगिकता बनाए रखने के लिए हर स्प्रिंट Smoke Test संरचना की समीक्षा करने की सिफारिश की जाती है।

हम एक मोबाइल एप्लिकेशन टर्नकी विकसित करेंगे

IT Sectr 2017 से स्टार्टअप और व्यवसायों के लिए iOS और Android एप्लिकेशन बनाता है। हम आपको सलाह देंगे और सर्वोत्तम समाधान प्रस्तावित करेंगे।

परियोजना पर चर्चा करें

यह भी पढ़ें