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