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 की मदद से, अपने ऐप्लिकेशन को iOS के अलग-अलग डिवाइसों और मॉडल पर टेस्ट किया जा सकता है. ये डिवाइस और मॉडल, Google के डेटा सेंटर में होस्ट किए जाते हैं. ज़्यादा जानने के लिए, उपलब्ध डिवाइस लेख पढ़ें.
चौथा चरण: जांच के नतीजों की समीक्षा करना
आपने जांच शुरू करने के लिए कोई भी तरीका चुना हो, जांच के सभी नतीजों को 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 (फ़रवरी 2022 में जोड़ा गया) 108.177.6.0/23 108.177.18.192/26 (फ़रवरी 2022 में जोड़ा गया) 108.177.29.64/27 (फ़रवरी 2022 में बढ़ाया गया) 108.177.31.160/27 (added 02-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 में जोड़ा गया) 70.32.128.48/28 (अप्रैल 2024 में जोड़ा गया) |
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 (added 11-2019) 34.74.10.72/29 (added 02-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 में हटाया गया) |