इस दस्तावेज़ में Test Lab के लिए एवीडी के बारे में बताया गया है. इसमें फ़ायदों और ज्ञात सीमाओं के बारे में भी बताया गया है. हम यह भी सुझाव देते हैं कि डेवलपमेंट के पूरे लाइफ़साइकल के दौरान, अपने ऐप्लिकेशन की जांच कैसे करें. Test Lab AVD, Android Studio के लिए AVD की तरह ही होते हैं. हालांकि, इन्हें क्लाउड टेस्टिंग के साथ परफ़ॉर्मेंस के लिए ऑप्टिमाइज़ किया जाता है. इसलिए, दोनों के बीच कुछ अंतर होते हैं.
Test Lab .arm या (Arm) सफ़िक्स वाले एवीडी, बेहतर इम्यूलेटर होते हैं. इनसे ये फ़ायदे मिलते हैं:
टेस्ट को कम समय में पूरा किया जा सकता है
स्क्रीन के साइज़ और डेंसिटी, Android Studio के एवीडी के साथ अलाइन किए गए हैं, ताकि एक जैसा अनुभव मिल सके
जीपीयू की मदद से, तेज़ी से रेंडर होने वाले ग्राफ़िक्स
इस टेबल में, वर्चुअल डिवाइसों का इस्तेमाल करने के फ़ायदों के बारे में बताया गया है:
फ़ायदा | ब्यौरा | इस्तेमाल के उदाहरण |
ज़्यादा अपटाइम | वर्चुअल डिवाइसों पर टेस्टिंग करने से, आपको टेस्ट के नतीजे ज़्यादा तेज़ी से मिल सकते हैं. वर्चुअल डिवाइसों को मांग के हिसाब से बनाया जाता है. इसलिए, आपके टेस्ट लगभग तुरंत शुरू हो जाते हैं. इससे आपके ऐप्लिकेशन की पुष्टि तुरंत हो जाती है. | अपने ऐप्लिकेशन में किए गए छोटे-छोटे अपडेट की टेस्टिंग या रिग्रेशन टेस्टिंग के लिए. |
टेस्ट की अवधि लंबी होना | वर्चुअल डिवाइसों पर, 60 मिनट तक टेस्ट किया जा सकता है. फ़िज़िकल डिवाइसों पर टेस्ट करने की अवधि, हर डिवाइस पर 45 मिनट तक सीमित होती है. | ज़्यादा समय तक टेस्ट चलाना |
कम लागत | वर्चुअल डिवाइसों की कीमत, हर वर्चुअल डिवाइस के लिए एक डॉलर प्रति घंटा है. इसका इस्तेमाल, आपके ऐप्लिकेशन की टेस्टिंग के लिए किया जाता है. | लगातार इंटिग्रेशन सिस्टम का इस्तेमाल करके, हर दिन टेस्टिंग की जाती है. इसके अलावा, कोड की जांच करने से पहले भी टेस्टिंग की जाती है. ज़्यादा जानने के लिए, Test Lab के इस्तेमाल के लेवल, कोटा, और कीमत देखें. |
वर्चुअल डिवाइसों पर अपने ऐप्लिकेशन की जांच करना
फ़िजिकल डिवाइसों की तरह ही, वर्चुअल डिवाइसों पर भी अपने ऐप्लिकेशन की जांच की जा सकती है. टेस्ट मैट्रिक्स को कॉन्फ़िगर करते समय, अपने टेस्ट के लिए वर्चुअल डिवाइस चुने जा सकते हैं. Test Lab की मदद से टेस्ट चलाने के बारे में ज़्यादा जानने के लिए, Android के लिए Firebase Test Lab की मदद से टेस्ट करना शुरू करें लेख पढ़ें.
उन मॉडल और एपीआई को देखें जो इस सुविधा के साथ काम करते हैं
Test Lab के साथ काम करने वाले एवीडी मॉडल और एपीआई देखने के लिए, यह निर्देश चलाएं:
gcloud firebase test android models list --filter=virtual
अपने ऐप्लिकेशन की टेस्टिंग के सबसे सही तरीके
वर्चुअल डिवाइसों की मदद से, Test Lab के साथ अपने ऐप्लिकेशन को टेस्ट करने के लिए, आपको ज़्यादा विकल्प मिलते हैं. हमारा सुझाव है कि ऐप्लिकेशन डेवलपमेंट के पूरे लाइफ़साइकल के दौरान, अपने ऐप्लिकेशन को टेस्ट करने के लिए यहां दिए गए सबसे सही तरीके अपनाएं:
Android Studio Emulator या अटैच किए गए किसी फ़िज़िकल डिवाइस का इस्तेमाल करना
ऐप्लिकेशन डेवलप करते समय, Android Studio Emulator या अटैच किए गए किसी फ़िज़िकल डिवाइस का इस्तेमाल करें. इससे, शुरुआती पुष्टि के लिए हर बिल्ड की जांच की जा सकेगी. अगर आपके पास इंस्ट्रुमेंटेशन टेस्ट हैं, तो Android Studio से भी इन टेस्ट को चलाया जा सकता है. इसके लिए, Test Lab की ओर से उपलब्ध कराए गए फ़िज़िकल या वर्चुअल डिवाइसों का इस्तेमाल किया जा सकता है.
शेयर किए गए प्रोजेक्ट पर काम करते समय, कोड में किए गए हर बदलाव के लिए सीआई सिस्टम का इस्तेमाल करें
अगर आपको किसी बड़े प्रोजेक्ट पर काम करना है या आपको GitHub या इसी तरह की किसी साइट का इस्तेमाल करके शेयर किए गए प्रोजेक्ट में योगदान देना है, तो हमारा सुझाव है कि आप कंटीन्यूअस इंटिग्रेशन (सीआई) सिस्टम का इस्तेमाल करें. जब भी सीआई सिस्टम चलता है या हर पुल अनुरोध से पहले, वर्चुअल डिवाइसों पर अपने ऐप्लिकेशन की जांच करें. सीआई सिस्टम के साथ Test Lab का इस्तेमाल करने के बारे में ज़्यादा जानने के लिए, Android के लिए Test Lab का इस्तेमाल करके, लगातार इंटिग्रेट होने वाले सिस्टम लेख पढ़ें.
ऐप्लिकेशन के बड़े अपडेट रिलीज़ करने से पहले, Test Lab की मदद से अपने ऐप्लिकेशन को फ़िज़िकल डिवाइसों पर टेस्ट करें
यूज़र इंटरफ़ेस (यूआई) और सुविधाओं में अहम बदलावों के साथ ऐप्लिकेशन के अपडेट रिलीज़ करने से पहले, हमारा सुझाव है कि आप Test Lab का इस्तेमाल करके, अपने ऐप्लिकेशन को फ़िज़िकल डिवाइसों पर टेस्ट करें. इससे यह पक्का करने में मदद मिलेगी कि आपका ऐप्लिकेशन, अलग-अलग तरह के लोकप्रिय डिवाइसों पर ठीक से काम कर रहा है. फ़िज़िकल डिवाइसों पर टेस्टिंग करने से, ऐप्लिकेशन की उन सुविधाओं के लिए भी टेस्ट कवरेज मिलता है जो फ़िज़िकल डिवाइस की उन सुविधाओं पर निर्भर करती हैं जिन्हें वर्चुअल डिवाइसों से सिम्युलेट नहीं किया जाता. इन सुविधाओं के बारे में ज़्यादा जानने के लिए, ज्ञात सीमाएं देखें.
वर्चुअल डिवाइस से जुड़े अपडेट
Android टीम समय-समय पर, नए वर्चुअल डिवाइस की इमेज जोड़ती है, पुरानी इमेज को बंद करती है, और मौजूदा इमेज को अपडेट करती है. हम इन अपडेट को अपने वर्चुअल डिवाइस की इमेज पर लागू करते हैं. इससे यह पक्का करने में मदद मिलती है कि आप Android के अप-टू-डेट वर्शन के हिसाब से टेस्टिंग कर रहे हैं. ये वर्शन, आपके उपयोगकर्ताओं के अनुभव को दिखाते हैं.
बहुत कम मामलों में, इन अपडेट की वजह से टेस्ट अचानक फ़ेल हो सकते हैं. अगर कोई ऐसा अपडेट है जिससे ऐप्लिकेशन के काम करने के तरीके पर असर पड़ सकता है, तो Test Lab रिलीज़ नोट में इसकी जानकारी देगा. हमारा सुझाव है कि आप टेस्ट फ़्रेमवर्क का इस्तेमाल करें. उदाहरण के लिए, Espresso. जब भी मुमकिन हो, इन बदलावों के लिए मज़बूत टेस्ट फ़्रेमवर्क का इस्तेमाल करें. अगर ऐसा नहीं किया जा सकता, तो हमारा सुझाव है कि आप Arm वर्चुअल डिवाइसों को टारगेट करें. इन्हें कम बार अपडेट किया जाता है.
सीमाएं
फ़िलहाल, वर्चुअल डिवाइसों में कुछ फ़िज़िकल डिवाइसों की सुविधाओं को सिम्युलेट नहीं किया जाता. इसके अलावा, कुछ सुविधाओं को सीमित तौर पर सिम्युलेट किया जाता है. नीचे दी गई टेबल में, उन सुविधाओं के बारे में खास जानकारी दी गई है जो फ़िलहाल वर्चुअल डिवाइसों पर उपलब्ध नहीं हैं या कुछ सीमाओं के साथ उपलब्ध हैं:
सुविधा | जानकारी |
ऐप्लिकेशन बाइनरी इंटरफ़ेस (एबीआई) | सभी डिवाइसों पर, सभी एबीआइ काम नहीं करते. अगर Android NDK का इस्तेमाल करके डेवलपमेंट किया जा रहा है, तो पक्का करें कि आपने उन डिवाइसों के लिए कोड जनरेट किया हो जिन पर आपका ऐप्लिकेशन काम करता है. इसके लिए, Test Lab में उपलब्ध डिवाइस देखें. एबीआई मैनेजमेंट के बारे में ज़्यादा जानने के लिए, Android ABI देखें.
ध्यान दें: अगर आपकी टेस्ट मैट्रिक्स में किसी टेस्ट को अमान्य के तौर पर मार्क किया गया है, तो ऐसा इसलिए हो सकता है, क्योंकि आपका ऐप्लिकेशन ऐसे नेटिव कोड पर निर्भर करता है जिसे डिवाइस ABI पर इस्तेमाल नहीं किया जा सकता. |
ग्राफ़िक्स परफ़ॉर्मेंस | Nexus और Pixel के वर्चुअल डिवाइस, सॉफ़्टवेयर ग्राफ़िक्स रेंडरिंग का इस्तेमाल करते हैं. ग्राफ़िक्स वाले ऐप्लिकेशन की परफ़ॉर्मेंस कम हो सकती है. अगर आपके ऐप्लिकेशन में ग्राफ़िक्स का ज़्यादा इस्तेमाल होता है, तो SmallPhone.arm, MediumPhone.arm या फ़िज़िकल डिवाइसों का इस्तेमाल करें. |
ग्राफ़िक्स एपीआई | एपीआई लेवल 29 से पहले के लेवल वाले डिवाइसों पर, OpenGL ES 3.x काम नहीं करता. नए डिवाइस, OpenGL/Vulkan API के साथ पूरी तरह से काम नहीं करते. इसलिए, आपको ग्राफ़िक्स में कुछ अंतर दिख सकते हैं. |
Google Play Store ऐप्लिकेशन | Google Play Store ऐप्लिकेशन, Arm वर्चुअल डिवाइसों पर काम नहीं करता. |
ऑगमेंटेड रिएलिटी (एआर) की सुविधा | वर्चुअल डिवाइसों पर, ऑगमेंटेड रिएलिटी (एआर) की सुविधा की जांच नहीं की जा सकती. |
एपीआई के पुराने लेवल | Test Lab Arm वर्चुअल डिवाइसों पर, एपीआई लेवल 26 से कम वाले वर्शन काम नहीं करते. |