Firebase Test Lab की मदद से, अलग-अलग डिवाइसों और कॉन्फ़िगरेशन पर अपने ऐप्लिकेशन की जांच की जा सकती है. 'शुरू करें' गाइड में, आपको लागू करने का तरीका बताया गया है. साथ ही, इसमें Test Lab के Android ऑफ़र के बारे में जानकारी दी गई है.
Test Lab के कोटा और शुल्क के प्लान के बारे में जानकारी पाने के लिए, इस्तेमाल, कोटा, और शुल्क लेख पढ़ें.
मुख्य सिद्धांत
जब चुने गए डिवाइसों और कॉन्फ़िगरेशन के हिसाब से कोई टेस्ट या टेस्ट केस का सेट चलाया जाता है, तब Test Lab आपके ऐप्लिकेशन के ख़िलाफ़ बैच में टेस्ट चलाता है. इसके बाद, नतीजों को टेस्ट मैट्रिक्स के तौर पर दिखाता है.
डिवाइस × टेस्ट एक्ज़ीक्यूशन = टेस्ट मैट्रिक्स
- डिवाइस
- फ़िज़िकल या वर्चुअल डिवाइस (सिर्फ़ Android), जिस पर आपको टेस्ट चलाना है. जैसे, फ़ोन, टैबलेट या पहना जाने वाला डिवाइस. टेस्ट मैट्रिक्स में मौजूद डिवाइसों की पहचान, डिवाइस मॉडल, ओएस वर्शन, स्क्रीन ओरिएंटेशन, और स्थान-भाषा (इसे भौगोलिक और भाषा सेटिंग के तौर पर भी जाना जाता है) के हिसाब से की जाती है.
- टेस्ट, टेस्ट एक्ज़ीक्यूशन
- किसी डिवाइस पर टेस्ट (या टेस्ट केस का सेट) चलाया जाना है. हर डिवाइस पर एक टेस्ट चलाया जा सकता है. इसके अलावा, टेस्ट को शेयर करके, उसके टेस्ट केस अलग-अलग डिवाइसों पर चलाए जा सकते हैं.
- टेस्ट मैट्रिक्स
- इसमें आपके टेस्ट के एक्ज़ीक्यूशन के स्टेटस और नतीजे शामिल होते हैं. अगर मैट्रिक्स में कोई भी टेस्ट एक्ज़ीक्यूशन पूरा नहीं होता है, तो पूरी मैट्रिक्स फ़ेल हो जाती है.
पहला चरण: Test Lab पर अपलोड करने के लिए, टेस्ट तैयार करना
टेस्ट के उपलब्ध टाइप
Test Lab की मदद से, ये टेस्ट चलाए जा सकते हैं. ध्यान दें कि सभी तरह के टेस्ट, फ़िज़िकल डिवाइसों पर 45 मिनट और वर्चुअल डिवाइसों पर 60 मिनट तक ही चलाए जा सकते हैं. अगर कोई अपवाद नहीं पकड़ा जाता है, तो टेस्ट फ़ेल हो जाएगा.
इंस्ट्रुमेंटेशन टेस्ट या इंस्ट्रुमेंटेड यूनिट टेस्ट: यह ऐसा टेस्ट होता है जिसे आपने Espresso या UI Automator फ़्रेमवर्क का इस्तेमाल करके लिखा है. इस टेस्ट की मदद से, अपने ऐप्लिकेशन की स्थिति के बारे में साफ़ तौर पर दावे किए जा सकते हैं. इससे AndroidJUnitRunnerAPIs का इस्तेमाल करके, यह पुष्टि की जा सकती है कि ऐप्लिकेशन सही तरीके से काम कर रहा है या नहीं.
Test Lab में टेस्ट चलाने के लिए, उसे तैयार करने का तरीका जानने के लिए, इंस्ट्रुमेंटेशन टेस्ट चलाना पर जाएं.
इंस्ट्रुमेंटेशन टेस्ट बनाने के निर्देशों के लिए, Android Developers का दस्तावेज़ देखें.
रोबो टेस्ट: यह एक अपने-आप होने वाला टेस्ट है. इसमें आपके ऐप्लिकेशन के यूज़र इंटरफ़ेस (यूआई) का विश्लेषण किया जाता है. इसके बाद, उपयोगकर्ता की गतिविधियों का सिम्युलेट करके, यूज़र इंटरफ़ेस (यूआई) को व्यवस्थित तरीके से एक्सप्लोर किया जाता है. इसके लिए, आपको कोई कोड लिखने की ज़रूरत नहीं होती. ज़्यादा जानकारी के लिए, रोबो टेस्ट के बारे में जानकारी पर जाएं.
गेम लूप टेस्ट: यह एक ऐसा टेस्ट है जिसमें "डेमो मोड" का इस्तेमाल किया जाता है. इससे गेमिंग ऐप्लिकेशन में, खिलाड़ी की कार्रवाइयों को सिम्युलेट किया जाता है. यह पुष्टि करने का तेज़ और बेहतर तरीका है कि आपका गेम उपयोगकर्ताओं के लिए अच्छी परफ़ॉर्मेंस दे रहा है. गेम लूप टेस्ट चलाने पर, ये काम किए जा सकते हैं:
अपने गेम इंजन के हिसाब से टेस्ट लिखना
अलग-अलग यूज़र इंटरफ़ेस (यूआई) या टेस्टिंग फ़्रेमवर्क के लिए एक ही कोड लिखने से बचें
एक ही टेस्ट को कई बार चलाने के लिए, एक से ज़्यादा लूप बनाएं. हालांकि, यह ज़रूरी नहीं है. इसके बारे में ज़्यादा जानने के लिए, गेम लूप टेस्ट के बारे में जानकारी पर जाएं. लेबल का इस्तेमाल करके भी लूप व्यवस्थित किए जा सकते हैं, ताकि उन्हें ट्रैक किया जा सके और खास लूप को फिर से चलाया जा सके.
Test Lab के साथ इस टेस्ट को चलाने के निर्देश पाने के लिए, गेम लूप टेस्ट चलाना लेख पढ़ें.
जांच करने के लिए टूल
टेस्ट चलाने के लिए, इनमें से कोई टूल चुना जा सकता है:
पहली बार इस्तेमाल करने वालों के लिए सुझाव: Firebase कंसोल की मदद से, ऐप्लिकेशन अपलोड किया जा सकता है. साथ ही, वेब ब्राउज़र से टेस्टिंग शुरू की जा सकती है. इस टूल का इस्तेमाल करके टेस्ट चलाने के निर्देशों के लिए, Firebase कंसोल की मदद से टेस्ट करना लेख पढ़ें.
Android Studio इंटिग्रेशन की मदद से, डेवलपमेंट एनवायरमेंट से बाहर निकले बिना अपने ऐप्लिकेशन को टेस्ट किया जा सकता है. इस टूल का इस्तेमाल करके टेस्ट चलाने के निर्देशों के लिए, Android Studio की मदद से टेस्ट करना लेख पढ़ें.
gcloud कमांड लाइन इंटरफ़ेस की मदद से, कमांड लाइन से इंटरैक्टिव तरीके से टेस्ट चलाए जा सकते हैं. साथ ही, यह स्क्रिप्टिंग के लिए भी सही है. इसका इस्तेमाल, ऑटोमेटेड बिल्ड और टेस्टिंग प्रोसेस के हिस्से के तौर पर किया जा सकता है. इस टूल का इस्तेमाल करके टेस्ट चलाने के निर्देशों के लिए, gcloud CLI की मदद से टेस्ट करना लेख पढ़ें.
ऐप्लिकेशन की APK फ़ाइलों को Play Store पर अपलोड और पब्लिश करते समय, Test Lab की मदद से भी बिना किसी शुल्क के ऐप्लिकेशन की जांच की जा सकती है. इसके लिए, ऐल्फ़ा या बीटा चैनल का इस्तेमाल करें. ज़्यादा जानकारी के लिए, समस्याओं का पता लगाने के लिए, प्री-लॉन्च रिपोर्ट इस्तेमाल करना और रोबो टेस्ट लेख पढ़ें.
दूसरा चरण: टेस्ट करने के लिए डिवाइस चुनना
Test Lab Google के डेटा सेंटर में इंस्टॉल और चालू किए गए, Android डिवाइसों के कई ब्रैंड और मॉडल पर टेस्टिंग की सुविधा देता है. Test Lab में मौजूद डिवाइसों पर टेस्टिंग करने से, आपको ऐसी समस्याओं का पता लगाने में मदद मिलती है जो Android Studio में इम्यूलेटर का इस्तेमाल करके अपने ऐप्लिकेशन की टेस्टिंग करते समय नहीं होती हैं. ज़्यादा जानने के लिए, उपलब्ध डिवाइस देखें.
तीसरा चरण: टेस्ट के नतीजों की समीक्षा करना
टेस्ट शुरू करने का तरीका चाहे जो भी हो, टेस्ट के सभी नतीजों को Test Lab मैनेज करता है. इन्हें ऑनलाइन देखा जा सकता है.
टेस्ट के नतीजे की खास जानकारी अपने-आप सेव हो जाती है. इसे Firebase कंसोल में देखा जा सकता है. इसमें आपकी जांच से जुड़ा सबसे काम का डेटा होता है. जैसे, टेस्ट केस के हिसाब से वीडियो, स्क्रीनशॉट, पास, फ़ेल या फ़्लेकी नतीजे देने वाले टेस्ट की संख्या वगैरह.
टेस्ट के रॉ नतीजे में टेस्ट लॉग और ऐप्लिकेशन के काम न करने की जानकारी होती है. यह Google Cloud बकेट में अपने-आप सेव हो जाती है. अगर आपने कोई बकेट तय की है, तो स्टोरेज का शुल्क आपको चुकाना होगा. अगर आपने कोई बकेट तय नहीं की है, तो Test Lab आपके लिए बिना किसी शुल्क के एक बकेट बना देगा.
ज़्यादा जानकारी के लिए, Firebase Test Lab नतीजों का विश्लेषण करें लेख पढ़ें.
Android Studio से टेस्ट शुरू करने पर, डेवलपमेंट एनवायरमेंट में जाकर भी टेस्ट के नतीजे देखे जा सकते हैं.
डिवाइस क्लीनअप करें
Google, आपके ऐप्लिकेशन के डेटा की सुरक्षा को बहुत गंभीरता से लेता है. हम इंडस्ट्री के स्टैंडर्ड के हिसाब से सबसे सही तरीकों का इस्तेमाल करते हैं. इससे, हर टेस्ट रन के बाद, फ़िज़िकल डिवाइसों से ऐप्लिकेशन का डेटा हटाया जाता है और सिस्टम सेटिंग रीसेट की जाती हैं. इससे यह पक्का किया जाता है कि डिवाइस, नए टेस्ट रन के लिए तैयार हैं. जिन डिवाइसों पर हम कस्टम रिकवरी इमेज फ़्लैश कर सकते हैं उन पर हम टेस्ट रन के दौरान, इन डिवाइसों को फ़्लैश करके एक कदम आगे बढ़ते हैं.
Test Lab की ओर से इस्तेमाल किए जाने वाले वर्चुअल डिवाइसों के लिए, डिवाइस इंस्टेंस का इस्तेमाल होने के बाद उन्हें मिटा दिया जाता है. ऐसा इसलिए किया जाता है, ताकि हर टेस्ट रन में नए वर्चुअल डिवाइस इंस्टेंस का इस्तेमाल किया जा सके.
Test Lab और Google Play services
Test Lab डिवाइसों में आम तौर पर, Google Play services SDK का नया वर्शन इस्तेमाल किया जाता है. हालांकि, कुछ डिवाइसों में एसडीके का नया वर्शन रिलीज़ होने के बाद, उसे अपडेट होने में कुछ दिन लग सकते हैं. ध्यान दें कि आपको कुछ डिवाइसों के साथ, ऐप्लिकेशन के काम न करने से जुड़ी समस्याएं आ सकती हैं.
टेस्ट डिवाइसों को निजी बैकएंड सर्वर ऐक्सेस करने की अनुमति देना
कुछ मोबाइल ऐप्लिकेशन को टेस्टिंग के दौरान ठीक से काम करने के लिए, निजी बैकएंड सेवाओं से कम्यूनिकेट करने की ज़रूरत होती है. अगर आपके बैकएंड सर्वर, फ़ायरवॉल के नियमों के तहत सुरक्षित हैं, तो Test Lab के फ़िज़िकल और वर्चुअल डिवाइसों को ऐक्सेस करने की अनुमति दी जा सकती है. इसके लिए, यहां दिए गए आईपी पतों के ब्लॉक का इस्तेमाल करके, अपने फ़ायरवॉल के ज़रिए रूट खोलें.
मोबाइल ऐडवर्टाइज़िंग
Test Lab एक ऐसा इन्फ़्रास्ट्रक्चर उपलब्ध कराता है जो ऐप्लिकेशन की अपने-आप जांच होने की सुविधा को बेहतर बनाता है. हालांकि, इस सुविधा का गलत इस्तेमाल, नुकसान पहुंचाने वाले ऐसे ऐप्लिकेशन कर सकते हैं जिन्हें विज्ञापन से मिलने वाले रेवेन्यू की धोखाधड़ी करने के लिए डिज़ाइन किया गया है.
इस समस्या को कम करने के लिए:
अगर तीसरे पक्ष की डिजिटल विज्ञापन कंपनियों के साथ काम किया जाता है या उनके प्रॉडक्ट इस्तेमाल किए जाते हैं, तो हमारा सुझाव है कि ऐप्लिकेशन डेवलप करने और उसकी टेस्टिंग के दौरान, असली विज्ञापनों के बजाय टेस्ट विज्ञापनों का इस्तेमाल करें. उदाहरण के लिए, विज्ञापन नेटवर्क या मांग-पक्ष के प्लैटफ़ॉर्म.
अगर आपको टेस्ट में असली विज्ञापनों का इस्तेमाल करना है, तो डिजिटल विज्ञापन देने वाली उन कंपनियों को इसकी सूचना दें जिनके साथ आपने काम किया है. इससे वे Test Lab से जनरेट हुए रेवेन्यू और उससे जुड़े सभी ट्रैफ़िक को फ़िल्टर कर सकेंगी. इसके लिए, यहां दिए गए आईपी पते के ब्लॉक का इस्तेमाल करें. आपको Google के मालिकाना हक वाली विज्ञापन कंपनियों को सूचना देने की ज़रूरत नहीं है. Test Lab आपके लिए यह काम करता है.
Test Lab डिवाइसों से इस्तेमाल किए गए आईपी पते
Test Lab डिवाइसों से जनरेट होने वाला सभी नेटवर्क ट्रैफ़िक, यहां दिए गए आईपी पते के ब्लॉक से आता है.
gcloud सीएलआई में gcloud beta firebase test ip-blocks list
कमांड का इस्तेमाल करके भी इस सूची को ऐक्सेस किया जा सकता है. इस सूची को साल में एक बार अपडेट किया जाता है.
| प्लैटफ़ॉर्म और डिवाइस का टाइप | सीआईडीआर आईपी पता ब्लॉक |
|---|---|
| Android और iOS के फ़िज़िकल डिवाइस, Arm वर्चुअल डिवाइस |
70.32.128.0/19 (फ़रवरी 2022 में जोड़ा गया) 108.177.6.0/23 108.177.18.192/26 (फ़रवरी 2022 में जोड़ा गया) 108.177.29.64/27 (बढ़ाया गया 02-2022) 108.177.31.160/27 (फ़रवरी 2022 में जोड़ा गया) 199.36.156.8/29 (02-2022 को जोड़ा गया) 199.36.156.16/28 (फ़रवरी 2022 में जोड़ा गया) 209.85.131.0/27 (फ़रवरी 2022 में जोड़ा गया) 2001:4860:1008::/48 (फ़रवरी 2022 में जोड़ा गया) 2001:4860:1018::/48 (फ़रवरी 2022 में जोड़ा गया) 2001:4860:1019::/48 (फ़रवरी 2022 में जोड़ा गया) 2001:4860:1020::/48 (added 02-2022) 2001:4860:1022::/48 (फ़रवरी 2022 में जोड़ा गया) 2001:4860:101d::/48 (added 10-2025) 2001:4860:101e::/48 (added 10-2025) 2001:4860:1031::/48 (10-2025 को जोड़ा गया) 70.32.128.48/28 (अप्रैल 2024 में जोड़ा गया) 70.32.150.192/27 (added 09-2025) 108.177.6.0/27 (सितंबर 2025 में जोड़ा गया) 108.177.24.160/27 (सितंबर 2025 में जोड़ा गया) 108.177.29.0/27 (added 09-2025) 108.177.25.128/27 (मई 2026 में जोड़ा गया) 108.177.26.128/26 (मई 2026 में जोड़ा गया) 108.177.29.192/26 (मई 2026 में जोड़ा गया) 172.217.120.64/26 (मई 2026 में जोड़ा गया) 172.217.120.128/26 (मई 2026 में जोड़ा गया) 2001:4860:1037::/48 (मई 2026 में जोड़ा गया) 2001:4860:1038::/48 (मई 2026 में जोड़ा गया) 2001:4860:103a::/48 (मई 2026 में जोड़ा गया) |
| Android वर्चुअल डिवाइस (नॉन-आर्म) |
34.68.194.64/29 (नवंबर 2019 में जोड़ा गया) 34.69.234.64/29 (नवंबर 2019 में जोड़ा गया) 34.73.34.72/29 (नवंबर 2019 में जोड़ा गया) 34.73.178.72/29 (added 11-2019) 34.74.10.72/29 (फ़रवरी 2022 में जोड़ा गया) 34.136.2.136/29 (फ़रवरी 2022 में जोड़ा गया) 34.136.50.136/29 (फ़रवरी 2022 में जोड़ा गया) 34.145.234.144/29 (फ़रवरी 2022 में जोड़ा गया) 35.192.160.56/29 35.196.166.80/29 35.196.169.240/29 35.203.128.0/28 35.234.176.160/28 35.243.2.0/27 (जुलाई 2019 में जोड़ा गया) 35.245.243.240/29 (फ़रवरी 2022 में जोड़ा गया) 199.192.115.0/30 199.192.115.8/30 199.192.115.16/29 |
| डिवाइस के आईपी-ब्लॉक का अब इस्तेमाल नहीं किया जा रहा है |
74.125.122.32/29 (removed 02-2022) 216.239.44.24/29 (फ़रवरी 2022 में हटाया गया) |