ทำการทดสอบยานยนต์ในกล่องเดียว

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 เพื่อสร้างการทดสอบ UI ที่โต้ตอบกับผู้ใช้และแอปพลิเคชันระบบ

ดาวน์โหลดชุดทดสอบ CATBox

Android 12

Android 12 เป็นการเปิดตัวของเหตุการณ์สำคัญในการพัฒนาที่มีชื่อรหัสว่า S ใช้ลิงก์ต่อไปนี้เพื่อดาวน์โหลดชุดทดสอบ CATBox สำหรับ Android 12:

Android 11

Android 11 เป็นการเปิดตัวของเหตุการณ์สำคัญในการพัฒนาที่มีชื่อรหัสว่า R ใช้ลิงก์ต่อไปนี้เพื่อดาวน์โหลดชุดทดสอบ CATBox สำหรับ Android 11:

สร้าง CATBox

ใช้คำสั่ง catbox build เมื่อโค้ด Android AOSP พร้อมใช้งานบนเวิร์กสเตชันในเครื่อง ในการสร้างแพ็คเกจ CATBox ในเครื่อง:

  1. เลือก Device Target และรันคำสั่งต่อไปนี้:

    # Select Device Target Based on Device Architecture
    $ lunch <target>
    
  2. ในการสร้าง CATBox ให้รันคำสั่งต่อไปนี้:

    # Build CATBox
    $ make catbox
    

    คำสั่งนี้จะสร้างไฟล์ android-catbox.zip ในไดเร็กทอรี /out/host/linux-x86/catbox ซึ่งสามารถใช้ในการทดสอบได้

การตั้งค่าสภาพแวดล้อม

การตั้งค่าสภาพแวดล้อมที่จำเป็นสำหรับการทดสอบ CATBox จะคล้ายกับ การตั้งค่า CTS ในการตั้งค่าสภาพแวดล้อม ให้ทำภารกิจต่อไปนี้ให้สำเร็จ:

การตั้งค่าและดำเนินการ CATBox

ใช้เฟรมเวิร์กการทดสอบของ Tradefed เพื่อเรียกใช้การทดสอบบนอุปกรณ์ Android ก่อนตั้งค่า CATBox ทำความคุ้นเคยกับ ภาพรวมของสหพันธ์การค้า

ในการตั้งค่าและเรียกใช้ CATBox ดูหัวข้อด้านล่าง

การตั้งค่าอุปกรณ์

ก่อนเรียกใช้แผนการทดสอบ ให้ทำตามขั้นตอนต่อไปนี้เพื่อตั้งค่าอุปกรณ์ของคุณ:

  1. ตรวจสอบให้แน่ใจว่าคุณได้ติดตั้งเวอร์ชันล่าสุดของทั้ง Android Debug Bridge (adb) และ Android Asset Packaging Tool (AAPT) รวมถึงเพิ่มตำแหน่งของเครื่องมือเหล่านี้ไปยังเส้นทางระบบของเครื่องของคุณ สำหรับรายละเอียด โปรดดู ADB และ AAPT

  2. เชื่อมต่ออุปกรณ์อย่างน้อยหนึ่งเครื่องและเตรียมอุปกรณ์ภายใต้การทดสอบ (DUT) ดังนี้:

    1. หากต้องการรีเซ็ตอุปกรณ์ยานยนต์เป็นค่าเริ่มต้น ให้คลิก การตั้งค่า > ระบบ > ตัวเลือกการรีเซ็ต > ลบข้อมูลทั้งหมด
    2. รอให้อุปกรณ์รีสตาร์ทโดยอัตโนมัติ
    3. ตรวจสอบให้แน่ใจว่าเปิดใช้งาน adb แล้ว เพื่อยืนยันว่าอุปกรณ์พร้อมใช้งาน ให้รันคำสั่งต่อไปนี้:

      $ adb devices
      
    4. ในการเปิดใช้งานรูท ให้รันคำสั่งต่อไปนี้:

      # Enable Root
      $ adb -s DEVICE_SERIAL root
      

      แทนที่ DEVICE_SERIAL ด้วย Serial ID สำหรับอุปกรณ์ยานยนต์

    5. เชื่อมต่อกับ Wi-Fi

