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 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 से जनरेट होने वाले रेवेन्यू और उससे जुड़े सभी ट्रैफ़िक को फ़िल्टर करने के लिए कहें. Google के मालिकाना हक वाले विज्ञापन देने वाले प्रोवाइडर को सूचना देने की ज़रूरत नहीं है. Test Lab यह काम आपके लिए करता है.
Test Lab डिवाइसों से इस्तेमाल किए जाने वाले आईपी पते
Test Lab डिवाइसों से जनरेट होने वाला सभी नेटवर्क ट्रैफ़िक,
आईपी पतों के इन ब्लॉक से आता है.
gcloud सीएलआई में,
gcloud beta firebase test ip-blocks list
कमांड
का इस्तेमाल करके भी इस सूची को ऐक्सेस किया जा सकता है. इस सूची को साल में औसतन एक बार अपडेट किया जाता है.
| प्लैटफ़ॉर्म और डिवाइस का टाइप | सीआईडीआर आईपी पते का ब्लॉक |
|---|---|
| Android और iOS के फ़िज़िकल डिवाइस, आर्म वर्चुअल डिवाइस |
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 में हटाया गया) |