Compatibility Test Suite (CTS) היא חבילת בדיקה וכלים בחינם ברמה מסחרית, שנועדו לוודא שהמכשירים שלכם תואמים ל-Android. מטרת ה-CTS היא להשתלב בתהליך העבודה היומיומי שלכם, למשל באמצעות מערכת בנייה רציפה. חבילת ה-CTS פועלת במחשב שולחני ומבצעת בדיקות ישירות במכשירים שמחוברים אליו או באמולטור. סקירה כללית בנושא תאימות ל-Android זמינה במאמר סקירה כללית של תוכנית התאימות של Android.
 
איור 1. בדיקות אוטומטיות של CTS.
איור 1 מציג את תהליך ההרצה של בדיקות אוטומטיות ב-CTS:
- מורידים ומתקינים את CTS. בשלב הזה צריך גם להגדיר את סביבת הבדיקה, את תחנת העבודה לבדיקה ואת המכשיר שבודקים או את המכשיר שנבדק (DUT).
- מריצים בדיקות אוטומטיות של CTS.
- מאחסנים את התוצאות ובודקים אותן.
- לפתור את הבעיות ולהריץ מחדש את הבדיקות.
מומלץ להשתמש ב-CTS כדי לגלות בעיות תאימות בשלב מוקדם, וכדי לוודא שההטמעות של Android יישארו תואמות לאורך תהליך הפיתוח.
רכיבי CTS
מערכת ה-CTS כוללת את הרכיבים העיקריים הבאים:
- Trade Federation
- מסגרת בדיקה מאפשרת לבצע בדיקות באופן אוטומטי.
- בדיקות אוטומטיות של CTS
- בדיקות שמשתמשות במסגרת Trade Federation ואפשר להריץ אותן באמצעות Trade Federation test harness.
- בדיקות CTS Verifier (CTS-V)
- בדיקות שצריך להריץ באופן ידני.
- אפליקציית CTS Verifier (CTS-V)
- אפליקציה שמשמשת להרצת בדיקות CTS-V ולאיסוף תוצאות הבדיקות.
- מקרה בדיקה
- בדיקה ספציפית שמופעלת ב-DUT. תרחישי בדיקה אוטומטיים נכתבים ב-Java כבדיקות JUnit ונארזים בקובצי APK של Android להפעלה במכשיר היעד. - תרחישי הבדיקה יכולים להיות בדיקות יחידה או בדיקות פונקציונליות. בדיקת יחידה בודקת יחידות אטומיות של קוד בפלטפורמת Android. לדוגמה, בדיקת יחידה עשויה לבדוק מחלקה אחת של Android. - בבדיקה פונקציונלית מופעל שילוב של שיטות וסיווגים שמשמשים לתרחיש שימוש ספציפי. 
- הגדרת בדיקה
- קבוצה ספציפית של בדיקות אוטומטיות שמופעלות ב-DUT. הגדרות הבדיקה הן קובצי XML שנמצאים בתיקייה - WORKING_DIRECTORY/cts/tools/cts-tradefed/res/config. יש הגדרות בדיקה שמכילות את כל תרחישי הבדיקה האוטומטיים, והגדרות בדיקה שמכילות קבוצת משנה של תרחישי בדיקה.
- Test module
- הגדרת בדיקה שמורכבת מאוסף של מקרי בדיקה לאותו תחום תכונות. 
- תוכנית בדיקה
- הגדרת בדיקה שמורכבת מאוסף של מודולי בדיקה. 
כיסוי בדיקות
כדי לוודא תאימות, תרחישי הבדיקה כוללים את התחומים הבאים:
| אזור | תיאור | 
|---|---|
| בדיקות חתימה | בכל גרסת Android יש קובצי XML שמתארים את החתימות של כל ממשקי ה-API הציבוריים שנכללים בגרסה. חבילת ה-CTS כוללת כלי לבדיקת חתימות ה-API האלה מול ממשקי ה-API שזמינים במכשיר. התוצאות של בדיקת החתימה מתועדות בקובץ ה-XML של תוצאות הבדיקה. | 
| בדיקות של Platform API | כדאי לבדוק את ממשקי ה-API של הפלטפורמה (ספריות הליבה ומסגרת האפליקציה של Android) כמו שמתואר באינדקס המחלקות של ה-SDK, כדי לוודא שממשקי ה-API תקינים, כולל חתימות נכונות של מחלקות, מאפיינים ושיטות, התנהגות נכונה של שיטות ובדיקות שליליות כדי לוודא שההתנהגות צפויה כשמטפלים בפרמטרים לא תקינים. | 
| בדיקות Dalvik | הבדיקות מתמקדות בבדיקת פורמט קובץ ההפעלה של Dalvik. | 
| מודל נתונים של פלטפורמה | בדיקות ה-CTS בודקות את מודל הנתונים של פלטפורמת הליבה כפי שהוא מוצג למפתחי אפליקציות דרך ספקי תוכן, כפי שמתואר בחבילת ה-SDK android.provider(כולל אנשי קשר, דפדפנים והגדרות) | 
| התעניינות בפלטפורמה | בדיקות ה-CTS בודקות את הכוונות של פלטפורמת הליבה, כפי שמתואר ב-SDK Common intents. | 
| הרשאות לפלטפורמה | בדיקות ה-CTS בודקות את ההרשאות של פלטפורמת הליבה, כפי שמתואר ב-SDK Manifest.permission. | 
| משאבים לפלטפורמות | בדיקות ה-CTS בודקות את הטיפול הנכון בסוגי המשאבים של פלטפורמת הליבה, כפי שמתואר ב סקירה הכללית של סוגי המשאבים ב-SDK. בבדיקות CTS נכללות בדיקות של ערכים פשוטים, רכיבים גרפיים, תיקוני באגים, אנימציות, פריסות, סגנונות וערכות נושא, וטעינה של משאבים חלופיים. | 
השלבים הבאים
אחרי קריאת המסמך הזה, אפשר להמשיך אל הגדרת CTS.