वाहन संबंधित, बॉक्स में तरह की जांच करें

Complete Automotive Tests in a Box (CATBox) एक ओपन सोर्स पैकेज है. इसमें कम से कम कॉन्फ़िगरेशन के साथ, वाहनों की जांच को आसान बनाने और उसे पूरा करने के लिए ज़रूरी फ़्रेमवर्क और टूल उपलब्ध होते हैं. CATBox को स्केल किया जा सकता है. साथ ही, यह उन टूल, इन्फ़्रास्ट्रक्चर, और जांचों के साथ काम करता है जिनका इस्तेमाल, Android Automotive OS (AAOS) को लागू करने की जांच और पुष्टि करने के लिए किया जाता है. इसकी मदद से, मार्केटप्लेस पर अच्छी क्वालिटी के प्रॉडक्ट उपलब्ध कराए जा सकते हैं.

CATBox का डिज़ाइन और उसे लागू करना

CATBox टेस्ट सुइट में, वाहन से जुड़े टारगेट डिवाइस और साथ में काम करने वाले डिवाइस पर, फ़ंक्शन और परफ़ॉर्मेंस की जांच करने के लिए ज़रूरी टूल, फ़्रेमवर्क, और टेस्ट मौजूद होते हैं.

इस इमेज में, CATBox पैकेज का हाई लेवल डिज़ाइन दिखाया गया है.

CATBox

पहली इमेज. CATBox पैकेज

Tradefed

Tradefed, ओपन सोर्स वाला एक ऐसा फ़्रेमवर्क है जिसका इस्तेमाल, Android डिवाइसों पर टेस्ट करने के लिए किया जाता है. ज़्यादा जानकारी के लिए, ट्रेड फ़ेडरेशन की खास जानकारी देखें.

वाहन की जांच करने के लिए फ़्रेमवर्क

CATBox, Spectatio नाम के वाहन से जुड़े टेस्ट फ़्रेमवर्क पर आधारित है. यह वाहन से जुड़े डिवाइसों पर, अलग-अलग ऐप्लिकेशन की जांच करने के लिए एपीआई उपलब्ध कराता है. इसे यूआई ऑटोमेट के ऊपर बनाया गया है. यह एक ओपन सोर्स टेस्टिंग फ़्रेमवर्क है. इसमें यूज़र और सिस्टम ऐप्लिकेशन के साथ इंटरैक्ट करने वाले यूआई टेस्ट बनाने के लिए, एपीआई का एक सेट उपलब्ध कराया जाता है.

CATBox टेस्ट सुइट डाउनलोड

Android 14

Android Automotive 14, डेवलपमेंट के उस माइलस्टोन की रिलीज़ है जिसका कोड नेम U है. Android 14 के लिए CATBox टेस्ट सुइट डाउनलोड करने के लिए, इन लिंक का इस्तेमाल करें:

Android 12

Android 12, डेवलपमेंट माइलस्टोन की रिलीज़ है. इसका कोड नेम S है. Android 12 के लिए CATBox टेस्ट सुइट डाउनलोड करने के लिए, इन लिंक का इस्तेमाल करें:

Android 11

Android 11, डेवलपमेंट माइलस्टोन का रिलीज़ वर्शन है, जिसका कोड नेम R है. Android 11 के लिए CATBox टेस्ट सुइट डाउनलोड करने के लिए, इन लिंक का इस्तेमाल करें:

Build CATBox

जब Android AOSP कोड, लोकल वर्कस्टेशन पर उपलब्ध हो, तो catbox बिल्ड कमांड का इस्तेमाल करें.

CATBox पैकेज को स्थानीय तौर पर बनाने के लिए:

  1. डिवाइस के आर्किटेक्चर के आधार पर डिवाइस टारगेट चुनें और यह कमांड चलाएं:

    lunch <target>
    
  2. CATBox बनाने के लिए, यह कमांड चलाएं:

    make catbox
    

    यह कमांड, /out/host/linux-x86/catbox डायरेक्ट्री में android-catbox.zip फ़ाइल बनाता है. इसका इस्तेमाल, टेस्ट चलाने के लिए किया जा सकता है.

