Firebase Test Lab Google का एक क्लाउड सेवा है जो Google डेटा केंद्रों में स्थित वास्तविक उपकरणों पर मोबाइल ऐप्लिकेशन के स्वचालित परीक्षण के लिए है। Test Lab आपको सैकड़ों डिवाइस कॉन्फ़िगरेशन पर Android और iOS के विभिन्न संस्करणों के साथ इंस्ट्रुमेंटेशन परीक्षण, स्क्रीनशॉट परीक्षण और रोबोट परीक्षण चलाने की अनुमति देता है, बिना अपनी खुद की डिवाइस फार्म बनाए रखने की आवश्यकता के। Firebase Documentation, 2026 के अनुसार, Firebase रोबोट परीक्षण स्वचालित रूप से ऐप्लिकेशन की सभी स्क्रीनों से गुज़रता है, बिना परीक्षण कोड की एक भी पंक्ति लिखे क्रैश, ANR और UI समस्याओं का पता लगाता है। सेवा CI/CD सिस्टम के साथ एकीकरण का समर्थन करती है और वीडियो और लॉग के साथ विस्तृत रिपोर्ट प्रदान करती है।
मुख्य बिंदु
Firebase Test Lab Google का क्लाउड इंफ्रास्ट्रक्चर है जो Google के वैश्विक डेटा केंद्रों में स्थित भौतिक उपकरणों पर मोबाइल ऐप्लिकेशन के स्वचालित परीक्षण के लिए है। स्थानीय मशीन पर इम्यूलेटर के विपरीत, Test Lab विभिन्न ऑपरेटिंग सिस्टम संस्करणों, स्क्रीन रिज़ॉल्यूशन, RAM आकार और API स्तरों के साथ वास्तविक Android उपकरणों और iOS उपकरणों पर परीक्षण चलाता है। सेवा स्वचालित रूप से परीक्षण परिणामों को संसाधित करती है, निष्पादन वीडियो, चरण स्क्रीनशॉट और विस्तृत लॉग प्रदान करती है।
अपनी खुद की डिवाइस फार्म बनाए रखने के लिए भौतिक उपकरणों की खरीद और रखरखाव पर महत्वपूर्ण पूंजीगत व्यय की आवश्यकता होती है। Firebase Test Lab Spark योजना पर मुफ्त सीमा के साथ उपयोग के अनुसार भुगतान (pay-per-use) के आधार पर हजारों उपकरणों तक पहुंच प्रदान करता है। Test Lab स्वचालित रूप से डिवाइस पूल को नवीनतम मॉडलों में अपडेट करता है, जिसमें नवीनतम फ्लैगशिप Google Pixel, Samsung Galaxy, Xiaomi और iPhone शामिल हैं। परीक्षण कई उपकरणों पर समानांतर रूप से चलते हैं, जिससे ऐप्लिकेशन सत्यापन का कुल समय कम हो जाता है।
Android के लिए, Test Lab API स्तर 21 से नवीनतम स्थिर Android संस्करण तक के उपकरणों पर परीक्षण का समर्थन करता है। iOS समर्थन में iOS संस्करण 15 से नवीनतम स्थिर संस्करण तक वास्तविक iPhone और iPad उपकरण शामिल हैं। iOS के लिए रोबोट परीक्षण और XCTest उपलब्ध हैं। प्रत्येक परीक्षण भौतिक उपकरणों या इम्यूलेटर पर चलाया जा सकता है — सबसे सटीक परिणामों के लिए, Google भौतिक उपकरणों का उपयोग करने की अनुशंसा करता है क्योंकि वे सेंसर, कैमरा और नेटवर्क इंटरफ़ेस से संबंधित समस्याओं का खुलासा करते हैं।
Firebase Test Lab कई प्रकार के परीक्षणों का समर्थन करता है, प्रत्येक विकास चक्र में अपने कार्य को हल करता है: त्वरित स्थिरता जांच के लिए रोबोट परीक्षण, कार्यात्मक सत्यापन के लिए इंस्ट्रुमेंटेशन परीक्षण और दृश्य प्रतिगमन का पता लगाने के लिए स्क्रीनशॉट परीक्षण। परीक्षण के प्रकार का चुनाव विकास के चरण और किसी विशेष रन के लक्ष्यों पर निर्भर करता है।
रोबोट परीक्षण Firebase Test Lab की एक अनूठी विशेषता है जिसके लिए परीक्षण कोड लिखने की आवश्यकता नहीं होती है। Firebase Crawler स्वचालित रूप से ऐप्लिकेशन का अन्वेषण करता है: सभी इंटरैक्टिव UI तत्वों को ढूंढता है, उन पर क्लिक करता है, परीक्षण डेटा के साथ फॉर्म भरता है, स्क्रीन के बीच नेविगेट करता है और किसी भी विफलता (क्रैश, ANR, अपवाद) को रिकॉर्ड करता है। रोबोट परीक्षण परीक्षण कोड की एक भी पंक्ति के बिना 80% तक महत्वपूर्ण बग का पता लगाते हैं, जो उन्हें विकास के शुरुआती चरणों में ऐप्लिकेशन की बुनियादी स्थिरता का आकलन करने के लिए एक आदर्श उपकरण बनाता है।
इंस्ट्रुमेंटेशन परीक्षण डेवलपर द्वारा Espresso (Android) या XCTest (iOS) फ्रेमवर्क का उपयोग करके लिखे गए परीक्षण हैं। Test Lab लक्ष्य उपकरण पर परीक्षणों के साथ APK चलाता है और निष्पादन परिणाम एकत्र करता है। परीक्षण सरल (तत्व प्रदर्शन की जांच) या जटिल (एंड-टू-एंड परिदृश्य: लॉगिन, कार्ट में जोड़ें, चेकआउट) हो सकते हैं। Firebase Test Lab एक दूसरे से परीक्षणों को अलग करने के लिए Android Test Orchestrator का समर्थन करता है, जो एक विफल परीक्षण को दूसरों को प्रभावित करने से रोकता है।
स्क्रीनशॉट परीक्षण ऐप्लिकेशन में दृश्य प्रतिगमन का पता लगाने के लिए उपयोग किए जाते हैं। Game loop एक विशेष परीक्षण प्रकार है जो intent के माध्यम से ऐप्लिकेशन को परिदृश्यों की एक सूची भेजता है, और ऐप्लिकेशन को इन परिदृश्यों को निष्पादित करना चाहिए और प्रमुख स्क्रीन के स्क्रीनशॉट लेने चाहिए। Test Lab मैट्रिक्स के सभी उपकरणों से स्क्रीनशॉट एकत्र करता है और अंतर का पता लगाने के लिए उन्हें संदर्भ छवियों के साथ तुलना करने की अनुमति देता है। यह परीक्षण प्रकार विभिन्न GPU पर रेंडरिंग की जांच के लिए गेमिंग ऐप्लिकेशन में विशेष रूप से लोकप्रिय है।
| परीक्षण प्रकार | कोड | यह क्या जांचता है | कब उपयोग करें |
|---|---|---|---|
| रोबोट परीक्षण | आवश्यक नहीं | क्रैश, ANR, अपवाद | त्वरित स्थिरता जांच |
| इंस्ट्रुमेंटेशन | Espresso / XCTest | परिदृश्य कार्यक्षमता | रिग्रेशन परीक्षण |
| स्क्रीनशॉट परीक्षण | Game loop | दृश्य प्रतिगमन | विभिन्न उपकरणों पर UI जांच |
परीक्षण मैट्रिक्स Firebase Test Lab में डिवाइस कॉन्फ़िगरेशन का एक सेट है जिस पर चयनित परीक्षण निष्पादित किया जाता है। प्रत्येक कॉन्फ़िगरेशन में डिवाइस मॉडल, OS संस्करण, स्क्रीन ओरिएंटेशन (पोर्ट्रेट/लैंडस्केप) और क्षेत्रीय सेटिंग्स (लोकेल, भाषा) शामिल हैं। परीक्षण सभी चयनित कॉन्फ़िगरेशन पर समानांतर रूप से चलता है, जो प्रत्येक उपकरण पर अनुक्रमिक चलाने की तुलना में कुल निष्पादन समय को काफी कम करता है।
Google मैट्रिक्स में विभिन्न विशेषताओं वाले उपकरणों को शामिल करने की अनुशंसा करता है: एक फ्लैगशिप मॉडल (Google Pixel, Samsung Galaxy S), एक बजट डिवाइस (Moto G, Xiaomi Redmi), ऐप्लिकेशन द्वारा समर्थित न्यूनतम API संस्करण वाला एक उपकरण। एक इष्टतम मैट्रिक्स में 5–10 कॉन्फ़िगरेशन शामिल होते हैं जो ऐप्लिकेशन द्वारा समर्थित सभी OS संस्करणों को कवर करते हैं। iOS के लिए, विभिन्न पीढ़ियों के iPhone और iPad मॉडल चुने जाते हैं (जैसे, iPhone SE, iPhone 14, iPad Air) विभिन्न iOS संस्करणों के साथ।
Test Lab स्वचालित रूप से चयनित उपकरणों में परीक्षण वितरित करता है, प्रत्येक कॉन्फ़िगरेशन पर प्रत्येक परीक्षण चलाता है। पूरे मैट्रिक्स का निष्पादन समय सबसे धीमे उपकरण पर सबसे धीमे परीक्षण के निष्पादन समय के बराबर है — बाकी सभी समानांतर चलते हैं। यदि एक परीक्षण सभी उपकरणों पर विफल होता है, तो Test Lab संसाधन बचाने के लिए शेष कॉन्फ़िगरेशन पर इसका निष्पादन रोक देता है। परिणाम परीक्षण और डिवाइस के अनुसार समूहित किए जाते हैं, जिससे तुरंत पहचाना जा सकता है कि कोई त्रुटि किसी विशेष कॉन्फ़िगरेशन के लिए विशिष्ट है या नहीं।
रोबोट परीक्षण Firebase Test Lab की एक प्रमुख विशेषता है जो आपको एक भी परीक्षण लिखे बिना स्वचालित रूप से किसी ऐप्लिकेशन का अन्वेषण करने की अनुमति देता है। Firebase Crawler (रोबोट) ऐप्लिकेशन के UI पदानुक्रम का विश्लेषण करता है, सभी इंटरैक्टिव तत्वों (बटन, टेक्स्ट फ़ील्ड, सूचियाँ, मेनू) को ढूंढता है और वास्तविक उपयोगकर्ता व्यवहार का अनुकरण करते हुए उनके साथ इंटरैक्ट करता है। रोबोट परीक्षण विकास के शुरुआती चरणों में विशेष रूप से प्रभावी होता है, जब परीक्षण अभी तक नहीं लिखे गए हैं, या लीगेसी कोड की जांच के लिए।
रोबोट परीक्षण चलाने के लिए, बस Firebase Console में APK या IPA अपलोड करें और Robo test विकल्प चुनें। रोबोट स्वचालित रूप से प्रमाणीकरण के पीछे छिपी स्क्रीन तक पहुंचने के लिए पूर्व-कॉन्फ़िगर क्रेडेंशियल (लॉगिन/पासवर्ड) के माध्यम से ऐप्लिकेशन में लॉग इन कर सकता है। आप रोबोट चरणों की संख्या को सीमित करने के लिए अन्वेषण गहराई (max depth) भी सेट कर सकते हैं, या विशिष्ट तत्व निर्दिष्ट कर सकते हैं जिन पर रोबोट को प्राथमिकता से क्लिक करना चाहिए।
<!-- res/xml/robo_directives.xml -->
<!-- रोबोट लॉगिन और पासवर्ड फ़ील्ड भरेगा -->
<?xml version="1.0" encoding="utf-8"?>
<robo-directives
xmlns:android="http://schemas.android.com/apk/res/android">
<directive
android:resourceName="@id/et_email"
android:inputValue="test@example.com" />
<directive
android:resourceName="@id/et_password"
android:inputValue="password123" />
<directive
android:resourceName="@id/btn_login"
android:clickAction="CLICK" />
</robo-directives>
रोबोट परीक्षण जटिल परिदृश्यों के लिए मैन्युअल परीक्षण और लिखित इंस्ट्रुमेंटेशन परीक्षणों को प्रतिस्थापित नहीं करते हैं। रोबोट व्यावसायिक तर्क की जांच नहीं कर सकता: वह क्रम से सभी तत्वों पर क्लिक करता है, लेकिन नहीं जानता कि परिणाम सही है या नहीं। साथ ही, रोबोट कस्टम व्यू के साथ इंटरैक्ट नहीं कर सकता जो मानक ViewGroup से विरासत में नहीं मिलते हैं, और WebView को संभाल नहीं सकता। इन मामलों के लिए, इंस्ट्रुमेंटेशन परीक्षण या Game loop का उपयोग किया जाना चाहिए।
Firebase Test Lab का CI/CD सिस्टम के साथ एकीकरण आपको रिपॉजिटरी में प्रत्येक push के साथ स्वचालित रूप से परीक्षण चलाने की अनुमति देता है। Test Lab Android के लिए Gradle कार्यों और दोनों प्लेटफ़ॉर्म के लिए Fastlane का समर्थन करता है। CI/CD पाइपलाइन सेट करने में ऐप्लिकेशन बनाना, APK/IPA को Google Cloud Storage में अपलोड करना, Firebase CLI के माध्यम से परीक्षण चलाना और बिल्ड स्थिति प्रदर्शित करने के लिए CI सिस्टम में वापस रिपोर्ट प्राप्त करना शामिल है।
Google Gradle के लिए gcloud-test-lab प्लगइन प्रदान करता है, जो परीक्षण अपलोड और निष्पादन को स्वचालित करता है। assembleAndroidTest कार्य परीक्षणों के साथ APK बनाता है, और gcloud कार्य इसे Test Lab में अपलोड करते हैं और मैट्रिक्स चलाते हैं। परीक्षण परिणाम Gradle को pass/fail के रूप में वापस किए जाते हैं, जो Gradle का समर्थन करने वाली किसी भी CI पाइपलाइन में Test Lab एकीकरण की अनुमति देता है। प्राधिकरण के लिए Test Lab अनुमतियों वाले Firebase सेवा खाते का उपयोग किया जाता है।
// build.gradle (module: app)
task runTestLab() {
exec {
commandLine "gcloud", "firebase", "test", "android", "run",
"--type", "robo",
"--app", "build/outputs/apk/debug/app-debug.apk",
"--device", "model=Pixel7,version=33",
"--device", "model=GalaxyS23,version=34",
"--device", "model=RedmiNote12,version=31",
"--timeout", "15m",
"--results-dir", "firebase/test-lab/robo"
}
}
Fastlane iOS और Android परीक्षणों के साथ एकीकरण के लिए firebase_test_lab प्लगइन प्रदान करता है। Fastlane lane बिल्ड करता है, परीक्षण चलाता है और परिणाम संसाधित करता है। iOS XCTest के लिए, Test Lab को xctestrun फ़ाइल की आवश्यकता होती है, जो परीक्षण लक्ष्य बनाते समय स्वचालित रूपից बनाई जाती है। Fastlane प्रत्येक रन के बाद परीक्षण स्थिति के बारे में टीम को सूचित करने के लिए परीक्षण परिणाम Slack या अन्य मैसेंजर में अपलोड कर सकता है।
परीक्षण पूरा होने के बाद, Firebase Test Lab Firebase Console और gcloud CLI के माध्यम से उपलब्ध एक व्यापक रिपोर्ट प्रदान करता है। रिपोर्ट में एक संक्षिप्त सारांश (पास, फेल और स्किप किए गए परीक्षणों की संख्या), प्रत्येक उपकरण पर प्रत्येक परीक्षण के लिए विस्तृत जानकारी, निष्पादन वीडियो, प्रमुख चरणों के स्क्रीनशॉट और डिवाइस लॉग (Android के लिए logcat, iOS के लिए सिस्टम लॉग) शामिल हैं। विफल परीक्षणों के लिए, सटीक त्रुटि स्थान के साथ एक stack trace उपलब्ध है।
रोबोट परीक्षण के लिए, रिपोर्ट इंस्ट्रुमेंटेशन परीक्षण से भिन्न होती है: प्रति परीक्षण मामले में pass/fail के बजाय, रिपोर्ट अन्वेषण आंकड़े दिखाती है। प्रमुख मीट्रिक — मिली और देखी गई स्क्रीन की संख्या, रोबोट इंटरैक्शन की संख्या (क्लिक, स्वाइप, टेक्स्ट इनपुट), पाए गए क्रैश और ANR, और ऐप्लिकेशन के माध्यम से तय किया गया पथ। रोबोट निष्पादन वीडियो आपको दृश्य रूप से आकलन करने की अनुमति देता है कि किन स्क्रीन का परीक्षण किया गया और कौन सी अछूती रह गईं।
परीक्षण परिणाम परियोजना से जुड़े बकेट में Google Cloud Storage में संग्रहीत किए जाते हैं। डेटा निर्यात और बाहरी विश्लेषण सिस्टम के साथ एकीकरण के लिए उपलब्ध है। रनों के बीच दीर्घकालिक भंडारण और परिणामों की तुलना के लिए, BigQuery निर्यात सेट करने या प्रोग्रामेटिक रूप से परिणाम प्राप्त करने के लिए Firebase Test Lab API का उपयोग करने की अनुशंसा की जाती है। Google प्रत्येक परीक्षण रन के लिए परिणामों के पूर्ण सेट के साथ ZIP संग्रह डाउनलोड करने की क्षमता प्रदान करता है।
अक्सर पूछे जाने वाले प्रश्न
Spark योजना में प्रतिदिन 10 Robo परीक्षण और प्रति माह 5 घंटे के इंस्ट्रुमेंटेशन परीक्षण मुफ्त शामिल हैं। Blaze योजना समय के अनुसार शुल्क लेती है: Robo परीक्षणों के लिए ~1 USD प्रति डिवाइस-घंटा और इंस्ट्रुमेंटेशन परीक्षणों के लिए ~5 USD। सटीक लागत क्षेत्र और डिवाइस प्रकार पर निर्भर करती है।
भौतिक उपकरण अधिक सटीक परिणाम देते हैं, जिसमें सेंसर, कैमरा, GPS, ब्लूटूथ और वास्तविक प्रदर्शन से संबंधित समस्याएं शामिल हैं। इम्यूलेटर तेज़ी से शुरू होते हैं और सस्ते होते हैं, लेकिन हार्डवेयर सुविधाओं से संबंधित समस्याओं का खुलासा नहीं करते हैं। Google रिलीज़-पूर्व परीक्षण के लिए भौतिक उपकरणों की अनुशंसा करता है।
इनपुट फ़ील्ड (लॉगिन, पासवर्ड) और क्लिक करने के लिए बटन के साथ एक XML फ़ाइल robo_directives.xml बनाएं। Firebase Console या CLI के माध्यम से परीक्षण शुरू करते समय फ़ाइल को APK के साथ अपलोड करें। रोबोट अन्वेषण शुरू करने से पहले निर्दिष्ट क्रियाएं करेगा।
हां, Firebase Test Lab 2024 से iOS का समर्थन करता है। वास्तविक iPhone और iPad उपकरणों पर Robo परीक्षण (स्वचालित अन्वेषण) और XCTest (इंस्ट्रुमेंटेशन परीक्षण) उपलब्ध हैं। अपलोड के लिए परीक्षण लक्ष्य वाली IPA फ़ाइल आवश्यक है।
GitHub Actions में Firebase CLI का उपयोग करें: Service Account JSON के माध्यम से प्रमाणीकरण सेट करें, gcloud SDK स्थापित करें, APK और कॉन्फ़िगरेशन के साथ firebase test android run कमांड चलाएं। परीक्षण परिणाम Firebase Console या gcloud CLI के माध्यम से उपलब्ध हैं।
सारांश
हम एक मोबाइल एप्लिकेशन टर्नकी विकसित करेंगे
IT Sectr 2017 से स्टार्टअप और व्यवसायों के लिए iOS और Android एप्लिकेशन बनाता है। हम आपको सलाह देंगे और सर्वोत्तम समाधान प्रस्तावित करेंगे।
यह भी पढ़ें