שאלות נפוצות על CTS

תוכנית התאימות לאנדרואיד היא המניע העיקרי לשמירה על המשוב החיובי עבור המערכת האקולוגית של אנדרואיד. CTS הוא הכלי המרכזי להבטחת איכות התאימות בסולם. צוות אנדרואיד ממשיך לשפר את כלי ה-CTS ואת כיסוי הבדיקות. התוספת הרגילה של מקרי בדיקה מביאה לשיפור משמעותי באיכות המכשירים התואמים.

שאלות כלליות

סעיף זה מספק שאלות נפוצות כלליות על CTS.

אילו סוגי דברים בודקים ה-CTS?

ה-CTS בודק שכל ממשקי ה-API עם הקלדה חזקה של אנדרואיד קיימים ומתנהגים כהלכה. ה-CTS בודק גם התנהגויות אחרות שאינן מבוססות API, כגון מחזור החיים והביצועים של האפליקציה.

כיצד מורשה ה-CTS?

ה-CTS מורשה תחת אותו Apache Software License 2.0 שרוב האנדרואיד משתמש בו.

האם קודקים מאומתים על ידי CTS?

כן. כל ה-Codecs החובה מאומתים על ידי CTS.

שאלות ספציפיות למבחן

סעיף זה מספק שאלות נפוצות שעוזרות להפעיל בדיקות CTS בצורה יעילה יותר.

מה ההבדל בין CTS Sharding ל-TF Sharding?

CTS Sharding ו-TF Sharding הן תוכניות בדיקה שונות לחלוטין המופעלות על ידי בסיס קוד שונה של תשתית בדיקה. בעוד שפקודת ההפעלה זהה בגרסאות שונות, תוצאת הריסוק מתנהגת אחרת. CTS Sharding מקצה מקרי בדיקה באופן סטטי למכשירים בבדיקה (DUTs) באופן הבא:

TF Sharding מקצה באופן דינמי מקרי בדיקה ל-DUTs זמינים באופן הבא:

מה צפוי ממכשיר התומך במספר ABIs?

המכשיר צריך לעבור את כל מבחני CTS ו-CTS Verifier עבור כל מצב ABI שהוא מתיימר לתמוך בו. לכן, יש צורך להפעיל אפליקציה עבור ABIs המסוימים. ההנחיות עבור ABI מרובים הן כדלקמן:

  • עבור CTS ו-CTS Verifier, יש מהדורות ARM ו-x86 עבור כל ארכיטקטורה. כל אחד מהם יכול לתמוך במצב 32 או 64 סיביות.
  • עבור מבחני CTS, אם מכשיר תומך הן ב-ARM והן ב-x86, עליו להפעיל ולעבור את בדיקות ARM ו-x86 CTS בהתאמה.

ראה CDD 3.3.1. ממשקים בינאריים של יישומים לדרישות CDD ב-ABI.

האם זה מספיק להריץ בדיקה רק על ה-ABI הראשי (לדוגמה, 64 סיביות) כדי להפחית את זמן ביצוע הבדיקה?

לא. אפליקציית אנדרואיד פועלת בזמני ריצה משלה של 32 סיביות או 64 סיביות. קוד המכונה, נתיב הקוד והמצב בפועל שונים בין 32 ל-64. אם תדלג על מצב אחד, אתה מכסה רק 50% מה-ABI של המכשיר.

מדוע יש כל כך הרבה מקרי בדיקה המדווחים כלא בוצעו?

עליך לבדוק את מספר מודול בוצע במקום מספר לא בוצע .

בגרסאות הקודמות, מודולי CTS דווחו כמודול נעשה בצורה אגרסיבית מדי לפני שהושלמו. לכן, מספר מודולים בוצע דווח מבלי שכל מקרה הבדיקה הושלם גם כאשר לחלק מהמכשירים היו בעיות. רתמת הבדיקה החדשה שמרנית יותר ומדווחת על מספר גבוה יותר של בדיקות לא בוצעו כאשר מתרחשת בעיה.