एनवायरमेंट सेट अप करना

CATBox टेस्ट चलाने के लिए ज़रूरी एनवायरमेंट सेटअप, CTS सेट अप करने जैसा ही है. एनवायरमेंट सेट अप करने के लिए, यहां दिए गए हर टास्क को पूरा करें:

CATBox को सेट अप और चलाना

Android डिवाइसों पर टेस्ट चलाने के लिए, Tradefed टेस्ट फ़्रेमवर्क का इस्तेमाल करें. CATBox सेट अप करने से पहले, ट्रेड फ़ेडरेशन की खास जानकारी देखें.

CATBox को सेट अप और चलाने के लिए, नीचे दिए गए सेक्शन देखें.

डिवाइस को सेट अप करना

टेस्ट प्लान चलाने से पहले, अपना डिवाइस सेट अप करने के लिए यह तरीका अपनाएं:

  1. पक्का करें कि आपने Android Debug Bridge (adb) और Android एसेट पैकेजिंग टूल (AAPT), दोनों के नए वर्शन इंस्टॉल किए हों. साथ ही, इन टूल की जगह को अपनी मशीन के सिस्टम पाथ में जोड़ा हो. ज़्यादा जानकारी के लिए, ADB और AAPT देखें.

  2. कम से कम एक डिवाइस कनेक्ट करें और जांचे जा रहे डिवाइस (DUT) को इस तरह से तैयार करें:

    1. वाहन से जुड़े डिवाइस को फ़ैक्ट्री सेटिंग पर रीसेट करने के लिए, सेटिंग > सिस्टम > रीसेट करने के विकल्प > सारा डेटा मिटाएं पर जाएं.

    2. डिवाइस के अपने-आप रीस्टार्ट होने का इंतज़ार करें.

    3. पक्का करें कि adb चालू हो. डिवाइस उपलब्ध होने की पुष्टि करने के लिए, यह कमांड चलाएं:

      adb devices
      
    4. रूट ऐक्सेस चालू करने के लिए, यह कमांड चलाएं:

      adb -s DEVICE_SERIAL root
      

      DEVICE_SERIAL की जगह, वाहन से जुड़े डिवाइस का सीरियल आईडी डालें.

    5. वाई-फ़ाई से कनेक्ट करें.

CATBox पैकेज को निकालना

डिवाइस सेट अप करने के बाद, CATBox पैकेज को अनज़िप करें और अनज़िप किए गए फ़ोल्डर पर जाएं:

unzip android-catbox.zip
cd android-catbox

CATBox में टेस्ट चलाना

CATBox पैकेज में मौजूद टेस्ट प्लान के साथ CATBox चलाने के लिए:

./tools/catbox-tradefed run commandAndExit TEST_PLAN_NAME --serial DEVICE_SERIAL

DEVICE_SERIAL की जगह, वाहन से जुड़े डिवाइस का सीरियल आईडी डालें. अगर होस्ट मशीन से एक से ज़्यादा डिवाइस कनेक्ट हैं, तो उन्हें अलग-अलग दिखाने के लिए DEVICE_SERIAL का इस्तेमाल करें. TEST_PLAN_NAME को उस टेस्ट प्लान के नाम से बदलें जिसे आपको चलाना है.

उपलब्ध प्लान की पूरी सूची पाने के लिए, कमांड लाइन का इस्तेमाल करें:

./tools/catbox-tradefed list plans | grep -i catbox

टेस्ट प्लान के टाइप

नीचे दी गई टेबल में, फ़ंक्शन के लिए उपलब्ध टेस्ट प्लान दिखाए गए हैं.

