השלמת בדיקות רכב בקופסה

Complete Automotive Tests in a Box‏ (CATBox) היא חבילה בקוד פתוח שמספקת את המסגרות והכלים הנדרשים לביצוע בדיקות רכב בצורה יעילה עם הגדרה מינימלית. CATBox ניתנת להתאמה ותואמת לכלים, לתשתית ולבדיקות שבהם אתם משתמשים כדי לבדוק ולאמת את הטמעות Android Automotive OS‏ (AAOS). כתוצאה מכך, תוכלו לספק מוצרים באיכות גבוהה לזירת המסחר.

עיצוב והטמעה של CATBox

חבילת הבדיקות של CATBox מספקת את הכלים, המסגרות והבדיקות הנדרשים לביצוע בדיקות פונקציונליות ובדיקות ביצועים במכשיר יעד לכלי רכב, וגם במכשיר נלווה.

בתמונה הבאה מוצגת תצוגה כללית של חבילת CATBox.

CATBox

איור 1. חבילת CATBox

Tradefed

Tradefed היא מסגרת בדיקה רציפה בקוד פתוח שמשמשת להרצת בדיקות במכשירי Android. פרטים נוספים זמינים במאמר סקירה כללית על איחוד שירותי המסחר.

מסגרת בדיקה לכלי רכב

CATBox מבוסס על מסגרת בדיקה לכלי רכב שנקראת Spectatio, שמספקת ממשקי API לבדיקה של אפליקציות שונות במכשירי רכב. הוא מבוסס על UI Automator, מסגרת בדיקה בקוד פתוח שמספקת קבוצה של ממשקי API ליצירת בדיקות ממשק משתמש שמקיימות אינטראקציה עם אפליקציות של משתמשים ומערכות.

הורדות של חבילות בדיקות של CATBox

Android 14

Android Automotive 14 הוא הגרסה של שלב הפיתוח המכונה U. אפשר להשתמש בקישורים הבאים כדי להוריד חבילות בדיקות של CATBox ל-Android 14:

12 ‏Android

Android 12 היא הגרסה של אבן הדרך בפיתוח, שנקראה S. אפשר להשתמש בקישורים הבאים כדי להוריד חבילות בדיקות של CATBox ל-Android 12:

Android 11

Android 11 היא הגרסה של אבן הדרך בפיתוח, שנקראה R. אפשר להשתמש בקישור הבא כדי להוריד חבילות בדיקה של CATBox ל-Android 11:

פיתוח CATBox

משתמשים בפקודת ה-build catbox אחרי שקוד Android AOSP זמין בתחנת העבודה המקומית.

כדי ליצור את החבילה של CATBox באופן מקומי:

  1. בוחרים את הטירגוט למכשיר בהתאם לארכיטקטורה של המכשיר ומריצים את הפקודה הבאה:

    lunch <target>
    
  2. כדי ליצור את CATBox, מריצים את הפקודה הבאה:

    make catbox
    

    הפקודה הזו יוצרת את הקובץ android-catbox.zip בספרייה /out/host/linux-x86/catbox, שבו אפשר להשתמש כדי להריץ בדיקות.

הגדרת הסביבה

הגדרת הסביבה הנדרשת להרצת בדיקות CATBox דומה להגדרת CTS. כדי להגדיר את הסביבה, מבצעים את כל המשימות הבאות:

הגדרה והרצה של CATBox

משתמשים במסגרת הבדיקה של Tradefed כדי להריץ את הבדיקות במכשירי Android. לפני שמגדירים את CATBox, כדאי לעיין בסקירה הכללית על Trade Federation.

כדי להגדיר ולהפעיל את CATBox, אפשר לעיין בקטעים הבאים.

הגדרת המכשיר

לפני שמריצים תוכנית בדיקה, צריך לבצע את השלבים הבאים כדי להגדיר את המכשיר:

  1. חשוב לוודא שמותקנות הגרסאות האחרונות של Android Debug Bridge‏ (adb) ושל Android Asset Packaging Tool‏ (AAPT), ושהוסיפה את המיקום של הכלים האלה לנתיב המערכת של המכונה. למידע נוסף, ראו ADB ו-AAPT.

  2. מחברים מכשיר אחד לפחות ומכינים את המכשיר לבדיקה (DUT) באופן הבא:

    1. כדי לאפס את המכשיר לרכב להגדרות המקוריות, עוברים אל הגדרות > מערכת > אפשרויות איפוס > מחיקת כל הנתונים.

    2. ממתינים שהמכשיר יופעל מחדש באופן אוטומטי.

    3. מוודאים ש-adb מופעל. כדי לוודא שהמכשיר זמין, מריצים את הפקודה הבאה:

      adb devices
      
    4. כדי להפעיל את root, מריצים את הפקודה הבאה:

      adb -s DEVICE_SERIAL root
      

      מחליפים את DEVICE_SERIAL במספר הסידורי של המכשיר לכלי רכב.

    5. מתחברים ל-Wi-Fi.

חילוץ החבילה של 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 בדיקות פונקציונליות של אודיו ב-Bluetooth.
catbox-functional-bluetooth-palette בדיקות פונקציונליות של שורת הסטטוס.
catbox-functional-bluetooth-tests בדיקות Bluetooth באמצעות Mobly.
catbox-functional-brightness-palette בדיקות פונקציונליות של שורת הסטטוס.
catbox-functional-btmoped בדיקות פונקציונליות מבוססות-Bluetooth Moped.
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 בדיקות פונקציונליות של הגבלות על חוויית משתמש.

בטבלה הבאה מפורטים תוכניות הבדיקה של הביצועים ב-CATBox.

תוכניות לבדיקת ביצועים תיאור
catbox-performance-cold-app-start-up-dialer בדיקת ביצועים של הפעלה קרה של אפליקציות Dialer ו-Phone.
catbox-performance-cold-app-start-up-mediacenter בדיקת ביצועים של הפעלה במצב התחלתי (cold start) של אפליקציה ל-Media Center.
catbox-performance-cold-app-start-up-settings בדיקת ביצועים של הפעלה ראשונית (cold start) של האפליקציה להגדרות.
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