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

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 कमांड-लाइन विकल्प का इस्तेमाल करें.