Android वर्चुअल डिवाइसों की मदद से टेस्टिंग शुरू करें

इस दस्तावेज़ में Test Lab के लिए एवीडी के बारे में बताया गया है. इसमें एवीडी के फ़ायदे और इसकी ज्ञात सीमाएं शामिल हैं. हम ऐप्लिकेशन को डेवलपमेंट के पूरे लाइफ़साइकल में टेस्ट करने के तरीके के बारे में भी सुझाव देते हैं. Test Lab एवीडी, Android Studio के लिए एवीडी की तरह ही होते हैं. हालांकि, इन्हें क्लाउड टेस्टिंग के साथ परफ़ॉर्मेंस के लिए ऑप्टिमाइज़ किया जाता है. इसलिए, दोनों में कुछ अंतर होते हैं.

Test Lab .arm या (Arm) सफ़िक्स वाले एवीडी, बेहतर इम्यूलेटर होते हैं. इनसे ये फ़ायदे मिलते हैं:

  • टेस्ट को कम समय में पूरा किया जा सकता है

  • स्क्रीन साइज़ और डेंसिटी, Android Studio के AVD के साथ अलाइन किए गए हैं, ताकि एक जैसा अनुभव मिल सके

  • जीपीयू की मदद से, ग्राफ़िक को तेज़ी से प्रोसेस करने की सुविधा

यहां दी गई टेबल में, वर्चुअल डिवाइसों का इस्तेमाल करने के फ़ायदों के बारे में बताया गया है:

फ़ायदा ब्यौरा इस्तेमाल के उदाहरण
ज़्यादा उपलब्धता वर्चुअल डिवाइसों का इस्तेमाल करके, टेस्ट किए जा सकते हैं और टेस्ट के नतीजे जल्दी पाए जा सकते हैं. वर्चुअल डिवाइसों को मांग के हिसाब से बनाया जाता है. इसलिए, आपके टेस्ट तुरंत शुरू हो जाते हैं. इससे आपके ऐप्लिकेशन की पुष्टि तुरंत हो जाती है. ऐप्लिकेशन में किए गए छोटे-छोटे अपडेट की जांच करने या रिग्रेशन टेस्टिंग के लिए.
टेस्ट की अवधि लंबी होना वर्चुअल डिवाइसों पर, 60 मिनट तक टेस्ट किया जा सकता है. फ़िज़िकल डिवाइसों पर टेस्ट करने की अवधि, हर डिवाइस पर 45 मिनट तक सीमित होती है. ज़्यादा समय तक चलने वाले टेस्ट
कम लागत वर्चुअल डिवाइसों की कीमत, हर घंटे के हिसाब से तय की जाती है. ऐप्लिकेशन की टेस्टिंग के लिए इस्तेमाल किए गए हर वर्चुअल डिवाइस के लिए, एक डॉलर चुकाने होते हैं. लगातार इंटिग्रेशन सिस्टम का इस्तेमाल करके, हर दिन टेस्टिंग की जाती है. इसके अलावा, कोड की जांच करने से पहले भी टेस्टिंग की जाती है. ज़्यादा जानने के लिए, Test Lab के इस्तेमाल के लेवल, कोटा, और कीमत देखें.

वर्चुअल डिवाइसों की मदद से अपने ऐप्लिकेशन की जांच करना

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

इस सुविधा के साथ काम करने वाले मॉडल और एपीआई देखना

Test Lab के साथ काम करने वाले एवीडी मॉडल और एपीआई देखने के लिए, यह कमांड चलाएं:

gcloud firebase test android models list --filter=virtual

अपने ऐप्लिकेशन की टेस्टिंग के सबसे सही तरीके

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

Android Studio एम्युलेटर या अटैच किए गए फ़िज़िकल डिवाइस का इस्तेमाल करना

ऐप्लिकेशन डेवलप करते समय, 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 पर इस्तेमाल नहीं किया जा सकता.

ग्राफ़िक्स की परफ़ॉर्मेंस 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 से कम वाले वर्शन काम नहीं करते.

अगले चरण