מודול המופעל עד לסיומו מדווח על מודול לא בוצע בהזמנה האחרונה (done="false") בדוח במהלך הפעולות הבאות:

  • הפעלת בדיקה עבור המודול נקטעה בגלל בעיית חיבור המכשיר.
  • לא כל ריצות הבדיקה הצפויות עבור המודול בוצעו.
  • ניסוי חוזר (באמצעות אפשרות -r/--retry ) עם אפשרויות סינון נוספות, כגון:

    • --include-filter
    • --exclude-filter
    • -t/--test (אפשרות עדיין לא נתמכת בניסיון חוזר)
    • --הסוג מחדש נכשל
    • -- תוכנית משנה

כדי לקבל סטטוס של Module Done (done="true") עבור מודולים אלה, נסה שוב את הפעולות הבאות עבור ההזמנה האחרונה:

run retry --retry <session_id> for Android 9 and later versions
run cts --retry <session_id> for Android 8.1 and previous versions

מודול שבוצע ללא אף אחת מהבעיות שהוזכרו קודם לכן (אפילו עם 0 בדיקות שנותרו) מסומן Module Done בדוח החדש.

חריגים

  • ל-CtsNNAPITestCases יש בעיה ידועה עקב הגבלת Linux/OS של args. ניתן להפעיל את המודול מחדש בבידוד באמצעות run cts -m CtsNNAPITestCases ישירות.

כיצד אוכל למנוע כישלון הכנה לבדיקה מאחורי חומת האש של החברה?

כל חבילות הבדיקה האוטומטיות מנסות להוריד את קבצי המדיה של CTS או את קבצי ההיגיון העסקי במהלך זמן הריצה. בסביבות ארגוניות רבות, חומת אש ופרוקסי אופיינית, מה שגורם להכנת הבדיקה להיכשל. בצע את השורה הבאה או הוסף אותה ל-.profile (באובונטו).

export JAVA_TOOL_OPTIONS='-Djava.net.useSystemProxies=true'

האם אני צריך כרטיס SIM עבור CTS עבור Secure Element?

האם יש צורך בכרטיס SIM לבדיקה תלוי בהבנה אם התכונה נתמכת במכשיר הבדיקה.

  • אם המכשיר שלך אינו צריך לתמוך באפליקציות אנדרואיד הניגשות לרכיבים מאובטחים - או ב- UICC (למשל, כרטיס SIM) המופץ על ידי מפעילי הרשת הסלולרית (ספקים) או מוטמעים במכשיר - אתה יכול להגדיר את המניפסט HIDL כך שלא יכלול רכיב HAL android.hardware.secure_element . במקרה זה, ה-API של android.se.omapi.SEService.getReaders() מדווח על רשימה ריקה ומבחן ה-CTS עובר באופן אוטומטי ומדווח על מעבר עבור ה-CTS.
  • אם המכשיר שלך אכן צריך לתמוך באפליקציות אנדרואיד הניגשות לרכיבים מאובטחים - או ב- UICC (למשל, כרטיס SIM) המופץ על ידי מפעילי הרשת הסלולרית (ספקים) או מוטמעים במכשיר - עליך ליישם רכיב מאובטח כראוי ולבדוק אותו בתוך הבית. מבחן CTS for Secure Element מתאר כיצד להתכונן להפעלת בדיקות CTS המבטיחות שחבילת ה-API של android.se.omapi שנוספה באנדרואיד 9 היא פונקציונלית. כמו כן, אנו ממליצים לבצע בדיקות נוספות בעצמך מכיוון שכיסוי בדיקת CTS הוא מינימלי.

היכן אוכל להשיג את כרטיסי ה-SIM עבור CTS for Secure Element?

אתה יכול לפנות לספק ה-SIM המועדף עליך.

מדוע אורנג' SIM נמצא במסך הנעילה במהלך ביצוע CTS עם ריסוק אסימון?

מקרה הבדיקה לא מתחיל כי בדיקת כרטיס ה-SIM נעול. השבת את נעילת כרטיס ה-SIM בהגדרות נעילת כרטיס ה-SIM לפני ביצוע ה-CTS עם ריסוק אסימון.