फ़ंक्शनल टेस्ट प्लान ब्यौरा
catbox-functional फ़ंक्शनल टेस्ट.
catbox-functional-app-info-setting ऐप्लिकेशन की जानकारी सेव करने वाली सेटिंग के फ़ंक्शन की जांच.
catbox-functional-admin-user-grant-permissions एडमिन उपयोगकर्ता को अनुमतियां देने की सुविधा के फ़ंक्शन की जांच.
catbox-functional-app-info-setting-ui-elements ऐप्लिकेशन की जानकारी सेव करने वाली सेटिंग के फ़ंक्शन की जांच.
catbox-functional-appgrid ऐप्लिकेशन ग्रिड के फ़ंक्शन की जांच.
catbox-functional-base फ़ंक्शन की जांच करने वाली टेस्ट की सूची.
catbox-functional-bluetooth-audio ब्लूटूथ ऑडियो की फ़ंक्शनल टेस्ट.
catbox-functional-bluetooth-palette स्टेटस बार के फ़ंक्शन की जांच.
catbox-functional-bluetooth-tests Mobly का इस्तेमाल करके ब्लूटूथ की जांच करना.
catbox-functional-brightness-palette स्टेटस बार के फ़ंक्शन की जांच.
catbox-functional-btmoped ब्लूटूथ मोपेड पर आधारित फ़ंक्शनल टेस्ट.
catbox-functional-date-time-setting तारीख और समय की सेटिंग के फ़ंक्शन की जांच.
catbox-functional-dial फ़ंक्शन की जांच करने के लिए डायल करें.
catbox-functional-display-setting डिसप्ले सेटिंग के फ़ंक्शन की जांच.
catbox-functional-driving-optimized-apps यूज़र एक्सपीरियंस से जुड़ी पाबंदी की फ़ंक्शनल टेस्ट.
catbox-functional-enable-developers-option 'डेवलपर के लिए सेटिंग और टूल' में जाकर, फ़ंक्शनल टेस्ट चालू करें.
catbox-functional-home होम पेज के फ़ंक्शन की जांच.
catbox-functional-lock-screen लॉक स्क्रीन की फ़ंक्शनल टेस्ट.
catbox-functional-mediacenter Media Center के फ़ंक्शन की जांच करने वाले टेस्ट.
catbox-functional-microphone-recent-apps माइक्रोफ़ोन की सेटिंग के फ़ंक्शन की जांच.
catbox-functional-microphone-setting माइक्रोफ़ोन की सेटिंग के फ़ंक्शन की जांच.
catbox-functional-multiuser एक से ज़्यादा उपयोगकर्ताओं के लिए फ़ंक्शन की जांच करने वाले टेस्ट.
catbox-functional-multiuser-system-user एक से ज़्यादा उपयोगकर्ताओं के लिए फ़ंक्शन की जांच करने वाले टेस्ट.
catbox-functional-navigation-bar नेविगेशन बार के फ़ंक्शन की जांच.
catbox-functional-network-palette स्टेटस बार के फ़ंक्शन की जांच.
catbox-functional-network-setting नेटवर्क सेटिंग के फ़ंक्शन की जांच.
catbox-functional-notification सूचना की सुविधा की जांच.
catbox-functional-privacy-permission-manager निजता ऐप्लिकेशन की अनुमति सेटिंग के फ़ंक्शन की जांच.
catbox-functional-privacy-setting माइक्रोफ़ोन की सेटिंग के फ़ंक्शन की जांच.
catbox-functional-privacy-setting-ui-elements निजता सेटिंग की फ़ंक्शनल टेस्टिंग.
catbox-functional-profile-icon प्रोफ़ाइल आइकॉन बार के फ़ंक्शन की जांच.
catbox-functional-profiles-icon-list प्रोफ़ाइल के आइकॉन की सूची की जांच.
catbox-functional-security-setting सुरक्षा सेटिंग की फ़ंक्शनल टेस्ट.
catbox-functional-setting फ़ंक्शनल टेस्ट सेट करना.
catbox-functional-settings-location जगह की जानकारी की जांच सेट करना.
catbox-functional-sound-setting साउंड सेटिंग की फ़ंक्शनल टेस्ट.
catbox-functional-status-bar स्टेटस बार के फ़ंक्शन की जांच.
catbox-functional-storage-setting स्टोरेज सेटिंग के फ़ंक्शन की जांच.
catbox-functional-system-setting सिस्टम सेटिंग की फ़ंक्शनल जांच.
catbox-functional-systemui सिस्टम यूज़र इंटरफ़ेस (यूआई) की जांच.
catbox-functional-ux-restriction यूज़र एक्सपीरियंस से जुड़ी पाबंदी की फ़ंक्शनल टेस्ट.
catbox-functional-ux-restriction-facet-bar यूज़र एक्सपीरियंस (UX) से जुड़ी पाबंदी की फ़ंक्शनल टेस्ट.

