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 (added 02-2022) 108.177.6.0/23 108.177.18.192/26 (फ़रवरी 2022 में जोड़ा गया) 108.177.29.64/27 (बढ़ाया गया 02-2022) 108.177.31.160/27 (added 02-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 (10-2025 को जोड़ा गया) 2001:4860:101e::/48 (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 (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 (नवंबर 2019 में जोड़ा गया) 34.73.34.72/29 (नवंबर 2019 में जोड़ा गया) 34.73.178.72/29 (नवंबर 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 में हटाया गया) |