Firebase Test Lab का इस्तेमाल करके, अपने Android ऐप्लिकेशन पर टेस्ट चलाने के कई तरीके हैं. इनमें कमांड लाइन इंटरफ़ेस, Android Studio, Firebase कंसोल में मौजूद Test Lab यूज़र इंटरफ़ेस (यूआई), और Testing API शामिल हैं. टेस्ट शुरू करने का तरीका चाहे जो भी हो, नतीजे उस Firebase प्रोजेक्ट में सेव किए जाते हैं जिसे आपने चुना है. ऊपर दिए गए किसी भी टूल के साथ-साथ, ToolResults API का इस्तेमाल करके भी नतीजों को एक्सप्लोर किया जा सकता है. इस पेज पर, टेस्ट के इन नतीजों की समीक्षा करने और उनका विश्लेषण करने का तरीका बताया गया है.
मुख्य सिद्धांत
जांच के पिछले सभी नतीजों को देखने के लिए, Firebase कंसोल में अपने प्रोजेक्ट के बाएं नेविगेशन पैनल में मौजूद Test Lab को चुनें. इस पेज पर, उन ऐप्लिकेशन के सभी टेस्ट रन दिखते हैं जिन्हें आपने Test Lab का इस्तेमाल करके अपने प्रोजेक्ट के साथ टेस्ट किया है.
टेस्ट के नतीजों की समीक्षा करने के लिए, आपको सबसे पहले तीन बातों को समझना होगा:
जब चुने गए डिवाइसों और कॉन्फ़िगरेशन के हिसाब से कोई टेस्ट या टेस्ट केस का सेट चलाया जाता है, तो Test Lab आपके ऐप्लिकेशन के ख़िलाफ़ बैच में टेस्ट चलाता है. इसके बाद, नतीजों को टेस्ट मैट्रिक्स के तौर पर दिखाता है.
डिवाइस × टेस्ट एक्ज़ीक्यूशन = टेस्ट मैट्रिक्स
- डिवाइस
- फ़िज़िकल या वर्चुअल डिवाइस (सिर्फ़ Android) जिस पर आपको टेस्ट करना है. जैसे, फ़ोन, टैबलेट या पहना जाने वाला डिवाइस. टेस्ट मैट्रिक्स में मौजूद डिवाइसों की पहचान, डिवाइस मॉडल, ओएस वर्शन, स्क्रीन ओरिएंटेशन, और स्थान-भाषा (इसे भौगोलिक और भाषा की सेटिंग भी कहा जाता है) के हिसाब से की जाती है.
- टेस्ट, टेस्ट एक्ज़ीक्यूशन
- किसी डिवाइस पर टेस्ट (या टेस्ट केस का सेट) चलाया जाना है. हर डिवाइस पर एक टेस्ट चलाया जा सकता है. इसके अलावा, टेस्ट को अलग-अलग हिस्सों में बांटकर, उसके टेस्ट केस अलग-अलग डिवाइसों पर चलाए जा सकते हैं.
- टेस्ट मैट्रिक्स
- इसमें टेस्ट के एक्ज़ीक्यूशन की स्थितियां और टेस्ट के नतीजे शामिल होते हैं. अगर मैट्रिक्स में कोई भी टेस्ट एक्ज़ीक्यूशन पूरा नहीं होता है, तो पूरी मैट्रिक्स पूरी नहीं होती है.
यहां दिए गए सेक्शन में, जांच के नतीजों को ऐक्सेस करने का तरीका बताया गया है.
जांच के इतिहास के नतीजों को समझना
Test Lab को चुनकर, टेस्ट के नतीजों पर जाएं. यहां आपको अब तक किए गए टेस्ट के नतीजे दिखेंगे.
टेस्टिंग के इतिहास को ऐप्लिकेशन के हिसाब से ग्रुप किया जाता है. हर ऐप्लिकेशन के लिए, सिर्फ़ पांच सबसे नई टेस्ट मैट्रिक्स दिखाई जाती हैं. अगर ज़्यादा मैट्रिक्स उपलब्ध हैं, तो ऐप्लिकेशन की टेस्ट सूची में सबसे नीचे मौजूद सभी मैट्रिक्स लिंक पर क्लिक करके, उस ऐप्लिकेशन की पूरी सूची देखी जा सकती है.
टेस्ट मैट्रिक्स के नतीजों को समझना
Test Lab यूज़र इंटरफ़ेस (यूआई) के ज़रिए टेस्ट शुरू करने पर, आपको एक ऐसे पेज पर रीडायरेक्ट किया जाता है जहां टेस्ट मैट्रिक्स देखी जा सकती है. साथ ही, टेस्ट के नतीजे देखने के लिए, किसी टेस्ट के एक्ज़ीक्यूशन पर क्लिक किया जा सकता है. Android Studio और gcloud कमांड, टेस्ट मैट्रिक्स के नतीजों वाले पेज का यूआरएल भी उपलब्ध कराती हैं.
आम तौर पर, टेस्ट मैट्रिक्स में एक दर्जन या उससे ज़्यादा डिवाइसों पर टेस्ट किया जाता है. हर टेस्ट के नतीजे अलग-अलग हो सकते हैं. टेस्ट मैट्रिक्स में किसी भी टेस्ट को लागू करने के संभावित नतीजों में ये शामिल हैं:
- पास किया गया
: कोई गड़बड़ी नहीं हुई. - फ़ेल हुआ
: कम से कम एक गड़बड़ी हुई. - कोई नतीजा नहीं मिला
: टेस्ट के नतीजे साफ़ तौर पर नहीं मिले. ऐसा शायद Test Lab गड़बड़ी की वजह से हुआ. - छोड़ा गया
: मैट्रिक्स में, जांच के कुछ चरणों के लिए चुनी गई डाइमेंशन वैल्यू काम नहीं कर रही थीं. ऐसा तब होता है, जब आपके चुने गए डिवाइस, Android API के आपके चुने गए एक या उससे ज़्यादा लेवल के साथ काम नहीं करते.
अपने Firebase प्रोजेक्ट में किसी ऐप्लिकेशन के लिए, सभी टेस्ट मैट्रिक्स के इकट्ठा किए गए टेस्ट के नतीजों की समीक्षा करने के लिए, ऐप्लिकेशन के नाम पर क्लिक करें. यहां दिए गए उदाहरण में दिखाया गया है कि ऐप्लिकेशन का नाम कहां दिखता है:
सिर्फ़ चार टेस्ट के नतीजों वाला, टेस्ट मैट्रिक्स के नतीजों का पेज

