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

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

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

Firebase कंसोल में, पहले किए गए सभी टेस्ट रन के नतीजे, DevOps और उपयोगकर्ता जुड़ाव > टेस्ट लैब पर जाकर देखे जा सकते हैं. इस पेज पर, 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 कमांड-लाइन विकल्प का इस्तेमाल किया जा सकता है.