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 डेवलपर के लिए सुलभता दस्तावेज़ देखें.

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

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

मेट्रिकडिवाइस का ज़रूरी कॉन्फ़िगरेशन
ऐप्लिकेशन स्टार्टअप समयAPI 19 या उससे नया वर्शन
CPU उपयोगAPI 21 या उससे नया वर्शन
मेमोरी का इस्तेमाल
नेटवर्क पर की जाने वाली गतिविधि
फ़्रेम प्रति सेकंडAPI 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 कमांड-लाइन विकल्प का इस्तेमाल किया जा सकता है.