यहां दी गई टेबल में, CATBox के परफ़ॉर्मेंस टेस्ट प्लान की सूची दी गई है.

परफ़ॉर्मेंस टेस्ट प्लान ब्यौरा
catbox-performance-cold-app-start-up-dialer Dialer और फ़ोन ऐप्लिकेशन के लिए, ऐप्लिकेशन को पहली बार खोलने पर उसकी परफ़ॉर्मेंस की जांच.
catbox-performance-cold-app-start-up-mediacenter Media Center के लिए, ऐप्लिकेशन के कोल्ड स्टार्ट की परफ़ॉर्मेंस की जांच.
catbox-performance-cold-app-start-up-settings सेटिंग के लिए, ऐप्लिकेशन के कोल्ड स्टार्ट-अप की परफ़ॉर्मेंस की जांच.
catbox-performance-create-and-switch-to-new-guest किसी नए मेहमान पर स्विच करने में लगने वाले समय को मेज़र करें.
catbox-performance-create-and-switch-to-new-user किसी ऐसे नए उपयोगकर्ता पर स्विच करने के लिए इंतज़ार का समय मेज़र करें जो एडमिन नहीं है.
catbox-performance-hot-app-start-up-dialer Dialer और Phone के लिए, ऐप्लिकेशन के तुरंत शुरू होने की परफ़ॉर्मेंस की जांच.
catbox-performance-hot-app-start-up-mediacenter Media Center के लिए, ऐप्लिकेशन के तुरंत शुरू होने की परफ़ॉर्मेंस की जांच.
catbox-performance-hot-app-start-up-settings सेटिंग के लिए, ऐप्लिकेशन के तुरंत शुरू होने की परफ़ॉर्मेंस की जांच.
catbox-performance-jank-appgrid Appgrid की परफ़ॉर्मेंस की जांच.
catbox-performance-jank-contact-list संपर्कों के लिए परफ़ॉर्मेंस टेस्ट.
catbox-performance-jank-media मीडिया के लिए परफ़ॉर्मेंस टेस्ट.
catbox-performance-jank-media-switch-playback मीडिया स्विच प्लेबैक के लिए परफ़ॉर्मेंस टेस्ट.
catbox-performance-jank-notifications सूचनाओं की परफ़ॉर्मेंस की जांच.
catbox-performance-jank-settings सेटिंग की परफ़ॉर्मेंस की जांच.
catbox-performance-switch-to-existing-user किसी मौजूदा उपयोगकर्ता पर स्विच करने के लिए, इंतज़ार का समय मेज़र करें.

एक से ज़्यादा डिवाइसों के लिए, होस्ट साइड टेस्ट चलाना

एक से ज़्यादा डिवाइसों पर होस्ट साइड टेस्ट करने के लिए, CATBox का इस्तेमाल किया जाता है, ताकि एक सेशन में टेस्ट चलाया जा सके. उदाहरण के लिए, BTDiscoveryTest:

make catbox
./tools/catbox-tradefed run commandAndExit catbox-functional-bluetooth-tests --{phone}serial <serial> --{auto}serial <serial> --mobly-host:mobly-par-file-name BTDiscoveryTest

CATBox, apk इंस्टॉल करता है. इसके बाद, टेस्ट को सही Python के रनिंग एनवायरमेंट में चलाया जाता है.

CATBox टेस्ट के नतीजों की समीक्षा करना

फ़ंक्शनल और परफ़ॉर्मेंस टेस्ट के नतीजे, android-catbox/results/latest में सेव किए जाते हैं.

परिणाम प्रकार जगह की जानकारी
परीक्षण के नतीजे test_result.xml
गड़बड़ी की जांच की जानकारी test_result_failures_suite.html
परफ़ॉर्मेंस मेट्रिक के नतीजे /report-log-files/CatboxPerformanceTests.reportlog.json
फ़ंक्शन और परफ़ॉर्मेंस की जांच की प्रोसेस /android-catbox/logs/latest