iOS के लिए Firebase टेस्ट लैब का इस्तेमाल शुरू करना

Firebase Test Lab की मदद से, अलग-अलग डिवाइसों और कॉन्फ़िगरेशन पर अपने ऐप्लिकेशन की क्वालिटी की जांच की जा सकती है. इस गाइड में, Test Lab's के मुख्य सिद्धांतों, iOS के लिए उपलब्ध सुविधाओं, और जांच शुरू करने के तरीके के बारे में खास जानकारी दी गई है.

Test Lab के कोटा और कीमत की योजनाओं के बारे में जानने के लिए, इस्तेमाल, कोटा, और कीमत देखें.

ज़रूरी कॉन्सेप्ट और शब्द

जब चुने गए डिवाइसों और कॉन्फ़िगरेशन के लिए, कोई टेस्ट या टेस्ट केस का सेट चलाया जाता है, तो Test Lab आपके ऐप्लिकेशन के लिए बैच में टेस्ट चलाता है. इसके बाद, नतीजे टेस्ट मैट्रिक्स के तौर पर दिखाता है.

डिवाइस × टेस्ट के तरीके = टेस्ट मैट्रिक्स

डिवाइस
कोई फ़िज़िकल या वर्चुअल डिवाइस (सिर्फ़ Android), जिस पर टेस्ट चलाया जाता है. जैसे, फ़ोन, टैबलेट या पहने जाने वाला डिवाइस. टेस्ट मैट्रिक्स में डिवाइसों की पहचान, डिवाइस मॉडल, ओएस वर्शन, स्क्रीन ओरिएंटेशन, और स्थानीय भाषा (इसे भौगोलिक सेटिंग और भाषा सेटिंग भी कहा जाता है) के हिसाब से की जाती है.
टेस्ट, टेस्ट का तरीका
किसी डिवाइस पर चलाया जाने वाला टेस्ट (या टेस्ट केस का सेट). हर डिवाइस पर एक टेस्ट चलाया जा सकता है. इसके अलावा, टेस्ट को अलग-अलग हिस्सों में बांटा जा सकता है और उसके टेस्ट केस अलग-अलग डिवाइसों पर चलाए जा सकते हैं.
टेस्ट मैट्रिक्स
इसमें, टेस्ट के तरीकों की स्थितियां और नतीजे शामिल होते हैं. अगर मैट्रिक्स में कोई टेस्ट का तरीका काम नहीं करता है, तो पूरा मैट्रिक्स काम नहीं करता.

पहला चरण: Test Lab पर अपलोड करने के लिए, अपने टेस्ट की तैयारी करना

Test Lab की मदद से, ये टेस्ट चलाए जा सकते हैं. ध्यान दें कि सभी तरह के टेस्ट, फ़िज़िकल डिवाइसों पर ज़्यादा से ज़्यादा 45 मिनट तक चल सकते हैं. साथ ही, अगर कोई ऐसी गड़बड़ी होती है जिसे पकड़ा नहीं जा सका, तो टेस्ट फ़ेल हो जाएगा.

  • XCTest (इसमें XCUITests भी शामिल हैं): यह एक यूनिट टेस्ट है, जिसे आपने XCTest फ़्रेमवर्क का इस्तेमाल करके लिखा है. Test Lab के साथ काम करने के लिए, XCTest में बदलाव करने के निर्देश पाने के लिए, XCTest बनाना लेख पढ़ें.Test Lab

  • Robo test: यह एक ऑटोमेटेड टेस्ट है, जो आपके ऐप्लिकेशन के यूज़र इंटरफ़ेस (यूआई) का विश्लेषण करता है. इसके बाद, उपयोगकर्ता की गतिविधियों को सिम्युलेट करके, व्यवस्थित तरीके से उसकी जांच करता है. इसके लिए, आपको कोई कोड लिखने की ज़रूरत नहीं होती. ज़्यादा जानकारी के लिए, Robo test के बारे में जानकारी देखें.

  • गेम लूप टेस्ट: यह एक टेस्ट है, जो गेमिंग ऐप्लिकेशन में प्लेयर की गतिविधियों को सिम्युलेट करने के लिए, "डेमो मोड" का इस्तेमाल करता है. यह पुष्टि करने का एक तेज़ और स्केलेबल तरीका है कि आपका गेम, उपयोगकर्ताओं के लिए अच्छी परफ़ॉर्मेंस दे रहा है. Game Loop test चलाने के लिए, ये काम किए जा सकते हैं:

    • अपने गेम इंजन के लिए, नेटिव टेस्ट लिखना.

    • अलग-अलग यूज़र इंटरफ़ेस (यूआई) या टेस्टिंग फ़्रेमवर्क के लिए, एक ही कोड लिखने से बचना.

    • एक ही टेस्ट के तरीके में, एक से ज़्यादा लूप बनाना. लूप को लेबल का इस्तेमाल करके भी व्यवस्थित किया जा सकता है. इससे, उन्हें ट्रैक किया जा सकता है और खास लूप को फिर से चलाया जा सकता है.

    Test LabTest Lab में अपना टेस्ट चलाने के तरीके के बारे में निर्देश पाने के लिए, गेम लूप टेस्ट चलाना लेख पढ़ें.

