Firebase टेस्ट लैब के नतीजों का विश्लेषण करना

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

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

Firebase कंसोल में, पहले किए गए सभी टेस्ट रन के नतीजे, DevOps और उपयोगकर्ता जुड़ाव > Test Lab पर जाकर देखे जा सकते हैं. इस पेज पर, Test Lab का इस्तेमाल करके, आपके प्रोजेक्ट के साथ टेस्ट किए गए ऐप्लिकेशन के टेस्ट के सभी नतीजे दिखते हैं.Test Lab

टेस्ट के नतीजों की समीक्षा करने के लिए, आपको इन तीन सिद्धांतों को समझना होगा:

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

डिवाइस × टेस्ट के नतीजे = टेस्ट मैट्रिक्स

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

यहां दिए गए सेक्शन में, टेस्ट के नतीजों को देखने का तरीका बताया गया है.

टेस्ट के इतिहास के नतीजों को समझना

Test Lab चुनकर, टेस्ट के नतीजे देखने पर, आपको अब तक किए गए टेस्ट के नतीजे दिखते हैं.

टेस्ट के इतिहास को ऐप्लिकेशन के हिसाब से ग्रुप किया जाता है. हर ऐप्लिकेशन के लिए, सिर्फ़ हाल ही की पांच टेस्ट मैट्रिक्स दिखाई जाती हैं. अगर ज़्यादा मैट्रिक्स उपलब्ध हैं, तो ऐप्लिकेशन की टेस्ट सूची में सबसे नीचे मौजूद सभी मैट्रिक्स लिंक पर क्लिक करके, उस ऐप्लिकेशन के लिए पूरी सूची देखी जा सकती है.

टेस्ट मैट्रिक्स के नतीजों को समझना

Test Lab यूज़र इंटरफ़ेस (यूआई) से टेस्ट शुरू करने पर, आपको एक ऐसे पेज पर रीडायरेक्ट किया जाता है जहां टेस्ट मैट्रिक्स देखी जा सकती है. साथ ही, टेस्ट के नतीजे देखने के लिए, किसी खास टेस्ट के नतीजे पर क्लिक किया जा सकता है. Android Studio और gcloud कमांड से भी, टेस्ट मैट्रिक्स के नतीजों वाले पेज का यूआरएल मिलता है.

आम तौर पर, टेस्ट मैट्रिक्स में करीब एक दर्जन अलग-अलग डिवाइसों पर टेस्ट चलाया जा सकता है. हर टेस्ट के नतीजे अलग-अलग हो सकते हैं. टेस्ट मैट्रिक्स में, किसी भी टेस्ट के नतीजे इनमें से कोई एक हो सकता है:

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

अपने Firebase प्रोजेक्ट में, किसी दिए गए ऐप्लिकेशन के लिए सभी टेस्ट मैट्रिक्स के इकट्ठा किए गए नतीजे देखने के लिए, ऐप्लिकेशन के नाम पर क्लिक करें. जैसे, यहां दिए गए उदाहरण में दिखाया गया है:

टेस्ट मैट्रिक्स के नतीजों वाले पेज का उदाहरण. इसमें सिर्फ़ चार टेस्ट के नतीजे दिख रहे हैं टेस्ट मैट्रिक्स के नतीजे

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

टेस्ट मैट्रिक्स की सूची वाले पेज का उदाहरण टेस्ट मैट्रिक्स की सूची

टेस्ट मैट्रिक्स के नतीजे पास, फ़ेल या नहीं मिल सकते हैं. अगर किसी मैट्रिक्स में, टेस्ट के नतीजे नहीं मिलते हैं या कोई टेस्ट फ़ेल हो जाता है, तो टेस्ट मैट्रिक्स को फ़ेल या नतीजे नहीं मिले के तौर पर दिखाया जाता है.

रोबो टेस्ट के नतीजों को समझना

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

रोबो टेस्ट के नतीजों वाले वीडियो का उदाहरण

रोबो टेस्ट के नतीजे

किसी एक टेस्ट के नतीजे समझना

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

टेस्ट के नतीजों वाले पेज का उदाहरण टेस्ट के नतीजों की जानकारी

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

इंस्ट्रूमेंटेशन टेस्ट के अलग-अलग हिस्सों के नतीजे

इंस्ट्रूमेंटेड टेस्ट के नतीजों को समझने में आपकी मदद करने के लिए, Test Lab हर टेस्ट को अलग-अलग हिस्सों में बांटकर, उसके लिए विस्तृत रिपोर्ट वाला पेज बनाता है. इसमें स्टैक ट्रेस, लॉग, और वीडियो शामिल होते हैं. यह सुविधा, Android Orchestrator का इस्तेमाल करने या न करने, दोनों ही स्थितियों में काम करती है.

टेस्ट केस के नतीजों वाले पेज का उदाहरण टेस्ट केस के नतीजे

सुलभता के नतीजों को समझना

रोबो टेस्ट, Android Accessibility Scanner का इस्तेमाल करके, आपके ऐप्लिकेशन में सुलभता से जुड़ी समस्याओं का पता लगाते हैं. ध्यान दें कि अपने डिवाइस पर स्थानीय तौर पर भी स्कैन किया जा सकता है. रोबो टेस्ट के सुलभता के नतीजों की समीक्षा करने और उन्हें समझने के बारे में निर्देश पाने के लिए, Accessibility Scanner का इस्तेमाल शुरू करना लेख पढ़ें.

अपने ऐप्लिकेशन की सुलभता को बेहतर बनाने के तरीके के बारे में सामान्य जानकारी पाने के लिए, Android डेवलपर के लिए सुलभता से जुड़ा दस्तावेज़ देखें.

परफ़ॉर्मेंस मेट्रिक

फ़िज़िकल डिवाइसों पर चलाए गए टेस्ट, परफ़ॉर्मेंस मेट्रिक भी दिखाते हैं:

मेट्रिकडिवाइस का ज़रूरी कॉन्फ़िगरेशन
ऐप्लिकेशन स्टार्टअप समयएपीआई 19 या इससे नया वर्शन
सीपीयू का इस्तेमालएपीआई 21 या इससे नया वर्शन
मेमोरी का इस्तेमाल
नेटवर्क पर की जाने वाली गतिविधि
फ़्रेम प्रति सेकंडएपीआई 21 या इससे नया वर्शन और इसमें SurfaceView शामिल है

टेस्ट के विस्तृत नतीजे

टेस्ट चलाने के 90 दिनों तक, टेस्ट के विस्तृत नतीजे उपलब्ध रहते हैं. ये नतीजे, Google Cloud Storage बकेट में सेव होते हैं. हालांकि, ये Firebase कंसोल में भी दिखते हैं. टेस्ट के नतीजों वाले पेज पर टेस्ट के नतीजे पर क्लिक करने पर, Cloud Storage बकेट में टेस्ट के विस्तृत नतीजे देखे जा सकते हैं. टेस्ट के विस्तृत नतीजे उपलब्ध न होने पर भी, यह देखा जा सकता है कि कौनसे टेस्ट पास हुए या फ़ेल हुए.

अगर आपको टेस्ट के विस्तृत नतीजे 90 दिनों से ज़्यादा समय तक सेव रखने हैं, तो इन नतीजों को अपनी Cloud Storage बकेट में भेजा जा सकता है. इसके लिए, --results-bucket gcloud कमांड-लाइन विकल्प का इस्तेमाल करें. इसके बाद, उम्र सेटिंग सेट करके यह तय किया जा सकता है कि नतीजे आपके 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 कमांड-लाइन विकल्प का इस्तेमाल किया जा सकता है.