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 ชั่วโมงต่อครั้ง หากจำเป็นต้องดำเนินการนานกว่านี้ โปรดระบุเหตุผลในข้อเสนอการทดสอบของคุณเพื่อให้เราตรวจสอบได้

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

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

คุณสมบัติการทดสอบ

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

ขั้นตอนการส่ง CTS

  1. เขียนข้อเสนอทดสอบ: นักพัฒนาแอปส่งข้อเสนอทดสอบโดยใช้ Google Issue Tracker โดยอธิบายปัญหาที่ได้รับการระบุและเสนอการทดสอบเพื่อตรวจสอบ ข้อเสนอจะต้องมี รหัสข้อกำหนด CDD ที่เกี่ยวข้อง ทีมงาน Android ตรวจสอบข้อเสนอ
  2. พัฒนาการทดสอบ CTS: หลังจากข้อเสนอได้รับการอนุมัติ ผู้ส่งจะสร้างการทดสอบ CTS บน AOSP บนสาขาหลัก (AOSP/main) ทีมงาน Android ตรวจสอบโค้ด
  3. เผยแพร่การทดสอบ: ส่ง CL ของคุณบน AOSP/main จากนั้นเลือกเชอร์รี่ไปที่สาขา androidx-tests-dev ล่าสุด ขณะนี้การทดสอบนี้เผยแพร่สู่สาธารณะแล้ว

แนวทางการเขียนทดสอบ CTS-D

  • ปฏิบัติตาม คำแนะนำสไตล์โค้ด Java
  • ทำตามขั้นตอนทั้งหมดที่อธิบายไว้ใน CTS Development
  • เพิ่มการทดสอบของคุณลงในแผนการทดสอบที่เหมาะสม:
    • ใช้ 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