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 को हटाया गया) |