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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

जांच करने के लिए टूल

अपनी जांच करने के लिए, नीचे दिए गए टूल चुनें:

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

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

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

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

दूसरा चरण: जांच के लिए इस्तेमाल होने वाला डिवाइस चुनें

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

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

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

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

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

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

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

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

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

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


टेस्ट लैब और Google Play services

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

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

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

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

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

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

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

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

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

टेस्ट लैब डिवाइसों से जनरेट होने वाला पूरा नेटवर्क ट्रैफ़िक, इन आईपी पते के ब्लॉक से आता है. इस सूची को ऐक्सेस करने के लिए, 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 को जोड़ा गया)

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