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