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

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

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

पिछले सभी टेस्ट के नतीजे देखने के लिए, Firebase कंसोल में अपने प्रोजेक्ट के बाएं नेविगेशन पैनल में टेस्ट लैब चुनें. इस पेज में उन सभी ऐप्लिकेशन की जांच दिखाई जाती है जिनकी जांच आपने टेस्ट लैब का इस्तेमाल करके, अपने प्रोजेक्ट में की है.

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

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

डिवाइस × टेस्ट एक्ज़ीक्यूशन = टेस्ट मैट्रिक्स

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

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

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

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

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

परीक्षण आव्यूहों के परिणामों की व्याख्या करना

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

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

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

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

सिर्फ़ चार टेस्ट एक्ज़ीक्यूशन वाले टेस्ट मैट्रिक्स नतीजों वाले पेज का उदाहरण टेस्ट मैट्रिक्स के नतीजे

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

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

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

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

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

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

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

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

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

टेस्ट एक्ज़ीक्यूशन के नतीजों वाले पेज का उदाहरण एक्ज़ीक्यूशन के नतीजों की जांच करें

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

पार्टिशन्ड इंस्ट्रुमेंटेशन टेस्ट के नतीजे

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

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

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

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

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

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

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

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

ग्राफ़िक की परफ़ॉर्मेंस की जानकारी

ग्राफ़िक परफ़ॉर्मेंस रिपोर्ट में कई अहम ग्राफ़िक मेट्रिक से जुड़े आंकड़े शामिल होते हैं:

  • छूटे हुए Vsync: छूटे हुए Vsync इवेंट की संख्या को, रेंडर होने में 16 मि॰से॰ से ज़्यादा समय लेने वाले फ़्रेम की संख्या से भाग दिया जाता है.
  • हाई इनपुट लेटेंसी: 24 मि॰से॰ से ज़्यादा समय लेने वाले इनपुट इवेंट की संख्या को, रेंडर होने में 16 मि॰से॰ से ज़्यादा समय लेने वाले फ़्रेम की संख्या से भाग दिया जाता है.
  • धीमा यूज़र इंटरफ़ेस (यूआई) थ्रेड: यूज़र इंटरफ़ेस (यूआई) थ्रेड को पूरा होने में 8 मि॰से॰ से ज़्यादा समय लगने की संख्या को, रेंडर होने में 16 मि॰से॰ से ज़्यादा समय लेने वाले फ़्रेम की संख्या से भाग दिया जाता है.
  • धीमे ड्रॉ निर्देश: जीपीयू को ड्रॉ के निर्देश भेजने में जितनी बार 12 मि॰से॰ से ज़्यादा समय लगा, उस संख्या को रेंडर होने में 16 मि॰से॰ से ज़्यादा समय लेने वाले फ़्रेम की संख्या से भाग दिया जाता है.
  • धीमे बिट मैप अपलोड: बिट मैप को जीपीयू पर अपलोड होने में जितनी बार 3.2 मि॰से॰ से ज़्यादा समय लगा, उस संख्या को रेंडर होने में 16 मि॰से॰ से ज़्यादा समय लेने वाले फ़्रेम की संख्या से भाग दिया जाता है.
  • रेंडर समय: टेस्ट रन के हर फ़्रेम के लिए रेंडर समय का डिस्ट्रिब्यूशन. अगर रेंडर होने में 32 मिलीसेकंड से ज़्यादा समय लगता है, तो आपका यूज़र इंटरफ़ेस (यूआई) देरी से काम कर सकता है. रेंडर होने में 700 से ज़्यादा समय का इस्तेमाल करने से, रुके हुए फ़्रेम का पता चलता है. रेंडर करने से जुड़ा डेटा, dumpsys graphicsstats से इकट्ठा किया जाता है.

टेस्ट के नतीजों की पूरी जानकारी

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

जांच के इन नतीजों को 90 दिनों से ज़्यादा समय तक बनाए रखने के लिए, आपको जांच के इन नतीजों को Cloud Storage बकेट में भेजना होगा. इसके लिए, आपको --results-bucket gcloud कमांड-लाइन विकल्प का इस्तेमाल करना होगा. इसके बाद, उम्र की सेटिंग को सेट करके, यह तय किया जा सकता है कि Cloud Storage बकेट में नतीजे कितने समय तक सेव रहेंगे. उम्र की सेटिंग बदलने का तरीका जानने के लिए, लाइफ़साइकल की शर्तें देखें.