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

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

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

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

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

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

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

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

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

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

ประเภทที่ 1 และ 2 จะมีการเขียนมักจะเป็น การทดสอบวัด ในขณะที่ประเภท 3 มักจะเขียนเป็น ทดสอบพื้นเมือง ใช้ gtest กรอบ

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

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

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

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

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

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

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

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

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

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

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

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