Firebase Test Lab की मदद से, कई तरह के डिवाइसों और कॉन्फ़िगरेशन पर अपने ऐप्लिकेशन की जांच की जा सकती है. शुरू करने के लिए बनी इस गाइड में, को लागू करने का तरीका बताया गया है. साथ ही, इसमें Test Lab's Android से जुड़ी सुविधाओं के बारे में भी जानकारी दी गई है.
Test Lab के कोटा और कीमत की योजनाओं के बारे में जानने के लिए, इस्तेमाल, कोटा, और कीमत लेख पढ़ें.
मुख्य सिद्धांत
जब चुने गए डिवाइसों और कॉन्फ़िगरेशन के हिसाब से, कोई टेस्ट या टेस्ट केस का सेट चलाया जाता है, तो Test Lab आपके ऐप्लिकेशन के लिए बैच में टेस्ट चलाता है. इसके बाद, नतीजों को टेस्ट मैट्रिक्स के तौर पर दिखाता है.
डिवाइस × टेस्ट के तरीके = टेस्ट मैट्रिक्स
- डिवाइस
- कोई फ़िज़िकल या वर्चुअल डिवाइस (सिर्फ़ Android), जिस पर टेस्ट चलाया जाता है. जैसे, फ़ोन, टैबलेट या पहने जाने वाला डिवाइस. टेस्ट मैट्रिक्स में मौजूद डिवाइसों की पहचान, डिवाइस के मॉडल, ओएस वर्शन, स्क्रीन ओरिएंटेशन, और स्थानीय भाषा (इसे भौगोलिक और भाषा सेटिंग भी कहा जाता है) के हिसाब से की जाती है.
- टेस्ट, टेस्ट का तरीका
- किसी डिवाइस पर चलाया जाने वाला टेस्ट (या टेस्ट केस का सेट). हर डिवाइस पर एक टेस्ट चलाया जा सकता है. इसके अलावा, टेस्ट को बांटा भी जा सकता है और उसके टेस्ट केस अलग-अलग डिवाइसों पर चलाए जा सकते हैं.
- टेस्ट मैट्रिक्स
- इसमें, टेस्ट के तरीकों की स्थितियां और नतीजे शामिल होते हैं. अगर किसी मैट्रिक्स में, टेस्ट का कोई तरीका काम नहीं करता है, तो पूरा मैट्रिक्स काम नहीं करता.
पहला चरण: Test Lab पर अपलोड करने के लिए, अपने टेस्ट की तैयारी करना
टेस्ट के उपलब्ध टाइप
Test Lab की मदद से, ये टेस्ट चलाए जा सकते हैं. ध्यान दें कि सभी तरह के टेस्ट, फ़िज़िकल डिवाइसों पर 45 मिनट और वर्चुअल डिवाइसों पर 60 मिनट तक ही चलाए जा सकते हैं. अगर कोई ऐसी गड़बड़ी होती है जिसे पकड़ा नहीं जा सका, तो टेस्ट फ़ेल हो जाएगा.
इंस्ट्रुमेंटेशन टेस्ट या इंस्ट्रुमेंटेड यूनिट टेस्ट: यह ऐसा टेस्ट है जिसे Espresso या UI Automator फ़्रेमवर्क का इस्तेमाल करके लिखा गया है. इस टेस्ट की मदद से, AndroidJUnitRunnerAPIsका इस्तेमाल करके, यह पुष्टि की जा सकती है कि आपका ऐप्लिकेशन सही तरीके से काम कर रहा है या नहीं. इसके लिए, ऐप्लिकेशन की स्थिति के बारे में साफ़ तौर पर दावे किए जा सकते हैं.
Test Lab में टेस्ट चलाने के लिए, उसे तैयार करने का तरीका जानने के लिए, इंस्ट्रुमेंटेशन टेस्ट चलाना लेख पढ़ें.Test Lab
इंस्ट्रुमेंटेशन टेस्ट बनाने का तरीका जानने के लिए, Android Developers का दस्तावेज़ देखें.
Robo टेस्ट: यह एक ऑटोमेटेड टेस्ट है, जो आपके ऐप्लिकेशन के यूज़र इंटरफ़ेस (यूआई) का विश्लेषण करता है. इसके बाद, उपयोगकर्ता की गतिविधियों को सिम्युलेट करके, व्यवस्थित तरीके से यूआई को एक्सप्लोर करता है. इसके लिए, आपको कोई कोड लिखने की ज़रूरत नहीं होती. ज़्यादा जानकारी के लिए, Robo टेस्ट के बारे में लेख पढ़ें.
गेम लूप टेस्ट: यह एक ऐसा टेस्ट है जो गेमिंग ऐप्लिकेशन में, प्लेयर की गतिविधियों को सिम्युलेट करने के लिए "डेमो मोड" का इस्तेमाल करता है. यह पुष्टि करने का एक तेज़ और स्केलेबल तरीका है कि आपका गेम, उपयोगकर्ताओं के लिए अच्छी तरह से काम करता है. गेम लूप टेस्ट चलाने के लिए, ये काम किए जा सकते हैं:
अपने गेम इंजन के लिए, नेटिव टेस्ट लिखना
अलग-अलग यूज़र इंटरफ़ेस (यूआई) या टेस्टिंग फ़्रेमवर्क के लिए, एक ही कोड लिखने से बचना
एक टेस्ट के दौरान, एक से ज़्यादा लूप चलाने के लिए, अलग-अलग लूप बनाना (ज़्यादा जानने के लिए, गेम लूप टेस्ट के बारे में लेख पढ़ें). लूप को लेबल का इस्तेमाल करके व्यवस्थित भी किया जा सकता है. इससे, उन्हें ट्रैक किया जा सकता है और खास लूप को फिर से चलाया जा सकता है.
यह टेस्ट चलाने का तरीका जानने के लिए, गेम लूप टेस्ट चलाना लेख पढ़ें. Test Lab
टेस्ट चलाने के लिए टूल
टेस्ट चलाने के लिए, इनमें से कोई टूल चुना जा सकता है:
पहली बार इस्तेमाल करने वाले लोगों के लिए सुझाव: Firebase कंसोल की मदद से, ऐप्लिकेशन अपलोड किया जा सकता है और वेब ब्राउज़र से टेस्टिंग शुरू की जा सकती है. इस टूल का इस्तेमाल करके टेस्ट चलाने का तरीका जानने के लिए, कंसोल की मदद से टेस्ट करना लेख पढ़ें.Firebase
Android Studio के साथ इंटिग्रेशन की मदद से, डेवलपमेंट एनवायरमेंट से बाहर निकले बिना अपने ऐप्लिकेशन की जांच की जा सकती है. इस टूल का इस्तेमाल करके टेस्ट चलाने का तरीका जानने के लिए, Android Studio की मदद से टेस्ट करना लेख पढ़ें.
gcloud कमांड लाइन इंटरफ़ेस की मदद से, कमांड लाइन से इंटरैक्टिव तरीके से टेस्ट चलाए जा सकते हैं. साथ ही, यह ऑटोमेटेड बिल्ड और टेस्टिंग प्रोसेस के तहत स्क्रिप्टिंग के लिए भी सही है. इस टूल का इस्तेमाल करके टेस्ट चलाने का तरीका जानने के लिए, gcloud सीएलआई की मदद से टेस्ट करना लेख पढ़ें.
Play Store पर, अल्फ़ा या बीटा चैनल का इस्तेमाल करके, अपने ऐप्लिकेशन की APK फ़ाइलें अपलोड और पब्लिश करने पर, Test Lab की मदद से अपने ऐप्लिकेशन को बिना किसी शुल्क के टेस्ट किया जा सकता है. ज़्यादा जानकारी के लिए, समस्याओं का पता लगाने के लिए लॉन्च से पहले की रिपोर्ट और Robo टेस्ट का इस्तेमाल करना लेख पढ़ें.
दूसरा चरण: टेस्ट करने के लिए डिवाइस चुनना
Test Lab Google के डेटा सेंटर में इंस्टॉल और चालू किए गए, Android डिवाइसों के कई मेक और मॉडल पर टेस्ट करने की सुविधा देता है. Test Lab में मौजूद डिवाइसों पर टेस्ट करने से, उन समस्याओं का पता लगाया जा सकता है जो Android Studio में एम्युलेटर का इस्तेमाल करके अपने ऐप्लिकेशन की जांच करते समय नहीं दिखती हैं.Test Lab ज़्यादा जानने के लिए, उपलब्ध डिवाइस लेख पढ़ें.
तीसरा चरण: टेस्ट के नतीजों की समीक्षा करना
टेस्ट शुरू करने के तरीके के बावजूद, आपके सभी टेस्ट के नतीजों को Test Lab मैनेज करता है. इन्हें ऑनलाइन देखा जा सकता है.
टेस्ट के नतीजों की खास जानकारी अपने-आप सेव हो जाती है. इसे Firebase कंसोल में देखा जा सकता है. इसमें, आपके टेस्ट का सबसे काम का डेटा शामिल होता है. जैसे, टेस्ट केस के हिसाब से वीडियो, स्क्रीनशॉट, पास, फ़ेल या फ़्लेकी नतीजे देने वाले टेस्ट की संख्या वगैरह.
टेस्ट के रॉ नतीजे में, टेस्ट लॉग और ऐप्लिकेशन के फ़ेल होने की जानकारी शामिल होती है. यह Google Cloud बकेट में अपने-आप सेव हो जाती है. अगर कोई बकेट तय की जाती है, तो स्टोरेज का खर्च आपको चुकाना होगा. अगर कोई बकेट तय नहीं की जाती है, तो Test Lab आपके लिए बिना किसी शुल्क के एक बकेट बनाता है.
ज़्यादा जानकारी के लिए, नतीजों का विश्लेषण करना लेख पढ़ें.Firebase Test Lab
Android Studio से टेस्ट शुरू करने पर, डेवलपमेंट एनवायरमेंट में भी टेस्ट के नतीजों की समीक्षा की जा सकती है.
डिवाइस को साफ़ करना
Google, आपके ऐप्लिकेशन के डेटा की सुरक्षा को बहुत गंभीरता से लेता है. हम इंडस्ट्री के स्टैंडर्ड के हिसाब से, सबसे सही तरीकों का पालन करते हैं. इससे, हर टेस्ट के बाद, फ़िज़िकल डिवाइसों से ऐप्लिकेशन का डेटा हटाया जाता है और सिस्टम सेटिंग रीसेट की जाती हैं. ऐसा इसलिए किया जाता है, ताकि यह पक्का किया जा सके कि वे नए टेस्ट चलाने के लिए तैयार हैं. जिन डिवाइसों को हम कस्टम रिकवरी इमेज से फ़्लैश कर सकते हैं, उनके लिए हम एक कदम और आगे बढ़ते हैं. हम टेस्ट के दौरान, इन डिवाइसों को फ़्लैश करते हैं.
Test Lab में इस्तेमाल किए जाने वाले वर्चुअल डिवाइसों के लिए, डिवाइस इंस्टेंस इस्तेमाल होने के बाद मिटा दिए जाते हैं. इससे, हर टेस्ट के दौरान, वर्चुअल डिवाइस का नया इंस्टेंस इस्तेमाल किया जाता है.
Test Lab और Google Play सेवाएं
Test Lab डिवाइस आम तौर पर, Google Play सेवाओं के एसडीके के नए वर्शन पर काम करते हैं. हालांकि, एसडीके का नया वर्शन रिलीज़ होने के बाद, कुछ डिवाइसों को अपडेट होने में कुछ दिन लग सकते हैं. ध्यान दें कि कुछ डिवाइसों के साथ, आपको कंपैटबिलटी से जुड़ी समस्याएं आ सकती हैं.
टेस्ट डिवाइसों को निजी बैकएंड सर्वर ऐक्सेस करने की अनुमति देना
कुछ मोबाइल ऐप्लिकेशन को टेस्ट के दौरान, सही तरीके से काम करने के लिए, निजी बैकएंड सेवाओं के साथ कम्यूनिकेट करने की ज़रूरत होती है. अगर आपके बैकएंड सर्वर, फ़ायरवॉल के नियमों से सुरक्षित हैं, तो Test Lab's के फ़िज़िकल और वर्चुअल डिवाइसों को ऐक्सेस करने की अनुमति दी जा सकती है. इसके लिए, अपने फ़ायरवॉल के ज़रिए रूट खोलने के लिए, नीचे दिए गए आईपी पते के ब्लॉक का इस्तेमाल करें.
मोबाइल ऐडवर्टाइज़िंग
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 (फ़रवरी 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 में हटाया गया) |