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

หน้านี้จะระบุหลักเกณฑ์การใช้งาน 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

  1. เขียนข้อเสนอการทดสอบ: นักพัฒนาแอปส่งข้อเสนอการทดสอบโดยใช้เครื่องมือติดตามปัญหาของ Google โดยอธิบายปัญหาที่พบและเสนอการทดสอบเพื่อตรวจสอบปัญหาดังกล่าว ข้อเสนอต้องมีรหัสข้อกำหนด CDD ที่เกี่ยวข้อง ทีม Android จะตรวจสอบข้อเสนอ
  2. พัฒนาการทดสอบ CTS: หลังจากข้อเสนอได้รับอนุมัติแล้ว ผู้ส่งจะสร้างการทดสอบ CTS ใน AOSP ใน Branch หลัก (AOSP/หลัก) ทีม Android จะตรวจสอบโค้ด
  3. เผยแพร่การทดสอบ: ส่ง CL ใน AOSP/main แล้วเลือก CL ที่ต้องการไปยังสาขา 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

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

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

การยอมรับและการปล่อย

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

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