इससे आपको अपने ऐप्लिकेशन के लिए टेस्ट मैट्रिक्स की सूची दिखेगी. यहां किसी भी टेस्ट मैट्रिक्स के नाम पर क्लिक करके, टेस्ट मैट्रिक्स के नतीजे देखे जा सकते हैं. साथ ही, यहां ऐप्लिकेशन के नाम (नीचे लाल बॉक्स में दिखाया गया है) पर क्लिक करके, अपने Firebase प्रोजेक्ट से जुड़े अन्य ऐप्लिकेशन के लिए टेस्ट मैट्रिक्स की सूची देखी जा सकती है.
टेस्ट मैट्रिक्स की सूची वाले पेज का उदाहरण

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

किसी एक टेस्ट के नतीजों को समझना
टेस्ट मैट्रिक्स के नतीजों वाले पेज पर, किसी टेस्ट के नतीजे देखने के लिए, टेस्ट के किसी एक वर्शन पर क्लिक करें.
टेस्ट के नतीजों के पेज का उदाहरण

इस पेज पर, आपको हर टेस्ट को पूरा करने में लगने वाला समय दिखेगा. आपको खास टेस्ट केस के नतीजे भी दिख सकते हैं. ये नतीजे, आपके टेस्ट APK (इंस्ट्रुमेंटेशन टेस्ट के लिए) में मौजूद तरीकों से जुड़े होते हैं. साथ ही, आपको टेस्ट के बारे में पूरी जानकारी भी दिख सकती है. इसमें टेस्ट लॉग, स्क्रीनशॉट, और वीडियो शामिल हैं. रोबो टेस्ट के लिए, जांच के नतीजों में गतिविधि का मैप भी शामिल होता है. इसमें ग्राफ़ के ज़रिए, यूज़र इंटरफ़ेस (यूआई) के उन पाथ को दिखाया जाता है जिन पर रोबो टेस्ट किया गया था.
पार्टिशन किए गए इंस्ट्रुमेंटेशन टेस्ट के नतीजे
इंस्ट्रुमेंट किए गए टेस्ट के नतीजों को समझने में आपकी मदद करने के लिए, Test Lab हर टेस्ट को उसकी ज़्यादा जानकारी वाले रिपोर्ट पेज में अलग करता है. इसमें स्टैक ट्रेस, लॉग, और वीडियो शामिल होते हैं. यह सुविधा, Android Orchestrator का इस्तेमाल करने पर भी काम करती है और न करने पर भी.
टेस्ट केस के नतीजों के पेज का उदाहरण

