CTS ที่ขับเคลื่อนโดยนักพัฒนาแอป

หน้านี้สรุปหลักเกณฑ์การใช้งาน CTS ที่ขับเคลื่อนโดยนักพัฒนาแอป (CTS-D)

ความครอบคลุมการทดสอบ

CTS-D เช่นเดียวกับ CTS และ CTS Verifier จะบังคับใช้ได้เฉพาะรายการต่อไปนี้

  • API สาธารณะทั้งหมดที่อธิบายไว้ใน SDK ของนักพัฒนาแอป (developer.android.com) สำหรับ API ระดับหนึ่ง
  • ข้อกำหนดทั้งหมดที่ต้องมี (MUST) ซึ่งรวมอยู่ในเอกสารคำจำกัดความความเข้ากันได้ของ Android (CDD) สำหรับ API ระดับหนึ่ง

ข้อกำหนดที่ไม่ใช่ข้อกำหนดที่ต้องมี (Non-MUST) เช่น ข้อกำหนดที่แนะนำอย่างยิ่ง (STRONGLY RECOMMENDED), ควร (SHOULD), อาจ (MAY) เป็นข้อกำหนดที่ไม่บังคับและไม่สามารถทดสอบโดยใช้ CTS ได้

เนื่องจาก API และข้อกำหนด CDD ทั้งหมดเชื่อมโยงกับ API ระดับหนึ่งๆ การทดสอบ CTS ทั้งหมด (CTS, CTS-D และ CTS Verifier) จึงเชื่อมโยงกับ API ระดับเดียวกับ API หรือข้อกำหนดที่เกี่ยวข้อง หาก API หนึ่งๆ เลิกใช้งานหรือมีการเปลี่ยนแปลง การทดสอบที่เกี่ยวข้องจะต้องเลิกใช้งานหรืออัปเดต

กฎการสร้างการทดสอบ CTS

  • การทดสอบต้องให้ผลลัพธ์ที่เป็นวัตถุประสงค์เดียวกันอย่างสม่ำเสมอ
  • การทดสอบต้องระบุว่าอุปกรณ์ผ่านหรือไม่ผ่านโดยการทดสอบอุปกรณ์นั้นๆ 1 ครั้งเมื่อนำออกจากกล่อง
  • ผู้สร้างการทดสอบต้องนำปัจจัยที่เป็นไปได้ทั้งหมดที่อาจส่งผลต่อผลการทดสอบออก
  • หากอุปกรณ์ต้องมีสภาพฮาร์ดแวร์ สภาพแวดล้อม หรือการตั้งค่าหนึ่งๆ จะต้องกำหนดการตั้งค่าดังกล่าวอย่างชัดเจนในข้อความคอมมิต ดูตัวอย่างวิธีการตั้งค่าได้ที่ การตั้งค่า CTS
  • การทดสอบต้องไม่ทำงานนานกว่า 6 ชั่วโมงต่อครั้ง หากจำเป็นต้องทำงานนานกว่านั้น โปรดระบุเหตุผลไว้ในข้อเสนอการทดสอบเพื่อให้เราตรวจสอบได้

ต่อไปนี้คือชุดเงื่อนไขการทดสอบตัวอย่างสำหรับการทดสอบข้อจำกัดของแอป

  • Wi-Fi เสถียร (สำหรับการทดสอบที่ต้องใช้ Wi-Fi)
  • อุปกรณ์ยังคงอยู่กับที่ระหว่างการทดสอบ (หรือไม่ก็ได้ ขึ้นอยู่กับการทดสอบ)
  • ถอดปลั๊กอุปกรณ์ออกจากแหล่งจ่ายไฟที่มีระดับแบตเตอรี่ X เปอร์เซ็นต์
  • ไม่มีแอป บริการที่ทำงานอยู่เบื้องหน้า หรือบริการที่ทำงานอยู่เบื้องหลังทำงานอยู่ ยกเว้น CTS
  • หน้าจอปิดอยู่ขณะเรียกใช้ CTS
  • อุปกรณ์ไม่ได้เป็น isLowRamDevice
  • ไม่ได้มีการเปลี่ยนแปลงโหมดประหยัดแบตเตอรี่ / ข้อจำกัดของแอปจากสถานะ "เมื่อนำออกจากกล่อง"

การมีสิทธิ์เข้าร่วมการทดสอบ

เรายอมรับการทดสอบใหม่ที่บังคับใช้ลักษณะการทำงานที่การทดสอบ CTS, CTS Verifier หรือ CTS-D ที่มีอยู่ไม่ได้ทดสอบ เราจะปฏิเสธการทดสอบใดๆ ที่ตรวจสอบลักษณะการทำงานนอกขอบเขต ของ ความครอบคลุมการทดสอบของเรา

