หน้านี้อธิบายหลักเกณฑ์การใช้งานสำหรับ CTS ที่ขับเคลื่อนโดยนักพัฒนาแอป (CTS-D)
ความครอบคลุมของการทดสอบ
CTS-D เช่นเดียวกับ CTS และโปรแกรมตรวจสอบ CTS บังคับใช้ได้เฉพาะรายการต่อไปนี้
- API สาธารณะทั้งหมดที่อธิบายไว้ใน SDK สำหรับนักพัฒนาแอป (developer.android.com) สำหรับระดับ API ที่เฉพาะเจาะจง
- ข้อกำหนด MUST ทั้งหมดที่รวมอยู่ในเอกสารคำจำกัดความความเข้ากันได้ของ Android (CDD) สำหรับ API ระดับหนึ่งๆ
ข้อกำหนดที่ไม่ใช่ข้อกำหนดที่ต้องมี เช่น ขอแนะนำอย่างยิ่ง ควร อาจ เป็นข้อกำหนดที่ไม่บังคับ และไม่สามารถทดสอบโดยใช้ CTS ได้
เนื่องจากข้อกำหนดทั้งหมดของ API และ CDD เชื่อมโยงกับระดับ API ที่เฉพาะเจาะจง การทดสอบ CTS ทั้งหมด (CTS, CTS-D และ CTS Verifier) จึงเชื่อมโยงกับระดับ API เดียวกันกับ API หรือข้อกำหนดที่เกี่ยวข้อง หากมีการเลิกใช้งานหรือเปลี่ยนแปลง API ใด API หนึ่ง การทดสอบที่เกี่ยวข้องจะต้องเลิกใช้งานหรืออัปเดต
กฎการสร้างการทดสอบ CTS
- การทดสอบต้องให้ผลลัพธ์ที่เป็นวัตถุประสงค์เดียวกันอย่างสม่ำเสมอ
- การทดสอบต้องระบุว่าอุปกรณ์ผ่านหรือไม่ผ่านโดยการทดสอบอุปกรณ์นั้น 1 ครั้งเมื่อแกะกล่อง
- ผู้สร้างแบบทดสอบต้องนำปัจจัยทั้งหมดที่อาจส่งผลต่อผลการทดสอบออก
- หากอุปกรณ์ต้องมีสภาพแวดล้อม/การตั้งค่า/ฮาร์ดแวร์ที่เฉพาะเจาะจง การตั้งค่าดังกล่าว ต้องกำหนดไว้อย่างชัดเจนในข้อความคอมมิต ดูวิธีการตั้งค่าตัวอย่างได้ที่การตั้งค่า CTS
- การทดสอบต้องไม่ทำงานนานเกิน 6 ชั่วโมงต่อครั้ง หากต้องการเรียกใช้เป็นระยะเวลานานกว่านี้ โปรดระบุเหตุผลในข้อเสนอการทดสอบเพื่อให้เราตรวจสอบได้
ต่อไปนี้คือตัวอย่างชุดเงื่อนไขการทดสอบสำหรับการทดสอบข้อจำกัดของแอป
- Wi-Fi เสถียร (สำหรับการทดสอบที่ต้องใช้ Wi-Fi)
- อุปกรณ์จะอยู่นิ่งๆ ระหว่างการทดสอบ (หรือไม่ก็ได้ ขึ้นอยู่กับการทดสอบ)
- อุปกรณ์ถูกถอดปลั๊กออกจากแหล่งจ่ายไฟโดยมีระดับแบตเตอรี่ X เปอร์เซ็นต์
- ไม่มีแอป บริการที่ทำงานอยู่เบื้องหน้า หรือบริการที่ทำงานอยู่เบื้องหลังกำลังทำงานอยู่ ยกเว้น CTS
- หน้าจอจะปิดอยู่ขณะเรียกใช้ CTS
- อุปกรณ์ไม่ได้
isLowRamDevice
- ไม่ได้มีการเปลี่ยนแปลงโหมดประหยัดแบตเตอรี่ / การจำกัดแอปจากสถานะ "พร้อมใช้งาน"
การมีสิทธิ์เข้ารับการทดสอบ
เรารับการทดสอบใหม่ที่บังคับใช้ลักษณะการทำงานที่ไม่ได้ทดสอบโดย CTS, CTS Verifier หรือการทดสอบ CTS-D ที่มีอยู่ การทดสอบที่ตรวจสอบลักษณะการทำงานนอกขอบเขตความครอบคลุมของการทดสอบจะถูกปฏิเสธ
กระบวนการส่ง CTS
- เขียนข้อเสนอการทดสอบ: นักพัฒนาแอปส่งข้อเสนอการทดสอบโดยใช้ Google Issue Tracker เพื่ออธิบายปัญหาที่พบและเสนอการทดสอบเพื่อตรวจสอบ ปัญหาดังกล่าว ข้อเสนอต้องมีรหัสข้อกำหนด CDD ที่เกี่ยวข้อง ทีม Android จะตรวจสอบข้อเสนอ
- พัฒนาการทดสอบ CTS: หลังจากอนุมัติข้อเสนอแล้ว ผู้ส่งจะสร้าง
การทดสอบ CTS ใน AOSP บนสาขาของรุ่นล่าสุดของ Android
(
android16-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 ได้ที่กำหนดการเผยแพร่และข้อมูลสาขา