Firebase टेस्ट लैब की मदद से, Android के लिए टेस्टिंग शुरू करना

Firebase टेस्ट लैब की मदद से, कई तरह के डिवाइसों और कॉन्फ़िगरेशन पर अपने ऐप्लिकेशन की जांच की जा सकती है. इस 'शुरू करें' गाइड की मदद से, Android पर मिलने वाली सुविधाओं को लागू किया जा सकता है. साथ ही, Android की सुविधाओं के बारे में भी जाना जा सकता है.

टेस्ट लैब के कोटा और प्राइसिंग प्लान के बारे में जानने के लिए, इस्तेमाल, कोटा, और कीमत देखें.

मुख्य सिद्धांत

जब आपके चुने हुए डिवाइसों और कॉन्फ़िगरेशन के हिसाब से कोई टेस्ट या टेस्ट केस का सेट चलाया जाता है, तो Test Lab आपके ऐप्लिकेशन की जांच बैच में करता है. इसके बाद, नतीजों को टेस्ट मैट्रिक्स के तौर पर दिखाता है.

डिवाइस × टेस्ट एक्ज़ीक्यूशन = टेस्ट मैट्रिक्स

डिवाइस
कोई फ़िज़िकल या वर्चुअल डिवाइस (सिर्फ़ Android के लिए) जिसका टेस्ट किया जा रहा हो. जैसे, फ़ोन, टैबलेट या पहने जाने वाला डिवाइस. टेस्ट मैट्रिक्स में मौजूद डिवाइसों की पहचान, डिवाइस मॉडल, ओएस वर्शन, स्क्रीन ओरिएंटेशन, और स्थान-भाषा (इसे देश या इलाका और भाषा की सेटिंग भी कहा जाता है) से की जाती है.
टेस्ट, टेस्ट एक्ज़ीक्यूशन
डिवाइस पर चलाया जाने वाला टेस्ट या टेस्ट केस का सेट. हर डिवाइस के लिए एक टेस्ट चलाया जा सकता है. इसके अलावा, अलग-अलग डिवाइसों पर टेस्ट केस को चलाया जा सकता है.
टेस्ट मैट्रिक्स
इसमें, जांच के लागू होने के स्टेटस और उसके नतीजे शामिल होते हैं. अगर किसी मैट्रिक्स में कोई भी जांच नहीं हो पाती है, तो पूरा मैट्रिक्स फ़ेल हो जाता है.

पहला चरण: टेस्ट लैब में अपलोड करने के लिए, टेस्ट तैयार करना

टेस्ट के उपलब्ध टाइप

टेस्ट लैब का इस्तेमाल करके, ये टेस्ट किए जा सकते हैं. ध्यान दें कि सभी तरह की जांच सिर्फ़ फ़िज़िकल डिवाइसों पर 45 मिनट और वर्चुअल डिवाइसों पर 60 मिनट तक चल सकती हैं. किसी भी तरह के अपवाद की वजह से टेस्ट फ़ेल हो जाएगा.

  • इंस्ट्रुमेंटेशन टेस्ट या इंस्ट्रूमेंटेड यूनिट टेस्ट: यह ऐसा टेस्ट है जिसे आपने Espresso या यूज़र इंटरफ़ेस ऑटोमोटर फ़्रेमवर्क का इस्तेमाल करके लिखा है. इस टेस्ट की मदद से, अपने ऐप्लिकेशन की स्थिति के बारे में साफ़ तौर पर दावा किया जा सकता है. इससे AndroidJUnitRunnerAPIs का इस्तेमाल करके, सही फ़ंक्शन की पुष्टि की जा सकती है.

  • रोबो टेस्ट: यह एक ऑटोमेटेड टेस्ट है, जो आपके ऐप्लिकेशन के यूज़र इंटरफ़ेस (यूआई) का विश्लेषण करता है. इसके बाद, उपयोगकर्ता की गतिविधियों को सिम्युलेट करके, उसे सही तरीके से एक्सप्लोर करता है. इसके लिए, आपको कोई कोड लिखने की ज़रूरत नहीं होती. ज़्यादा जानकारी के लिए, रोबो टेस्ट के बारे में जानकारी पर जाएं.

  • गेम लूप टेस्ट: यह एक ऐसा टेस्ट है जो गेमिंग ऐप्लिकेशन में खिलाड़ी की कार्रवाइयों को सिम्युलेट करने के लिए, "डेमो मोड" का इस्तेमाल करता है. यह इस बात की पुष्टि करने का तेज़ और बढ़ाने लायक तरीका है कि आपका गेम उपयोगकर्ताओं के लिए अच्छा परफ़ॉर्म कर रहा है. अगर आपको गेम लूप टेस्ट चलाना है, तो ये काम किए जा सकते हैं:

    • अपने गेम इंजन के हिसाब से टेस्ट लिखें

    • अलग-अलग यूज़र इंटरफ़ेस (यूआई) या फ़्रेमवर्क की जांच के लिए एक ही कोड लिखने से बचें.

    • इसके अलावा, एक टेस्ट में चलाने के लिए कई लूप बनाएं. (ज़्यादा जानने के लिए, गेम लूप टेस्ट के बारे में जानकारी पर जाएं). आप लेबल का उपयोग करके लूप को भी व्यवस्थित कर सकते है, ताकि आप उनका ट्रैक रख सकें और विशिष्ट लूप को फिर से चला सकें.

    टेस्ट लैब के साथ इस टेस्ट को चलाने के निर्देशों के लिए, गेम लूप टेस्ट चलाना देखें.

