Firebase Test Lab की मदद से, अलग-अलग डिवाइसों और कॉन्फ़िगरेशन पर अपने ऐप्लिकेशन की क्वालिटी की जांच की जा सकती है. इस गाइड में, Test Lab के मुख्य सिद्धांतों, iOS के ऑफ़र, और टेस्टिंग शुरू करने के निर्देशों के बारे में खास जानकारी दी गई है.
Test Lab के कोटा और कीमत के प्लान के बारे में जानकारी के लिए, इस्तेमाल, कोटा, और कीमत देखें.
मुख्य कॉन्सेप्ट और शब्द
जब चुने गए डिवाइसों और कॉन्फ़िगरेशन के हिसाब से कोई टेस्ट या टेस्ट केस का सेट चलाया जाता है, तो Test Lab आपके ऐप्लिकेशन के ख़िलाफ़ बैच में टेस्ट चलाता है. इसके बाद, नतीजों को टेस्ट मैट्रिक्स के तौर पर दिखाता है.
डिवाइस × टेस्ट एक्ज़ीक्यूशन = टेस्ट मैट्रिक्स
- डिवाइस
- फ़िज़िकल या वर्चुअल डिवाइस (सिर्फ़ Android) जिस पर आपको टेस्ट करना है. जैसे, फ़ोन, टैबलेट या पहना जाने वाला डिवाइस. टेस्ट मैट्रिक्स में मौजूद डिवाइसों की पहचान, डिवाइस मॉडल, ओएस वर्शन, स्क्रीन ओरिएंटेशन, और स्थान-भाषा (इसे भौगोलिक और भाषा की सेटिंग भी कहा जाता है) के हिसाब से की जाती है.
- टेस्ट, टेस्ट एक्ज़ीक्यूशन
- किसी डिवाइस पर टेस्ट (या टेस्ट केस का सेट) चलाया जाना है. हर डिवाइस पर एक टेस्ट चलाया जा सकता है. इसके अलावा, टेस्ट को अलग-अलग हिस्सों में बांटकर, उसके टेस्ट केस अलग-अलग डिवाइसों पर चलाए जा सकते हैं.
- टेस्ट मैट्रिक्स
- इसमें टेस्ट के एक्ज़ीक्यूशन की स्थितियां और टेस्ट के नतीजे शामिल होते हैं. अगर मैट्रिक्स में कोई भी टेस्ट एक्ज़ीक्यूशन पूरा नहीं होता है, तो पूरी मैट्रिक्स पूरी नहीं होती है.
पहला चरण: Test Lab पर अपलोड करने के लिए, टेस्ट तैयार करना
Test Lab की मदद से, ये टेस्ट किए जा सकते हैं. ध्यान दें कि सभी तरह के टेस्ट, फ़िज़िकल डिवाइसों पर ज़्यादा से ज़्यादा 45 मिनट तक चल सकते हैं. साथ ही, अगर कोई ऐसा अपवाद होता है जिसे पकड़ा नहीं गया है, तो टेस्ट फ़ेल हो जाएगा.
XCTest (इसमें XCUITests भी शामिल हैं): यह एक यूनिट टेस्ट है, जिसे आपने XCTest फ़्रेमवर्क का इस्तेमाल करके लिखा है. Test Lab के साथ चलाने के लिए, XCTest में बदलाव करने से जुड़े निर्देशों के लिए, XCTest बनाएं पर जाएं.
गेम लूप टेस्ट: यह एक ऐसा टेस्ट है जिसमें "डेमो मोड" का इस्तेमाल किया जाता है. इससे गेमिंग ऐप्लिकेशन में, खिलाड़ी की कार्रवाइयों को सिम्युलेट किया जा सकता है. यह पुष्टि करने का तेज़ और बेहतर तरीका है कि आपका गेम उपयोगकर्ताओं के लिए अच्छी परफ़ॉर्म कर रहा है. गेम लूप टेस्ट चलाने का विकल्प चुनने पर, ये काम किए जा सकते हैं:
अपने गेम इंजन के लिए नेटिव टेस्ट लिखें.
अलग-अलग यूज़र इंटरफ़ेस (यूआई) या टेस्टिंग फ़्रेमवर्क के लिए, एक ही कोड लिखने से बचें.
एक ही टेस्ट एक्ज़ीक्यूशन में चलाने के लिए, कई लूप बनाए जा सकते हैं. हालांकि, ऐसा करना ज़रूरी नहीं है. लेबल का इस्तेमाल करके भी लूप व्यवस्थित किए जा सकते हैं, ताकि उन्हें ट्रैक किया जा सके और खास लूप को फिर से चलाया जा सके.
Test Lab में टेस्ट चलाने का तरीका जानने के लिए, गेम लूप टेस्ट चलाना पर जाएं.
दूसरा चरण: टेस्ट चलाने के लिए कोई टूल चुनें
टेस्ट चलाने के लिए, इनमें से कोई टूल चुना जा सकता है:
Firebase कंसोल की मदद से, ऐप्लिकेशन अपलोड किया जा सकता है. साथ ही, कहीं से भी टेस्टिंग शुरू की जा सकती है. इस टूल को इस्तेमाल करने के निर्देशों के लिए, Firebase कंसोल की मदद से जांच करना लेख पढ़ें.
gcloud कमांड लाइन इंटरफ़ेस (सीएलआई) की मदद से, कमांड लाइन से इंटरैक्टिव तरीके से टेस्ट चलाए जा सकते हैं. यह स्क्रिप्टिंग के लिए भी सही है. इसका इस्तेमाल, ऑटोमेटेड बिल्ड और टेस्टिंग प्रोसेस के हिस्से के तौर पर किया जा सकता है. इस टूल को इस्तेमाल करने के निर्देशों के लिए, gcloud CLI की मदद से टेस्ट करना लेख पढ़ें.
असली डिवाइसों पर जांच करने से पहले, सिम्युलेटर पर स्थानीय तौर पर जांच करें. इससे यह पक्का किया जा सकेगा कि जांच सही तरीके से काम कर रही है. निर्देशों के लिए, स्थानीय तौर पर टेस्ट करना लेख पढ़ें.
तीसरा चरण: टेस्ट करने के लिए डिवाइसों के बारे में जानकारी देना
Test Lab की मदद से, Google के डेटा सेंटर में होस्ट किए गए अलग-अलग तरह के iOS डिवाइसों और मॉडल पर, अपने ऐप्लिकेशन की टेस्टिंग की जा सकती है. ज़्यादा जानने के लिए, उपलब्ध डिवाइस देखें.
चौथा चरण: जांच के नतीजों की समीक्षा करना
आपने जांच शुरू करने के लिए जो भी तरीका चुना हो, जांच के सभी नतीजों को Test Lab मैनेज करता है. इन्हें ऑनलाइन देखा जा सकता है.
टेस्ट के नतीजों की खास जानकारी अपने-आप सेव हो जाती है. इसे Firebase कंसोल में देखा जा सकता है. इसमें आपकी जांच के लिए सबसे काम का डेटा होता है. जैसे, टेस्ट केस के हिसाब से वीडियो, स्क्रीनशॉट, पास, फ़ेल या फ़्लेकी नतीजे देने वाले टेस्ट की संख्या वगैरह.
टेस्ट के रॉ नतीजे में, टेस्ट के लॉग और ऐप्लिकेशन के काम न करने की जानकारी शामिल होती है. यह जानकारी, Google Cloud बकेट में अपने-आप सेव हो जाती है. अगर आपने कोई बकेट तय की है, तो स्टोरेज का शुल्क आपको चुकाना होगा. अगर आपने कोई बकेट तय नहीं की है, तो Test Lab आपके लिए एक बकेट बनाता है. इसके लिए, आपसे कोई शुल्क नहीं लिया जाता.
ज़्यादा जानकारी के लिए, Firebase Test Lab के नतीजे देखें लेख पढ़ें.
डिवाइस का डेटा मिटाना
Google, आपके ऐप्लिकेशन के डेटा की सुरक्षा को बहुत गंभीरता से लेता है. हम हर टेस्ट रन के बाद, फ़िज़िकल डिवाइसों से ऐप्लिकेशन का डेटा हटाने और सिस्टम सेटिंग रीसेट करने के लिए, इंडस्ट्री स्टैंडर्ड के सबसे सही तरीकों का पालन करते हैं. इससे यह पक्का किया जा सकता है कि डिवाइस, नए टेस्ट रन के लिए तैयार हैं. जिन डिवाइसों पर हम कस्टम रिकवरी इमेज फ़्लैश कर सकते हैं उन पर हम टेस्ट रन के बीच में, इन डिवाइसों को फ़्लैश करते हैं.
Test Lab के इस्तेमाल किए गए वर्चुअल डिवाइसों के लिए, डिवाइस इंस्टेंस का इस्तेमाल होने के बाद उन्हें मिटा दिया जाता है. ऐसा इसलिए किया जाता है, ताकि हर टेस्ट रन में नए वर्चुअल डिवाइस इंस्टेंस का इस्तेमाल किया जा सके.
Test Lab डिवाइसों को निजी बैकएंड सर्वर ऐक्सेस करने की अनुमति देना
कुछ मोबाइल ऐप्लिकेशन को टेस्टिंग के दौरान ठीक से काम करने के लिए, निजी बैकएंड सेवाओं से कम्यूनिकेट करने की ज़रूरत होती है. अगर आपके बैकएंड सर्वर, फ़ायरवॉल के नियमों से सुरक्षित हैं, तो 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 (added 02-2022) 108.177.29.64/27 (फ़रवरी 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 (सितंबर 2025 में जोड़ा गया) 108.177.6.0/27 (सितंबर 2025 में जोड़ा गया) 108.177.24.160/27 (added 09-2025) 108.177.29.0/27 (added 09-2025) |
| Android वर्चुअल डिवाइस (नॉन-आर्म) |
34.68.194.64/29 (added 11-2019) 34.69.234.64/29 (added 11-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 में हटाया गया) |