แยกแพ็คเกจ CATBox

หลังจากตั้งค่าอุปกรณ์เสร็จแล้ว ให้เปิดเครื่องรูดแพ็คเกจ CATBox และไปที่โฟลเดอร์ที่แยกออกมา:

# Extract the CATBox Package
$ unzip android-catbox.zip

# Navigate to extracted CATBox Package
$ cd android-catbox

ทำการทดสอบใน CATBox

ในการรัน CATBox ด้วยแผนการทดสอบในแพ็คเกจ CATBox ให้รันสิ่งต่อไปนี้:

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

แทนที่ DEVICE_SERIAL ด้วย Serial ID สำหรับอุปกรณ์ยานยนต์ หากคุณมีอุปกรณ์หลายเครื่องที่เชื่อมต่อกับเครื่องโฮสต์ ให้ใช้ DEVICE_SERIAL เพื่อแยกความแตกต่าง แทนที่ TEST_PLAN_NAME ด้วยชื่อของแผนการทดสอบที่คุณต้องการเรียกใช้

หากต้องการรับรายการแผนการทดสอบที่พร้อมใช้งานทั้งหมด ให้ดำเนินการดังต่อไปนี้:

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

ตารางต่อไปนี้แสดงแผนการทดสอบที่มีตามประเภท:

ประเภทการทดสอบ ชื่อ
แผนการทดสอบการทำงาน catbox-functional-notification
catbox-functional-setting
catbox-functional-dial
catbox-functional-system-setting
catbox-functional-app-info-setting
catbox-functional-network-setting
catbox-functional-security-setting
catbox-functional-sound-setting
catbox-functional-date-time-setting
catbox-functional-appgrid
catbox-functional-home
catbox-functional-lock-screen
catbox-functional-navigation-bar
catbox-functional-ux-restriction
catbox-functional-bluetooth-audio
แผนการทดสอบประสิทธิภาพ catbox-performance-cold-app-start-up-settings
catbox-performance-hot-app-start-up-settings
catbox-performance-jank-settings
catbox-performance-cold-app-start-up-dialer
catbox-performance-hot-app-start-up-dialer
catbox-performance-jank-contact-list
catbox-performance-jank-notifications
catbox-performance-jank-appgrid
catbox-performance-cold-app-start-up-mediacenter
catbox-performance-hot-app-start-up-mediacenter
catbox-performance-create-and-switch-to-new-guest
catbox-performance-create-and-switch-to-new-user
catbox-performance-create-and-switch-to-precreated-guest
catbox-performance-create-and-switch-to-precreated-user
catbox-performance-switch-to-existing-user

ผลการทดสอบ CATBox

ผลการทดสอบจะถูกบันทึกไว้ในโฟลเดอร์ android-catbox/results/latest สำหรับการดำเนินการทดสอบการทำงานและประสิทธิภาพ

  • สำหรับผลการทดสอบ โปรดดูที่ test_result.xml
  • สำหรับรายละเอียดการทดสอบความล้มเหลว โปรดดู test_result_failures_suite.html
  • สำหรับผลการวัดประสิทธิภาพ โปรดดู CatboxPerformanceTests.reportlog.json ในไดเร็กทอรี report-log-files

บันทึกจะถูกบันทึกไว้ในเส้นทาง android-catbox/logs/latest สำหรับการดำเนินการทดสอบการทำงานและประสิทธิภาพ

การทดสอบบางอย่าง เช่น การทดสอบการรบกวนของ Dial, Bluetooth Audio และ Contacts list จำเป็นต้องมีการตั้งค่าอุปกรณ์เพิ่มเติม

ทดสอบการหมุน

