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