टेस्ट करने के लिए टूल

टेस्ट करने के लिए, इन टूल को चुनें:

  • पहली बार इस्तेमाल करने वाले उपयोगकर्ताओं के लिए सुझाया गया: Firebase कंसोल आपको कोई ऐप्लिकेशन अपलोड करने और अपने वेब ब्राउज़र से टेस्ट शुरू करने की सुविधा देता है. इस टूल का इस्तेमाल करके टेस्ट करने के बारे में निर्देश पाने के लिए, Firebase कंसोल की मदद से जांच करना देखें.

  • Android Studio इंटिग्रेशन की मदद से, अपने डेवलपमेंट एनवायरमेंट को छोड़े बिना ऐप्लिकेशन को टेस्ट किया जा सकता है. इस टूल का इस्तेमाल करके टेस्ट करने के निर्देश पाने के लिए, Android Studio की मदद से जांच करना देखें.

  • gcloud कमांड लाइन इंटरफ़ेस की मदद से कमांड लाइन से इंटरैक्टिव तरीके से टेस्ट किए जा सकते हैं. साथ ही, यह ऑटोमेटेड बिल्ड और टेस्टिंग प्रोसेस के हिस्से के तौर पर, स्क्रिप्टिंग के लिए भी सही है. इस टूल का इस्तेमाल करके, टेस्ट करने के निर्देश पाने के लिए, gcloud सीएलआई की मदद से टेस्ट करें देखें.

ऐल्फ़ा या बीटा चैनल का इस्तेमाल करके, अपने ऐप्लिकेशन की APK फ़ाइलों को Play Store पर अपलोड और पब्लिश करते समय, टेस्ट लैब की मदद से अपने ऐप्लिकेशन को बिना किसी शुल्क के टेस्ट किया जा सकता है. ज़्यादा जानकारी के लिए, समस्याओं का पता लगाने के लिए प्री-लॉन्च रिपोर्ट का इस्तेमाल करना और रोबो टेस्ट देखें.

दूसरा चरण: अपना टेस्टिंग डिवाइस चुनें

टेस्ट लैब, Google डेटा सेंटर में इंस्टॉल किए गए और चलने वाले Android डिवाइसों के कई मॉडल और मॉडल पर टेस्टिंग की सुविधा देता है. टेस्ट लैब के डिवाइसों पर जांच करने से, उन समस्याओं का पता लगाने में मदद मिलती है जो शायद Android Studio में एम्युलेटर का इस्तेमाल करके आपके ऐप्लिकेशन की जांच करते समय न आती हों. ज़्यादा जानने के लिए, उपलब्ध डिवाइस देखें.

तीसरा चरण: जांच के नतीजों की समीक्षा करना

इस बात से कोई फ़र्क़ नहीं पड़ता कि आपने जांच किस तरह से शुरू की है. जांच के सभी नतीजों को टेस्ट लैब मैनेज करता है. साथ ही, इन्हें ऑनलाइन देखा जा सकता है.

जांच के नतीजे की खास जानकारी अपने-आप सेव होती है. इसे Firebase कंसोल में देखा जा सकता है. इसमें आपके टेस्ट के लिए सबसे काम का डेटा शामिल होता है. इसमें टेस्ट केस के हिसाब से वीडियो, स्क्रीनशॉट, पास हुए, फ़ेल हुए या खराब नतीजे पाने वाले टेस्ट की संख्या वगैरह शामिल है.

जांच के रॉ नतीजों में, टेस्ट लॉग और ऐप्लिकेशन की गड़बड़ी के बारे में जानकारी शामिल होती है. साथ ही, यह अपने-आप Google Cloud बकेट में सेव हो जाता है. अगर किसी बकेट की जानकारी दी जाती है, तो स्टोरेज की लागत के लिए ज़िम्मेदार होता है. अगर बकेट की जानकारी नहीं दी जाती है, तो Test Lab आपके लिए बिना किसी शुल्क के एक बकेट बना देता है.

ज़्यादा जानकारी के लिए, Firebase टेस्ट लैब के नतीजों का विश्लेषण करना देखें.

Android Studio से टेस्ट शुरू करने पर, अपने डेवलपमेंट एनवायरमेंट में जाकर भी टेस्ट के नतीजों की समीक्षा की जा सकती है.

डिवाइस का क्लीनअप