दूसरा चरण: टेस्ट चलाने के लिए कोई टूल चुनना

टेस्ट चलाने के लिए, इनमें से कोई टूल चुना जा सकता है:

  • Firebase कंसोल की मदद से, किसी भी जगह से ऐप्लिकेशन अपलोड किया जा सकता है और टेस्टिंग शुरू की जा सकती है. इस टूल का इस्तेमाल करने के निर्देश पाने के लिए, Test with the Firebase console लेख पढ़ें.

  • gcloud कमांड लाइन इंटरफ़ेस (सीएलआई) की मदद से, कमांड लाइन से इंटरैक्टिव तरीके से टेस्ट चलाए जा सकते हैं. साथ ही, यह ऑटोमेटेड बिल्ड और टेस्टिंग प्रोसेस के हिस्से के तौर पर स्क्रिप्टिंग के लिए भी सही है. इस टूल का इस्तेमाल करने के निर्देश पाने के लिए, gcloud सीएलआई की मदद से टेस्ट करना लेख पढ़ें.

  • असली डिवाइसों पर टेस्ट करने से पहले, सिम्युलेटर पर स्थानीय तौर पर टेस्ट चलाएं. इससे यह पक्का किया जा सकेगा कि यह उम्मीद के मुताबिक काम कर रहा है. निर्देश पाने के लिए, स्थानीय तौर पर टेस्ट करना लेख पढ़ें.

तीसरा चरण: टेस्टिंग डिवाइस तय करना

Test Lab की मदद से, Google के डेटा सेंटर में होस्ट किए गए iOS डिवाइसों और मॉडल की अलग-अलग रेंज पर, अपने ऐप्लिकेशन के लिए टेस्ट चलाया जा सकता है. ज़्यादा जानने के लिए, उपलब्ध डिवाइस देखें.

चौथा चरण: टेस्ट के नतीजे देखना

टेस्ट शुरू करने के तरीके के बावजूद, आपके सभी टेस्ट के नतीजों को Test Lab मैनेज करता है. इन्हें ऑनलाइन देखा जा सकता है.

टेस्ट के नतीजों की खास जानकारी अपने-आप सेव हो जाती है. इसे Firebase कंसोल में देखा जा सकता है. इसमें आपके टेस्ट का सबसे काम का डेटा शामिल होता है. जैसे, टेस्ट केस के हिसाब से वीडियो, स्क्रीनशॉट, पास हुए, फ़ेल हुए या गड़बड़ी वाले नतीजे देने वाले टेस्ट की संख्या वगैरह.

टेस्ट के रॉ नतीजे में, टेस्ट लॉग और ऐप्लिकेशन के फ़ेल होने की जानकारी शामिल होती है. यह Google Cloud बकेट में अपने-आप सेव हो जाती है. अगर कोई बकेट तय की जाती है, तो स्टोरेज का खर्च आपको चुकाना होगा. अगर कोई बकेट तय नहीं की जाती है, तो Test Lab आपके लिए एक बकेट बनाता है. इसके लिए, आपसे कोई शुल्क नहीं लिया जाता.

ज़्यादा जानकारी के लिए, नतीजों का विश्लेषण करनाFirebase Test Lab लेख पढ़ें.

डिवाइस को साफ़ करना

