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

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

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

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

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

ข้อกำหนดที่ไม่ใช่ 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 Test ที่คุณทำงานด้วย
    • # 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 ได้ที่กำหนดการเผยแพร่และข้อมูลสาขา