กระบวนการส่ง CTS

  1. เขียนข้อเสนอการทดสอบ: นักพัฒนาแอปส่งข้อเสนอการทดสอบโดยใช้ Google Issue Tracker, ซึ่งอธิบายปัญหาที่พบและเสนอการทดสอบเพื่อตรวจสอบ ปัญหาดังกล่าว ข้อเสนอต้องมีรหัสข้อกำหนด CDD ที่เกี่ยวข้อง ทีม Android จะตรวจสอบข้อเสนอ
  2. พัฒนาการทดสอบ CTS: หลังจากที่ข้อเสนอได้รับการอนุมัติ ผู้ส่งจะสร้างการทดสอบ CTS ใน AOSP ในสาขา Android เวอร์ชันล่าสุด (android17-release) ทีม Android จะตรวจสอบโค้ดและหากยอมรับ จะเลือกการเปลี่ยนแปลงและผสานรวมเข้ากับสาขาการพัฒนาภายใน ดูรายละเอียดได้ที่ ฉันควรเสนอการเปลี่ยนแปลงใน AOSP ที่ใด

หลักเกณฑ์การเขียนการทดสอบ CTS-D

  • ปฏิบัติตามคู่มือรูปแบบโค้ด Java
  • ทำตามขั้นตอนทั้งหมดที่อธิบายไว้ใน การพัฒนา CTS
  • เพิ่มการทดสอบลงในแผนการทดสอบที่เหมาะสม ดังนี้
    • ใช้ include-filters เพื่อเพิ่มการทดสอบใหม่ลงในแผนการทดสอบ CTS-D: platform/cts/tools/cts-tradefed/res/config/cts-developer.xml
    • ใช้ exclude-filters เพื่อยกเว้นการทดสอบใหม่จากแผนการทดสอบ CTS หลัก: platform/cts/tools/cts-tradefed/res/config/cts-developer-exclude.xml
  • จัดการคำเตือนและคำแนะนำ errorprone ทั้งหมดใน build_error.log
  • เปลี่ยนฐานการเปลี่ยนแปลงเป็น head ซึ่งรวมถึงแผนการทดสอบ cts-developer.xml และ cts-developer-exclude.xml
  • ทำงานร่วมกับผู้ติดต่อด้านวิศวกรรมของ Google เพื่อพิจารณาว่ากรณีทดสอบของคุณรวมอยู่ในโมดูล CTS ที่มีอยู่ได้หรือไม่ หากรวมไม่ได้ ผู้ติดต่อจะช่วยคุณสร้างโมดูลใหม่
  • สร้างไฟล์ OWNERS ในไดเรกทอรีโมดูลการทดสอบใหม่สำหรับโมดูลการทดสอบใหม่แต่ละโมดูล
    • ไฟล์ OWNERS ควรมีข้อมูลต่อไปนี้ ซึ่งได้จากเจ้าของฝ่ายทดสอบของ Google ที่คุณทำงานด้วย
    • # Bug component: xxx
    • LDAP ของเจ้าของฝ่ายทดสอบของ Google
  • ระบุพารามิเตอร์ต่อไปนี้ใน AndroidTest.xml
      ดูตัวอย่างได้ในไฟล์ตัวอย่าง (1, 2)
    • Instant_app หรือ not_instant_app
    • secondary_user หรือ not_secondary_user
    • all_foldable_states หรือ no_foldable_states
  • หากต้องการระบุ minSDK ที่ถูกต้อง โปรดดูเอกสารประกอบ <uses-sdk>
  • เมื่อเช็กอินเมธอด คลาส หรือโมดูลการทดสอบใหม่ ให้เพิ่มรายการเหล่านั้นลงในแผนการทดสอบ CTS-D และยกเว้นรายการเหล่านั้นจากแผนการทดสอบ CTS หลักด้วยวิธีเดียวกับการทดสอบใหม่

เรียกใช้การทดสอบ CTS-D

เรียกใช้แผนการทดสอบ CTS-D จากบรรทัดคำสั่ง โดยใช้ run cts --plan cts-developer

หากต้องการเรียกใช้กรณีทดสอบที่เฉพาะเจาะจง ให้ใช้ run cts --include-filter "test_module_name test_name"

ดูข้อมูลเกี่ยวกับการเรียกใช้ CTS แบบเต็มได้ที่ เรียกใช้การทดสอบ CTS

การยอมรับและการเผยแพร่

เมื่อส่งคำขอการทดสอบแล้ว ทีมภายในจะตรวจสอบคำขอดังกล่าวเพื่อให้แน่ใจว่าคำขอทดสอบข้อกำหนด CDD หรือลักษณะการทำงานของ API ที่มีการบันทึกไว้ หากทีมพิจารณาว่าการทดสอบกำลังตรวจสอบข้อกำหนดหรือลักษณะการทำงานที่ถูกต้อง ทีมจะส่งต่อกรณีทดสอบนี้ไปยังวิศวกรของ Google เพื่อตรวจสอบเพิ่มเติม วิศวกรของ Google จะติดต่อคุณพร้อมความคิดเห็นเกี่ยวกับวิธีปรับปรุงการทดสอบก่อนที่จะยอมรับการทดสอบใน CTS

ดูรายละเอียดเกี่ยวกับกำหนดการเผยแพร่ CTS ได้ที่ กำหนดการเผยแพร่และข้อมูลสาขา