Google आपके ऐप्लिकेशन के डेटा की सुरक्षा को बहुत गंभीरता से लेता है. हम हर बार जांच करने के बाद, फ़िज़िकल डिवाइसों के लिए ऐप्लिकेशन का डेटा हटाने और सिस्टम की सेटिंग रीसेट करने के लिए, हम इंडस्ट्री स्टैंडर्ड के सबसे सही तरीके अपनाते हैं. इससे यह पक्का किया जाता है कि लोग नए टेस्ट करने के लिए तैयार हैं. जिन डिवाइसों को हम कस्टम रिकवरी इमेज के साथ फ़्लैश कर सकते हैं, हम उन्हें टेस्ट रन के बीच में फ़्लैश करके एक कदम आगे ले जाते हैं.

टेस्ट लैब में इस्तेमाल किए जाने वाले वर्चुअल डिवाइसों के लिए, डिवाइस इंस्टेंस को इस्तेमाल किए जाने के बाद मिटा दिया जाता है, ताकि हर टेस्ट रन एक नए वर्चुअल डिवाइस इंस्टेंस का इस्तेमाल करे.


टेस्ट लैब और Google Play की सेवाएं

आम तौर पर, टेस्ट लैब वाले डिवाइस, Google Play services SDK के सबसे नए वर्शन पर चलते हैं. हालांकि, एसडीके का नया वर्शन रिलीज़ होने के बाद, कुछ डिवाइसों को अपडेट करने में कुछ दिन लग सकते हैं. ध्यान रखें कि आपको कुछ डिवाइसों के साथ काम करने से जुड़ी समस्याएं आ सकती हैं.

जांच वाले डिवाइसों को निजी बैकएंड सर्वर ऐक्सेस करने की अनुमति देना

जांच के दौरान कुछ मोबाइल ऐप्लिकेशन को सही तरीके से काम करने के लिए, निजी बैकएंड सेवाओं के साथ संपर्क करना पड़ता है. अगर आपके बैकएंड सर्वर फ़ायरवॉल के नियमों से सुरक्षित हैं, तो फ़ायरवॉल की मदद से रूट खोलने के लिए, नीचे दिए गए आईपी पते के ब्लॉक का इस्तेमाल करके, टेस्ट लैब के फ़िज़िकल और वर्चुअल डिवाइसों को ऐक्सेस करने की अनुमति दी जा सकती है.

मोबाइल ऐडवर्टाइज़िंग

Test Lab एक ऐसा सिस्टम तैयार करता है जिससे ऐप्लिकेशन की जांच अपने-आप हो जाती है. हालांकि, नुकसान पहुंचाने वाले ऐप्लिकेशन इस सुविधा का गलत इस्तेमाल कर सकते हैं, जिन्हें धोखाधड़ी वाले विज्ञापन से रेवेन्यू जनरेट करने के लिए डिज़ाइन किया गया है.

इस समस्या को कम करने के लिए:

  • अगर डिजिटल विज्ञापन देने वाली तीसरे पक्ष की कंपनियों (जैसे कि विज्ञापन नेटवर्क कंपनी या डिमांड-साइड प्लैटफ़ॉर्म) का इस्तेमाल किया जाता है या उनके साथ काम किया जाता है तो आपको यह सुझाव दिया जाता है कि ऐप्लिकेशन डेवलपमेंट और टेस्टिंग के दौरान असल विज्ञापनों के बजाय टेस्ट विज्ञापनों का इस्तेमाल करें.

  • अगर आपको अपने टेस्ट में असली विज्ञापनों का इस्तेमाल करना है, तो नीचे दिए गए आईपी पते के ब्लॉक का इस्तेमाल करके, टेस्ट लैब से जनरेट होने वाले रेवेन्यू और उससे मिलने वाले सारे ट्रैफ़िक को फ़िल्टर करने के लिए, आपके साथ काम करने वाले डिजिटल विज्ञापन देने वालों को सूचित करें. आपको Google के मालिकाना हक वाली विज्ञापन देने वाली कंपनियों को सूचित करने की ज़रूरत नहीं है; टेस्ट लैब आपके लिए इसका ध्यान रखता है.

Test Lab डिवाइसों में इस्तेमाल किए जाने वाले आईपी पते

Test Lab डिवाइसों से जनरेट होने वाला पूरा नेटवर्क ट्रैफ़िक, यहां दिए गए आईपी पता ब्लॉक से आता है. gcloud सीएलआई में gcloud beta firebase test ip-blocks list कमांड का इस्तेमाल करके भी इस सूची को ऐक्सेस किया जा सकता है. यह सूची साल में औसतन एक बार अपडेट की जाती है.

प्लैटफ़ॉर्म और डिवाइस का टाइप सीआईडीआर आईपी पता ब्लॉक
Android और iOS पर काम करने वाले डिवाइस, वर्चुअल डिवाइसों को चालू करें

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 को जोड़ा गया)

28.32.128.48/70.32.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 को हटाया गया)