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