ชุดทดสอบความเข้ากันได้ (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
ขั้นตอนการทำงาน
แผนภาพนี้สรุปขั้นตอนการทำงานของ 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 ซึ่งรวมถึงการทดสอบสำหรับ: ค่าอย่างง่าย, สิ่งที่วาดได้, เก้าแพตช์, แอนิเมชั่น, เลย์เอาต์, สไตล์และธีม และการโหลดทรัพยากรอื่น |