सुलभता से जुड़े नतीजों को समझना
रोबो टेस्ट, Android Accessibility Scanner का इस्तेमाल करके, आपके ऐप्लिकेशन में सुलभता से जुड़ी समस्याओं का पता लगाते हैं. ध्यान दें कि अपने डिवाइस पर भी स्कैन किया जा सकता है. Robo टेस्ट के सुलभता से जुड़े नतीजों की समीक्षा करने और उन्हें समझने के बारे में निर्देश पाने के लिए, Accessibility Scanner का इस्तेमाल शुरू करना पर जाएं.
अपने ऐप्लिकेशन को ज़्यादा सुलभ बनाने के बारे में सामान्य जानकारी पाने के लिए, Android डेवलपर के लिए सुलभता दस्तावेज़ पर जाएं.
परफ़ॉर्मेंस मेट्रिक
फ़िज़िकल डिवाइसों पर किए गए टेस्ट से भी परफ़ॉर्मेंस मेट्रिक मिलती हैं:
| मेट्रिक | डिवाइस का ज़रूरी कॉन्फ़िगरेशन |
|---|---|
| ऐप्लिकेशन स्टार्टअप समय | API 19+ |
| CPU उपयोग | API 21+ |
| मेमोरी का इस्तेमाल | |
| नेटवर्क पर की गई गतिविधि | |
| फ़्रेम प्रति सेकंड | एपीआई 21+ और इसमें SurfaceView शामिल है |
जांच के बारे में ज़्यादा जानकारी वाले नतीजे
टेस्ट चलाने के बाद, 90 दिनों तक टेस्ट के बारे में ज़्यादा जानकारी वाले नतीजे उपलब्ध होते हैं. ये नतीजे, Google Cloud Storage बकेट में सेव किए जाते हैं. हालांकि, ये Firebase कंसोल में भी दिखते हैं. जांच के नतीजों वाले पेज पर, जांच के नतीजे पर क्लिक करके, Cloud Storage बकेट में जांच के नतीजे देखे जा सकते हैं. जांच के नतीजे की पूरी जानकारी उपलब्ध न होने पर भी, यह देखा जा सकता है कि कौनसी जांच सफल हुई या कौनसी नहीं.
अगर आपको टेस्ट के नतीजों की ज़्यादा जानकारी 90 दिनों से ज़्यादा समय तक सेव रखनी है, तो --results-bucket gcloud कमांड-लाइन विकल्प का इस्तेमाल करके, इन नतीजों को अपने Cloud Storage बकेट में भेजें. इसके बाद, उम्र सेटिंग सेट की जा सकती है. इससे यह तय किया जा सकता है कि नतीजे आपके Cloud Storage बकेट में कितने समय तक सेव किए जाएं. उम्र की सेटिंग बदलने के तरीके के बारे में जानने के लिए, लाइफ़साइकल की शर्तें देखें.
टेस्ट चलाते समय, अगर आपको does not have storage.objects.create access to the Google Cloud Storage object. Permission 'storage.objects.create' denied on resource (or it may not exist).. गड़बड़ी का मैसेज मिलता है, तो हो सकता है कि टेस्ट चलाने वाले प्रिंसिपल के पास प्रोजेक्ट के लिए सही अनुमति न हो. डिफ़ॉल्ट रूप से, Firebase आपके लिए Google Cloud Storage में एक बकेट बनाता है. हालांकि, इसके लिए ज़रूरी है कि टेस्ट करने वाले प्रिंसिपल के पास "roles/editor" की भूमिका हो. यह एक अनुमति वाली भूमिका है. अगर प्रिंसिपल को यह भूमिका नहीं दी जा सकती, तो --results-bucket gcloud कमांड-लाइन विकल्प का इस्तेमाल करें.