Google, आपके ऐप्लिकेशन के डेटा की सुरक्षा को बहुत गंभीरता से लेता है. हम ऐप्लिकेशन का डेटा हटाने और हर टेस्ट के बाद, फ़िज़िकल डिवाइसों की सिस्टम सेटिंग रीसेट करने के लिए, इंडस्ट्री के स्टैंडर्ड के हिसाब से सबसे सही तरीकों का पालन करते हैं. इससे यह पक्का किया जाता है कि वे नए टेस्ट चलाने के लिए तैयार हैं. जिन डिवाइसों को हम कस्टम रिकवरी इमेज के साथ फ़्लैश कर सकते हैं, उनके लिए हम एक कदम और आगे बढ़ते हैं. हम टेस्ट के बीच इन डिवाइसों को फ़्लैश करते हैं.

Test Lab के इस्तेमाल किए जाने वाले वर्चुअल डिवाइसों के लिए, डिवाइस इंस्टेंस का इस्तेमाल होने के बाद उन्हें मिटा दिया जाता है. इससे, हर टेस्ट के लिए, वर्चुअल डिवाइस का नया इंस्टेंस इस्तेमाल किया जाता है.


Test Lab डिवाइसों को, निजी बैकएंड सर्वर ऐक्सेस करने की अनुमति देना

कुछ मोबाइल ऐप्लिकेशन को, टेस्टिंग के दौरान ठीक से काम करने के लिए, निजी बैकएंड सेवाओं के साथ कम्यूनिकेट करने की ज़रूरत होती है. अगर आपके बैकएंड सर्वर, फ़ायरवॉल के नियमों से सुरक्षित हैं, तो Test Lab'के फ़िज़िकल और वर्चुअल डिवाइसों को ऐक्सेस की अनुमति दी जा सकती है. इसके लिए, अपने फ़ायरवॉल के ज़रिए रूट खोलने के लिए, नीचे दिए गए आईपी पते के ब्लॉक का इस्तेमाल करें.

मोबाइल ऐडवर्टाइज़िंग

Test Lab एक स्केलेबल इन्फ़्रास्ट्रक्चर उपलब्ध कराता है, जो ऐप्लिकेशन की टेस्टिंग को ऑटोमेट करता है. हालांकि, इस सुविधा का गलत इस्तेमाल, नुकसान पहुंचाने वाले ऐप्लिकेशन कर सकते हैं. ये ऐप्लिकेशन, धोखाधड़ी से विज्ञापन से होने वाली आय जनरेट करने के लिए डिज़ाइन किए जाते हैं.

इस समस्या को कम करने के लिए:

  • अगर तीसरे पक्ष के डिजिटल विज्ञापन देने वाले प्रोवाइडर (उदाहरण के लिए, विज्ञापन नेटवर्क या डिमांड-साइड प्लैटफ़ॉर्म) का इस्तेमाल किया जाता है या उनके साथ काम किया जाता है, तो हमारा सुझाव है कि ऐप्लिकेशन डेवलपमेंट और टेस्टिंग के दौरान, असली विज्ञापनों के बजाय टेस्ट विज्ञापन इस्तेमाल करें.

  • अगर टेस्ट में असली विज्ञापनों का इस्तेमाल करना ज़रूरी है, तो डिजिटल विज्ञापन देने वाले उन प्रोवाइडर को सूचना दें जिनके साथ काम किया जाता है. सूचना में, उन्हें Test LabTest 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 (फ़रवरी 2022 में बड़ा किया गया)

108.177.31.160/27 (फ़रवरी 2022 में जोड़ा गया)

199.36.156.8/29 (फ़रवरी 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 (फ़रवरी 2022 में जोड़ा गया)

2001:4860:1022::/48 (फ़रवरी 2022 में जोड़ा गया)

2001:4860:101d::/48 (अक्टूबर 2025 में जोड़ा गया)

2001:4860:101e::/48 (अक्टूबर 2025 में जोड़ा गया)

2001:4860:1031::/48 (अक्टूबर 2025 में जोड़ा गया)

70.32.128.48/28 (अप्रैल 2024 में जोड़ा गया)

70.32.150.192/27 (सितंबर 2025 में जोड़ा गया)

108.177.6.0/27 (सितंबर 2025 में जोड़ा गया)

108.177.24.160/27 (सितंबर 2025 में जोड़ा गया)

108.177.29.0/27 (सितंबर 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 के वर्चुअल डिवाइस (Non-Arm)

34.68.194.64/29 (नवंबर 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 (फ़रवरी 2022 में हटाया गया)

216.239.44.24/29 (फ़रवरी 2022 में हटाया गया)