เนื้อหานี้มุ่งสู่นักพัฒนาแพลตฟอร์ม Android ก่อนที่จะทำความเข้าใจวิธีการทดสอบบนแพลตฟอร์ม Android โปรดดูภาพรวม สถาปัตยกรรมแพลตฟอร์ม Android
จากนั้นเจาะลึกเทคโนโลยีที่แม่นยำที่คุณสามารถใช้ได้ในส่วนนี้ เช่น Vendor Test Suite (VTS) และ วิดีโอสอนการใช้งาน Codelab มากมาย
นอกจากนี้ โปรดสังเกตกลไก การทดสอบความปลอดภัยเฉพาะ ที่มีไว้เพื่อตรวจจับและทำให้อุปกรณ์ของคุณแข็งแกร่งขึ้นจากช่องโหว่
สำหรับการทดสอบแอป ให้เริ่มต้นด้วย พื้นฐานการทดสอบ และดำเนินการ Android Testing Codelab โดยใช้ ตัวอย่าง ที่ให้ไว้
สุดท้ายนี้ โปรดทราบว่าการทดสอบพื้นฐานก่อนส่งพร้อมใช้งานสำหรับคุณผ่าน Repo Hooks ซึ่งสามารถเรียกใช้ linters ตรวจสอบการจัดรูปแบบ และทริกเกอร์การทดสอบหน่วยก่อนดำเนินการต่อ เช่น การอัปโหลดคอมมิต โปรดทราบว่า hooks เหล่านี้จะถูกปิดใช้งานตามค่าเริ่มต้น ดูการแนะนำ Repo Hooks สำหรับรายละเอียดเพิ่มเติม
จะทดสอบอะไรและอย่างไร
โดยทั่วไปการทดสอบแพลตฟอร์มจะโต้ตอบกับบริการระบบ Android อย่างน้อยหนึ่งบริการ หรือเลเยอร์ Hardware Abstraction Layer (HAL) ฝึกฟังก์ชันการทำงานของหัวข้อที่ทดสอบ และยืนยันความถูกต้องของผลการทดสอบ
ด้วยเหตุนี้ การทดสอบแพลตฟอร์มอาจ:
- ฝึก API เฟรมเวิร์กผ่านเฟรมเวิร์กแอปพลิเคชัน API เฉพาะที่กำลังใช้งานอยู่อาจรวมถึง:
- API สาธารณะที่มีไว้สำหรับแอปพลิเคชันบุคคลที่สาม
- API ที่ซ่อนอยู่ซึ่งมีไว้สำหรับแอปพลิเคชันที่ได้รับสิทธิพิเศษ ได้แก่ API ของระบบ
- API ส่วนตัว (@hide หรือป้องกัน แพ็คเกจส่วนตัว)
- เรียกใช้บริการระบบ Android ผ่าน Raw Binder/IPC Proxies โดยตรง
- โต้ตอบโดยตรงกับ HAL ผ่าน API ระดับต่ำหรืออินเทอร์เฟซ IPC
โดยทั่วไปประเภทที่ 1 และ 2 จะถูกเขียนเป็นการ ทดสอบเครื่องมือวัด ในขณะที่ประเภทที่ 3 มักจะเขียนเป็น Gtests
หากต้องการเรียนรู้เพิ่มเติม โปรดดูตัวอย่างตั้งแต่ต้นจนจบ:
ทำความคุ้นเคยกับเครื่องมือเหล่านี้ เนื่องจากเป็นเครื่องมือที่จำเป็นสำหรับการทดสอบใน Android
ชุดทดสอบความเข้ากันได้ (CTS)
ชุดทดสอบความเข้ากันได้ของ Android คือชุดการทดสอบประเภทต่างๆ ที่ใช้เพื่อให้แน่ใจว่าการใช้งานเฟรมเวิร์ก Android ของพันธมิตร OEM และการเปิดตัวแพลตฟอร์มต่างๆ เข้ากันได้ ชุดนี้ยังรวมถึงการทดสอบเครื่องมือและกรอบงาน Gtest
การทดสอบ CTS และแพลตฟอร์มไม่ได้แยกจากกัน และนี่คือแนวทางทั่วไปบางประการ:
- หากการทดสอบยืนยันความถูกต้องของฟังก์ชัน/พฤติกรรมของ Framework API และควรบังคับใช้กับพันธมิตร OEM ก็ควรอยู่ใน CTS
- หากการทดสอบมีจุดประสงค์เพื่อตรวจจับการถดถอยในระหว่างรอบการพัฒนาแพลตฟอร์ม และอาจต้องได้รับอนุญาตเป็นพิเศษในการดำเนินการ และอาจขึ้นอยู่กับรายละเอียดการใช้งาน (ดังที่เผยแพร่ใน AOSP) ควรเป็นการทดสอบแพลตฟอร์มเท่านั้น
ชุดทดสอบผู้ขาย (VTS)
Vendor Test Suite (VTS) จะทำการทดสอบเคอร์เนล HAL และ OS โดยอัตโนมัติ หากต้องการใช้ VTS เพื่อทดสอบการใช้งานระบบ Android ในตัว ให้ตั้งค่าสภาพแวดล้อมการทดสอบ จากนั้นทดสอบแพตช์โดยใช้แผน VTS
โครงสร้างพื้นฐานการทดสอบของสหพันธ์การค้า
Trade Federation (เรียกสั้น ๆ ว่า Tradefed หรือ TF) เป็นเฟรมเวิร์กการทดสอบต่อเนื่องที่ออกแบบมาเพื่อรันการทดสอบบนอุปกรณ์ Android TF สามารถดำเนินการทดสอบการทำงานภายในเครื่องได้ที่โต๊ะของคุณภายในจุดชำระเงินแพลตฟอร์มของคุณ มีไฟล์ที่จำเป็นสองไฟล์ในการรันการทดสอบใน TF, แหล่งทดสอบ Java และการกำหนดค่า XML ดูตัวอย่าง RebootTest.java และ boot.xml
การดีบัก
ส่วน การแก้ไขข้อบกพร่อง จะสรุปเครื่องมือที่มีประโยชน์และคำสั่งที่เกี่ยวข้องสำหรับการดีบัก การติดตาม และการสร้างโปรไฟล์โค้ดแพลตฟอร์ม Android ในตัวเมื่อพัฒนาฟีเจอร์ระดับแพลตฟอร์ม