การทดสอบการต่อสายต้องมีการตั้งค่าอุปกรณ์และพารามิเตอร์รันไทม์ ในการตั้งค่าอุปกรณ์:

  1. เชื่อมต่ออุปกรณ์มือถือเข้ากับชุดเครื่องเสียงรถยนต์ผ่าน Bluetooth
  2. ตรวจสอบให้แน่ใจว่าโทรศัพท์ที่ใช้ทดสอบมีซิมการ์ดสำหรับทำการทดสอบการโทรและเชื่อมต่อกับเครือข่ายมือถือ
  3. การทดสอบการโทรใช้รายชื่อติดต่อเริ่มต้นที่จัดเก็บไว้ในโทรศัพท์ ใช้ contacts.vcf เพื่อโหลดรายชื่อในโทรศัพท์
  4. แทนที่ COMPANION_SERIAL ด้วย Serial ID สำหรับโทรศัพท์และเรียกใช้คำสั่งต่อไปนี้:

    # Contacts can be loaded on the phone by pushing the contacts.vcf file on
    the phone and importing it in the Contacts application.
    
    OR
    
    # Importing contacts using adb.
    
    # Push contacts VCF file to phone
    
    $ adb -s COMPANION_SERIAL push <path-to-downloaded-contacts-vcf-file> /storage/emulated/0/Android/data/com.google.android.contacts/contacts.vcf
    
    # Grant Read Permissions
    
    $ adb -s COMPANION_SERIAL shell pm grant com.google.android.contacts
    android.permission.READ_EXTERNAL_STORAGE
    
    # Import contacts from the VCF file
    
    $ adb -s COMPANION_SERIAL shell am start-activity -W -t 'text/x-vcard' -d file:///storage/emulated/0/Android/data/com.google.android.contacts/contacts.vcf
    -a android.intent.action.VIEW com.google.android.contacts
    
    # Then accept the prompts on the UI to load the contacts.
    
พารามิเตอร์รันไทม์

การทดสอบการโทรใช้หมายเลขโทรศัพท์ขนาดเล็กและขนาดใหญ่สำหรับการทดสอบ การทดสอบการโทรยังใช้ชื่อผู้ติดต่อและหมายเลขติดต่อสำหรับการทดสอบการค้นหา ใช้พารามิเตอร์ต่อไปนี้เพื่อให้ข้อมูลนี้:

Parameters for Large Phone Number:
--module-arg AndroidAutomotiveDialTests:instrumentation-arg:large-phone-number:=< 10 digit phone number>

Parameters for Small Phone Number:
--module-arg AndroidAutomotiveDialTests:instrumentation-arg:small-phone-number:=< 3 digit phone number>

Parameters for Search Contact Name:
--module-arg AndroidAutomotiveDialTests:instrumentation-arg:search-contact-name:=< some contact name stored on the phone >

Parameters for Search Contact Number:
--module-arg AndroidAutomotiveDialTests:instrumentation-arg:search-contact-number:=< contact number of the name provided in the search contact name >

การทดสอบเสียงบลูทูธ

ในการตั้งค่าอุปกรณ์สำหรับการทดสอบเสียง Bluetooth:

  1. ตรวจสอบให้แน่ใจว่าได้ติดตั้งแอป YouTube Music บนโทรศัพท์ และคุณลงชื่อเข้าใช้บัญชีแล้ว หากไม่ ให้ติดตั้งแอปและลงชื่อเข้าใช้บัญชี
  2. จับคู่โทรศัพท์ด้วยตนเองกับอุปกรณ์ในรถยนต์ผ่านบลูทูธ
  3. เมื่อจับคู่โทรศัพท์แล้ว ให้เล่นเพลงบนโทรศัพท์แล้วเริ่มทำการทดสอบ

รายชื่อผู้ติดต่อ jank test

ในการตั้งค่าอุปกรณ์สำหรับการทดสอบรายชื่อผู้ติดต่อ:

  1. ตรวจสอบให้แน่ใจว่าโทรศัพท์มีผู้ติดต่อหลายราย เพื่อให้การทดสอบสามารถเลื่อนดูรายชื่อผู้ติดต่อเพื่อรวบรวมเมตริกขยะ
  2. จับคู่โทรศัพท์ด้วยตนเองกับอุปกรณ์ในรถยนต์ผ่านบลูทูธ
  3. เมื่อจับคู่โทรศัพท์แล้ว คุณจะสามารถเข้าถึงรายชื่อติดต่อบนอุปกรณ์ได้