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

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

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

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

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

    Test Lab में अपना टेस्ट चलाने के तरीके के बारे में जानने के लिए, गेम लूप टेस्ट चलाना लेख पढ़ें.Test 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 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 के वर्चुअल डिवाइस (नॉन-आर्म)

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 में हटाया गया)