การทดสอบแพลตฟอร์ม Android

จัดทุกอย่างให้เป็นระเบียบอยู่เสมอด้วยคอลเล็กชัน บันทึกและจัดหมวดหมู่เนื้อหาตามค่ากำหนดของคุณ

เนื้อหานี้มุ่งสู่นักพัฒนาแพลตฟอร์ม Android ก่อนทำความเข้าใจวิธีการทดสอบบนแพลตฟอร์ม Android โปรดดูภาพรวม สถาปัตยกรรมแพลตฟอร์ม Android

จากนั้นเจาะลึกเทคโนโลยีที่แม่นยำที่มีให้คุณในส่วนนี้ เช่น Vendor Test Suite (VTS) และ วิดีโอมากมายและบทช่วยสอน Codelab

นอกจากนี้ ให้สังเกตกลไก การทดสอบเฉพาะด้านความปลอดภัยที่ มีให้ในการตรวจจับและทำให้อุปกรณ์ของคุณแข็งแกร่งจากช่องโหว่ต่างๆ

สำหรับการทดสอบแอป ให้เริ่มต้นด้วย พื้นฐานการทดสอบ และดำเนินการ Android Testing Codelab โดยใช้ ตัวอย่าง ที่ให้มา

สุดท้ายนี้ โปรดทราบว่าการทดสอบ presubmit พื้นฐานนั้นพร้อมให้คุณใช้งานผ่าน Repo Hooks ที่สามารถเรียกใช้ Linters ตรวจสอบการจัดรูปแบบ และทริกเกอร์การทดสอบหน่วยก่อนดำเนินการต่อ เช่น การอัปโหลดการคอมมิต โปรดทราบว่า hooks เหล่านี้ถูกปิดใช้งานโดยค่าเริ่มต้น ดูการแนะนำ Repo Hooks สำหรับรายละเอียดเพิ่มเติม

อะไรและวิธีการทดสอบ

โดยทั่วไป การทดสอบแพลตฟอร์มจะโต้ตอบกับบริการระบบ Android อย่างน้อยหนึ่งรายการ หรือเลเยอร์ Hardware Abstraction Layer (HAL) ฝึกฟังก์ชันการทำงานของหัวข้อที่ทดสอบ และยืนยันความถูกต้องของผลการทดสอบ

ด้วยเหตุนี้ การทดสอบแพลตฟอร์มอาจ:

  1. แบบฝึกหัดกรอบงาน APIs ผ่านกรอบงานแอปพลิเคชัน API เฉพาะที่ใช้อาจรวมถึง:
    • API สาธารณะสำหรับแอปพลิเคชันบุคคลที่สาม
    • API ที่ซ่อนอยู่สำหรับแอปพลิเคชันที่มีสิทธิพิเศษ ได้แก่ API ของระบบ
    • API ส่วนตัว (@hide หรือป้องกัน แพ็คเกจส่วนตัว)
  2. เรียกใช้บริการระบบ Android ผ่านตัวผูกข้อมูลดิบ/พร็อกซี IPC โดยตรง
  3. โต้ตอบโดยตรงกับ HAL ผ่าน API ระดับต่ำหรืออินเทอร์เฟซ IPC

โดยทั่วไปประเภทที่ 1 และ 2 จะถูกเขียนเป็นการ ทดสอบเครื่องมือวัด ในขณะที่ประเภทที่ 3 มักจะเขียนเป็น GTests

หากต้องการเรียนรู้เพิ่มเติม โปรดดูตัวอย่างแบบครบวงจรของเรา:

ทำความคุ้นเคยกับเครื่องมือเหล่านี้ เนื่องจากเป็นเครื่องมือที่ใช้ในการทดสอบใน Android

ชุดทดสอบความเข้ากันได้ (CTS)

ชุดทดสอบความเข้ากันได้ของ Android คือชุดการทดสอบประเภทต่างๆ ที่ใช้เพื่อให้แน่ใจว่าการใช้งานเฟรมเวิร์กของ Android เข้ากันได้ทั่วทั้งพาร์ทเนอร์ OEM และข้ามแพลตฟอร์มที่เผยแพร่ ชุดนี้ยังรวมถึงการทดสอบเครื่องมือวัดและกรอบงาน GTest

การทดสอบ CTS และแพลตฟอร์มไม่ได้เกิดขึ้นพร้อมกัน และนี่คือแนวทางทั่วไปบางประการ:

  • หากการทดสอบยืนยันความถูกต้องของฟังก์ชัน/พฤติกรรมของเฟรมเวิร์ก API และควรบังคับใช้กับพาร์ทเนอร์ OEM การทดสอบควรอยู่ใน CTS
  • หากการทดสอบมีจุดประสงค์เพื่อตรวจจับการถดถอยระหว่างวงจรการพัฒนาแพลตฟอร์ม และอาจจำเป็นต้องได้รับสิทธิ์พิเศษในการดำเนินการ และอาจขึ้นอยู่กับรายละเอียดการใช้งาน (ตามที่เผยแพร่ใน AOSP) การทดสอบนั้นควรเป็นการทดสอบแพลตฟอร์มเท่านั้น

ชุดทดสอบผู้ขาย (VTS)

Vendor Test Suite (VTS) จะทำการทดสอบเคอร์เนล HAL และ OS โดยอัตโนมัติ หากต้องการใช้ VTS เพื่อทดสอบการใช้งานระบบ Android ในตัว ให้ตั้งค่าสภาพแวดล้อมการทดสอบ จากนั้นทดสอบโปรแกรมแก้ไขโดยใช้แผน VTS

โครงสร้างพื้นฐานการทดสอบของสหพันธ์การค้า

สหพันธ์การค้า (tradefed หรือ TF สำหรับระยะสั้น) เป็นเฟรมเวิร์กการทดสอบอย่างต่อเนื่องที่ออกแบบมาสำหรับการทดสอบบนอุปกรณ์ Android TF สามารถเรียกใช้การทดสอบการทำงานในพื้นที่ ที่โต๊ะทำงานของคุณ ภายในการชำระเงินบนแพลตฟอร์มของคุณ มีสองไฟล์ที่จำเป็นในการรันการทดสอบใน TF, ซอร์สสำหรับการทดสอบจาวา และการกำหนดค่า XML ดู RebootTest.java และ reboot.xml สำหรับตัวอย่าง

แก้จุดบกพร่อง

ส่วน การดีบัก จะสรุปเครื่องมือที่มีประโยชน์และคำสั่งที่เกี่ยวข้องสำหรับการดีบัก การติดตาม และการทำโปรไฟล์โค้ดแพลตฟอร์ม Android ในตัวเมื่อพัฒนาคุณลักษณะระดับแพลตฟอร์ม