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

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 CLI में gcloud beta firebase test ip-blocks list कमांड का इस्तेमाल करके भी इस सूची को ऐक्सेस किया जा सकता है. यह सूची साल में औसतन एक बार अपडेट की जाती है.

प्लैटफ़ॉर्म और डिवाइस का टाइप सीआईडीआर आईपी पता ब्लॉक
Android और iOS फ़िज़िकल डिवाइस, Arm वर्चुअल डिवाइस

70.32.128.0/19 (02-2022 को जोड़ा गया)

108.177.6.0/23

108.177.18.192/26 (02-2022 को जोड़ा गया)

108.177.29.64/27 (02-2022 को बड़ा किया गया)

108.177.31.160/27 (02-2022 को जोड़ा गया)

199.36.156.8/29 (02-2022 को जोड़ा गया)

199.36.156.16/28 (02-2022 को जोड़ा गया)

209.85.131.0/27 (02-2022 को जोड़ा गया)

2001:4860:1008::/48 (02-2022 को जोड़ा गया)

2001:4860:1018::/48 (02-2022 को जोड़ा गया)

2001:4860:1019::/48 (02-2022 को जोड़ा गया)

2001:4860:1020::/48 (02-2022 को जोड़ा गया)

2001:4860:1022::/48 (02-2022 को जोड़ा गया)

70.32.128.48/28 (04-2024 को जोड़ा गया)

Android वर्चुअल डिवाइस (नॉन-आर्म)

34.68.194.64/29 (11-2019 को जोड़ा गया)

34.69.234.64/29 (11-2019 को जोड़ा गया)

34.73.34.72/29 (11-2019 को जोड़ा गया)

34.73.178.72/29 (11-2019 को जोड़ा गया)

34.74.10.72/29 (02-2022 को जोड़ा गया)

34.136.2.136/29 (02-2022 को जोड़ा गया)

34.136.50.136/29 (02-2022 को जोड़ा गया)

34.145.234.144/29 (02-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 (7-2019 को जोड़ा गया)

35.245.243.240/29 (02-2022 को जोड़ा गया)

199.192.115.0/30

199.192.115.8/30

199.192.115.16/29

डिवाइस के आईपी ब्लॉक इस्तेमाल नहीं किए जा रहे

74.125.122.32/29 (02-2022 को हटाया गया)

216.239.44.24/29 (02-2022 को हटाया गया)