CTS สำหรับแอปทันใจ

Instant App เป็นฟีเจอร์หลักใน 10 ประการ ดังนั้นจึงจำเป็นอย่างยิ่งที่จะต้องทำงานอย่างถูกต้อง Instant App ได้รับการติดตั้งโดยปริยาย จึงมีชุดความสามารถที่จำกัดและทำงานในแซนด์บ็อกซ์ความปลอดภัยที่เข้มงวดมากขึ้น เนื่องจากข้อจำกัดเหล่านี้มีอยู่แพร่หลาย ส่วนหนึ่งส่วนใดของระบบจึงมีความเสี่ยงที่จะทำงานกับ Instant Apps ไม่ถูกต้อง ชุดย่อยการทดสอบ CTS ถูกสร้างขึ้นเพื่อให้แน่ใจว่าลักษณะการทำงานที่อนุญาตโดย Instant Apps นั้นทำงานได้ แนวคิดหลักคือการลดขนาดที่เพิ่มขึ้นของ CTS โดยการแยกชุดการทดสอบขั้นต่ำไปยังพอร์ต CTS ที่ทำงานในโหมด Instant Apps หมายถึงการติดตั้ง APK ทดสอบเป็น Instant App และทำการทดสอบ

ข้อจำกัดของ Instant App

ผู้ใช้ไม่ได้ติดตั้ง Instant App ดังนั้นจึงทำงานในแซนด์บ็อกซ์แบบจำกัดโดยมีข้อจำกัดดังต่อไปนี้

  • สามารถถือสิทธิ์บางอย่างเท่านั้น
  • ไม่เห็นแอปอื่นๆ เว้นแต่แอปเหล่านั้นจะถูกทำเครื่องหมายว่ามองเห็นได้ใน Instant Apps
  • สามารถเข้าถึงการตั้งค่าระบบบางอย่างเท่านั้น
  • สามารถเข้าถึงคุณสมบัติระบบบางอย่างเท่านั้น
  • ไม่สามารถเปิดเผยบริการ/ผู้ให้บริการได้
  • สามารถรับและส่งกฎพิเศษเกี่ยวกับการออกอากาศ

นอกจากนี้ Instant Apps ต้องเลือกอนุญาตให้แซนด์บ็อกซ์ความปลอดภัยใหม่เพิ่มข้อจำกัดเพิ่มเติม พฤติกรรมพิเศษที่หลากหลายเกี่ยวกับ Instant Apps ข้ามแพลตฟอร์มทั้งหมด ดังนั้นจึงจำเป็นต้องมีวิธีตรวจสอบว่า Instant Apps ทำงานตามที่คาดไว้สำหรับอุปกรณ์ทั้งหมดในระบบนิเวศ

การทดสอบที่ทำงานในโหมด Instant Apps

โมดูล CTS บางโมดูลไม่มีการทดสอบที่เกี่ยวข้องกับ Instant Apps หากฟังก์ชันที่ทดสอบโดยโมดูลมีการโต้ตอบกับเซิร์ฟเวอร์ระบบ การทดสอบเหล่านี้ควรดำเนินการในโหมดแอปทันที ตัวอย่างเช่น การทดสอบ OpenGL ไม่ได้โต้ตอบกับเซิร์ฟเวอร์ระบบ ดังนั้นจึงไม่จำเป็นต้องรันการทดสอบในโหมด Instant Apps ในขณะที่การทดสอบการเข้าถึงโต้ตอบกับเซิร์ฟเวอร์ระบบ แต่มีความจำเป็นต้องเรียกใช้ในโหมด Instant Apps

นอกเหนือจากการระบุโมดูลที่ใช้งานได้แล้ว ผู้ใช้ยังต้องพิจารณาว่าการทดสอบใดในโมดูลเหล่านี้มีความเกี่ยวข้อง ตัวอย่างเช่น การทดสอบพฤติกรรมเฉพาะบริการสำหรับสถาปัตยกรรมที่เสียบได้ (เช่น บริการการเข้าถึง) ไม่สามารถใช้ได้กับโหมด Instant App เนื่องจาก Instant Apps ไม่สามารถเปิดเผยบริการแก่แอปอื่นๆ (รวมถึงแพลตฟอร์ม) ในขณะที่การทดสอบการตรวจสอบพฤติกรรมฝั่งแอปนั้น ใช้ได้กับโหมด Instant Apps อีกตัวอย่างหนึ่งคือการทดสอบที่ตรวจสอบพฤติกรรมเบื้องหลังสิทธิ์ที่ Instant App ไม่สามารถเก็บไว้ได้ ซึ่งไม่เกี่ยวข้องในโหมด Instant App มีชุดการทดสอบที่ใช้เฉพาะกับ Instant Apps ที่จะตรวจสอบกฎเกี่ยวกับวิธีการทำงาน เช่น ไม่เปิดเผยบริการ หรือการไม่เห็นแอปอื่นๆ โดยปกติแล้ว ข้อมูลเหล่านี้เขียนไว้แล้วและไม่จำเป็นต้องย้ายข้อมูล

ทดสอบความล้มเหลวในโหมด Instant Apps

หากการทดสอบล้มเหลวเนื่องจากตรวจสอบฟังก์ชันการทำงานที่ Instant Apps ไม่สามารถเข้าถึงได้ ก็จะไม่สามารถใช้งานได้ในโหมด Instant Apps ทำเครื่องหมายการทดสอบให้ทำงานในโหมด Full App เท่านั้นโดยใส่คำอธิบายประกอบด้วย @AppModeFull คุณสามารถใช้คำอธิบายประกอบนี้กับระดับชั้นเรียนเพื่อยกเว้นการทดสอบทั้งหมดในระดับชั้นเรียน

หากการทดสอบล้มเหลวเนื่องจากฟังก์ชันการทำงานบางอย่างที่ Instant Apps เข้าถึงได้ใช้งานไม่ ได้ ให้แจ้งข้อบกพร่อง

การแก้ไขปัญหา

หากการทดสอบของคุณล้มเหลวด้วย การติดตั้ง MyCtsModule.apk บนอุปกรณ์ล้มเหลว เหตุผล: '-116' ค้นหาข้อความ PackageManager บน logcat ตัวอย่างเช่น หากมีข้อความว่า ไม่สามารถแทนที่ Full App ด้วย Instant App: your_app ได้ ให้ adb ถอนการติดตั้งแอปของคุณก่อน