ชุดทดสอบความเข้ากันได้

ชุดทดสอบความเข้ากันได้ (CTS) เป็นชุดทดสอบเชิงพาณิชย์ฟรีที่ผู้ผลิตอุปกรณ์ใช้เพื่อช่วยให้แน่ใจว่าอุปกรณ์ของพวกเขาเข้ากันได้ และเพื่อรายงานผลการทดสอบเพื่อตรวจสอบความถูกต้อง CTS มีวัตถุประสงค์เพื่อบูรณาการเข้ากับขั้นตอนการทำงานประจำวัน (เช่น ผ่านระบบการสร้างอย่างต่อเนื่อง) ของวิศวกรที่สร้างอุปกรณ์ ความตั้งใจของ CTS คือการเปิดเผยความไม่เข้ากันตั้งแต่เนิ่นๆ และตรวจสอบให้แน่ใจว่าซอฟต์แวร์ยังคงเข้ากันได้ตลอดกระบวนการพัฒนา

CTS พร้อมให้ ดาวน์โหลด เป็นไบนารี่หรือเป็นซอร์สใน Android Open Source Project (AOSP) CTS ทำงานบนเครื่องเดสก์ท็อปและดำเนินการกรณีทดสอบโดยตรงบนอุปกรณ์ที่เชื่อมต่อหรือโปรแกรมจำลอง

CTS มีส่วนประกอบซอฟต์แวร์หลักสองส่วน:

  • ชุดทดสอบ ของ Trade Federation ทำงานบนเครื่องเดสก์ท็อปของคุณและจัดการการดำเนินการทดสอบ Trade Federation เสนอความสามารถใน การแบ่งส่วนการทดสอบ ระหว่างอุปกรณ์หลายตัวที่อยู่ระหว่างการทดสอบ (DUT) คุณยังสามารถใช้คุณลักษณะ การลองซ้ำของชุดโปรแกรม เพื่อลองความล้มเหลวอีกครั้งเท่านั้น แทนที่จะลองชุดเต็ม ซึ่งช่วยลดเวลาการรันซ้ำได้อย่างมาก
  • กรณีทดสอบแต่ละรายการจะดำเนินการบน DUT กรณีทดสอบเขียนด้วยภาษา Java ในรูปแบบการทดสอบ JUnit และไฟล์ Android .apk ที่จัดทำแพ็กเกจไว้เพื่อทำงานบนอุปกรณ์เป้าหมายจริง

ตัวตรวจสอบชุดทดสอบความเข้ากันได้ (CTS Verifier)

ตัวตรวจสอบชุดทดสอบความเข้ากันได้ (CTS Verifier) ​​เป็นส่วนเสริมของ CTS ที่มีให้ ดาวน์โหลด CTS Verifier มีการทดสอบ API และฟังก์ชันที่ไม่สามารถทดสอบบนอุปกรณ์ที่อยู่กับที่โดยไม่มีอินพุตแบบแมนนวล (เช่น คุณภาพเสียงและมาตรความเร่ง) หรือการวางตำแหน่งแบบแมนนวล

CTS Verifier เป็นเครื่องมือสำหรับการทดสอบด้วยตนเองและมีส่วนประกอบซอฟต์แวร์ดังต่อไปนี้:

  • แอป CTS Verifier ที่ดำเนินการบน DUT (และบนอุปกรณ์เครื่องที่ 2 สำหรับข้อกำหนดการวัดระยะทาง) และรวบรวมผลลัพธ์

  • ไฟล์ปฏิบัติการหรือสคริปต์ที่ดำเนินการบนเครื่องเดสก์ท็อปเพื่อให้ข้อมูลหรือการควบคุมเพิ่มเติมสำหรับกรณีทดสอบบางกรณีในแอป CTS Verifier

ขั้นตอนการทำงาน

ซีทีเอสโฟลว์

รูปที่ 1. วิธีใช้ CTS

แผนภาพนี้สรุปขั้นตอนการทำงานของ CTS โปรดดูหน้าย่อยของส่วนนี้โดยเริ่มจาก การตั้งค่า สำหรับคำแนะนำโดยละเอียด

ประเภทของกรณีทดสอบ

CTS มีกรณีทดสอบประเภทต่อไปนี้:

  • การทดสอบหน่วย ทดสอบหน่วยอะตอมของโค้ดภายในแพลตฟอร์ม Android เช่นคลาสเดียว เช่น java.util.HashMap
  • การทดสอบการทำงาน จะทดสอบการรวม API เข้าด้วยกันในกรณีการใช้งานระดับสูงกว่า

ความครอบคลุมการทดสอบหน่วย

กรณีทดสอบหน่วยครอบคลุมพื้นที่ต่อไปนี้เพื่อให้มั่นใจถึงความเข้ากันได้:

พื้นที่ คำอธิบาย
การทดสอบลายเซ็น สำหรับ Android แต่ละรุ่น จะมีไฟล์ XML ที่อธิบายลายเซ็นของ API สาธารณะทั้งหมดที่มีอยู่ในรุ่น CTS มียูทิลิตี้สำหรับตรวจสอบลายเซ็น API เหล่านั้นกับ API ที่มีอยู่ในอุปกรณ์ ผลลัพธ์จากการตรวจสอบลายเซ็นจะถูกบันทึกไว้ในไฟล์ XML ผลการทดสอบ
การทดสอบแพลตฟอร์ม API ทดสอบ API ของแพลตฟอร์ม (ไลบรารีหลักและ Android Application Framework) ตามที่บันทึกไว้ใน ดัชนีคลาส SDK เพื่อรับรองความถูกต้องของ API รวมถึงลายเซ็นคลาส คุณลักษณะและเมธอดที่ถูกต้อง ลักษณะการทำงานของเมธอดที่ถูกต้อง และการทดสอบเชิงลบเพื่อให้แน่ใจว่าพฤติกรรมที่คาดหวังสำหรับการจัดการพารามิเตอร์ที่ไม่ถูกต้อง
การทดสอบดาลวิค การทดสอบมุ่งเน้นไปที่การทดสอบรูปแบบปฏิบัติการ Dalvik
โมเดลข้อมูลแพลตฟอร์ม CTS ทดสอบโมเดลข้อมูลแพลตฟอร์มหลักตามที่นักพัฒนาแอปพลิเคชันเปิดเผยผ่านผู้ให้บริการเนื้อหา ดังที่บันทึกไว้ในแพ็คเกจ SDK android.provider : รายชื่อติดต่อ เบราว์เซอร์ การตั้งค่า ฯลฯ
ความตั้งใจของแพลตฟอร์ม CTS ทดสอบความตั้งใจของแพลตฟอร์มหลัก ดังที่บันทึกไว้ใน SDK Available Intents
สิทธิ์ของแพลตฟอร์ม CTS ทดสอบสิทธิ์ของแพลตฟอร์มหลัก ตามที่ระบุไว้ใน SDK Available Permissions
ทรัพยากรแพลตฟอร์ม การทดสอบ CTS สำหรับการจัดการประเภททรัพยากรแพลตฟอร์มหลักอย่างถูกต้อง ดังที่บันทึกไว้ใน ประเภททรัพยากรที่มีอยู่ของ SDK ซึ่งรวมถึงการทดสอบสำหรับ: ค่าอย่างง่าย, สิ่งที่วาดได้, เก้าแพตช์, แอนิเมชั่น, เลย์เอาต์, สไตล์และธีม และการโหลดทรัพยากรอื่น