חבילת הבדיקות של תמונות במצלמת Android (ITS) היא חלק מתוכנית האימות של חבילת הבדיקות של Android (CTS) וכוללת בדיקות שמאמתות את תוכן התמונה. CTS Verifier תומך באוטומציה של בדיקות ITS באמצעות Camera ITS-in-a-box. התמיכה בבדיקות ידניות כוללת את כל גורמי הצורה של מכשירי Android.
היתרונות של ITS-in-a-box כוללים:
- אוטומציה. לא נדרשת התערבות אנושית במהלך הבדיקה.
- פתרון בעיות בקלות. עקביות בסביבת הבדיקה מובילה לפחות שגיאות בהגדרה ומגדילה את יכולת השחזור.
- יעילות. האפשרות לנסות שוב עבור מצלמה או סצנה ספציפיות משפרת את היעילות של ביצוע הבדיקה.
בחירת Rig
מערכת ITS-in-a-box מורכבת מקופסת פלסטיק שנחתכת בלייזר משרטוטים של תכנון בעזרת מחשב (CAD), מלוח תרשימים וממכשיר שנבדק (DUT). בטבלה הבאה מפורטים המפרטים והתכונות של המערכות השונות של ITS-in-a-box שזמינות. כדי לבחור את המערכת המתאימה, צריך לקחת בחשבון את שדה הראייה הספציפי ואת מרחק המיקוד המינימלי של ה-DUT. למערכות מצלמה עם שדה ראייה של 60 עד 110 מעלות ומרחק מיקוד מינימלי של 22 עד 31 ס"מ, מומלץ להשתמש במתקן מודולרי בגלל יכולת ההתאמה שלו. אם מערכת המצלמה כוללת עדשת טלפוטו עם מרחק פוקוס מינימלי בין 31 ס"מ ל-110 ס"מ, מומלץ להשתמש במתקן מודולרי עם בסיס ועם מאריך טלפוטו שתואם למרחק הפוקוס של העדשה. מאריכי טלה זמינים באורכים של 50 ס"מ עד 90 ס"מ.
Rig | מרחק התרשים | טווח שדה הראייה של המצלמה במכשיר הנבדק (משוער) | תכונות |
---|---|---|---|
Modular base rig | 22 ס"מ | 60° - 120° |
|
מערכת מודולרית של בסיס וזרוע טלסקופית | 22 ס"מ עד 110 ס"מ* | 10° – 120° | ![]() |
WFoV ITS-in-a-box | 22 ס"מ | 60° - 120° |
|
RFoV ITS-in-a-box | 31 ס"מ | 60° - 90° |
|
Gen2 ITS-in-a-box | 31 ס"מ | 60° - 90° |
|
מרחק התרשים | אחוז שינוי הגודל של הסצנה | תמונה |
---|---|---|
31 ס"מ | 33% |
![]() |
50 ס"מ | 50% |
![]() |
80 ס"מ | 100% |
![]() |
כדי להתחיל להשתמש ב-Camera ITS-in-a-box:
- רוכשים או בונים מערכת ITS-in-a-box מודולרית, WFoV או RFoV וחיישן Fusion.
- הגדרת טאבלט באמצעות תוכנת Camera ITS.
- הרצת בדיקות
- קבלת תוצאות מה-DUT.
הגדרת הטאבלט
בקטע הזה מוסבר איך מגדירים טאבלט לשימוש ב
בדיקות ITS של המצלמה שנמצאות בספרייה
CameraITS
. ההוראות האלה מתייחסות ל-Pixel C כדוגמה לטאבלט. מידע על הדרישות וההמלצות לטאבלטים זמין במאמר דרישות לטאבלטים.
הערה: סקריפטים של Python ל-Camera ITS מגדירים אוטומטית את האפשרויות הבאות בטאבלט:
הגדרות > תצוגה > מצב שינה > אחרי 30 דקות של חוסר פעילות
בהירות דינמית > מושבת
- טוענים את הטאבלט ומפעילים אותו. אם מוצגת בקשה להגדרת חשבון, מדלגים עליה (לא נדרש חשבון שמשויך לטאבלט כדי להשתמש ב-Camera ITS).
- מעדכנים את הטאבלט ל-Android 7.0 ומעלה. גרסה Android 6.x וגרסאות ישנות יותר לא תומכות ב-Camera ITS.
- מפעילים את מצב הפיתוח.
- חוזרים אל הגדרות ובוחרים באפשרות אפשרויות למפתחים.
הפעלת אפשרויות - הפעלה
- הישאר ער
- ניפוי באגים ב-USB (האפשרות הזו מאפשרת למארח להריץ את הטאבלט במצב ניפוי באגים. כשמחברים את הטאבלט למארח בפעם הראשונה, מופיעה בטאבלט ההודעה האם לאפשר ניפוי באגים ב-USB? אם בטאבלט לא מוצגת ההודעה על ניפוי באגים, מנתקים את הטאבלט ואז מחברים אותו מחדש.)
השבתת אפשרויות - עדכוני מערכת אוטומטיים
- אמת אפליקציות באמצעות USB
- כדי לקבוע את מזהי ה-DUT והתרשים, מריצים את הפקודה
$ adb devices
כדי להציג רשימה של המכשירים הזמינים. כדי לקבוע אתdevice_id
ואתchart_id
, מחברים ומנתקים מכשירים ומתבוננים במכשירים שמתחברים ומתנתקים. - מבצעים שלוש הרצות בדיקה כדי להסתיר רמזים והנחיות למשתמשים שיכולים להסתיר תרשימים במסך הטאבלט.
- מניחים את הטאבלט על שולחן כשהמסך פונה כלפי מעלה (לא מצמידים את הטאבלט ללוח האחורי של הקופסה).
- מריצים את הפקודה הבאה:
בסצנות 2 ו-3 צריך להציג תמונה בטאבלט, ולכן מוצגת בטאבלט ההודעה לתת ל-Drive הרשאת גישה לתמונות, למדיה ולקבצים במכשיר?. כדי לסגור את ההנחיה הזו (ולמנוע הנחיות עתידיות), לוחצים על אישור.python tools/run_all_tests.py device=$device_id camera=0 chart=$chart_id scenes=2,3
- מריצים שוב את הפקודה. בטאבלט מופיעה ההודעה רוצה לשמור עותק של הקובץ הזה? ומוצעת האפשרות לשמור אותו ב-Google Drive. כדי לסגור את ההודעה הזו (ולמנוע הצגה של הודעות כאלה בעתיד), לוחצים על סמל Drive ואז על ביטול כדי לבטל את ההעלאה ל-Drive.
- לבסוף, מריצים את
tools/run_all_tests.py
ומוודאים שהסצנות משתנות אוטומטית כשהתסריט עובר בין סצנות שונות. למרות שרוב הבדיקות נכשלות (כי המצלמה לא מכוונת לתרשים), אפשר לוודא שהטאבלט עובר בין הסצנות בצורה תקינה בלי להציג הנחיות או חלונות קופצים אחרים על המסך.
הרצת בדיקות
לפני שמריצים את ITS-in-a-box, צריך לוודא שהגדרת הבדיקה כוללת את החומרה והתוכנה הבאות:
- One (1) ITS-in-a-box
- טאבלט אחד (1) ברזולוציה גבוהה בגודל 10 אינץ' להצגת סצנות, מספר סידורי: 5811000011
- מכשיר אחד (1) לבדיקה (DUT) שמותקנת בו אפליקציית CTS Verifier בגרסה 7.0_8 ומעלה. דוגמה ל-DUT:
- Pixel NOF26W אחד (1) לבדיקת המצלמה האחורית(0), מספר סידורי: FA6BM0305016. כדי להתקין את אפליקציית CTS Verifier, צריך לבטל את הדחיסה של
android-cts-verifier.zip
ואז להריץadb -s FA6BM0305016 install -r -g android-cts-verifier/CtsVerifier.apk
- Pixel NOF26W אחד (1) לבדיקת המצלמה האחורית(0), מספר סידורי: FA6BM0305016. כדי להתקין את אפליקציית CTS Verifier, צריך לבטל את הדחיסה של
הפעלת סצנות בטאבלט
כדי להפעיל את סצנות 0 עד 4, 6 ואת scene_change במצלמה האחורית:
cd android-cts-verifier/CameraITS
. build/envsetup.sh
python tools/run_all_tests.py camera=0
דוגמה:

ניסיון חוזר של סצנות
אפשר לנסות לצלם שוב סצנות במצלמה אחת:
- כדי לנסות שוב סצנות במצלמה אחת:
python tools/run_all_tests.py device=FA6BM0305016 camera=0 scenes=3,4
הפעלת סצנה 5
סצנה 5 דורשת הגדרה מיוחדת עם תאורה ספציפית (פרטים מופיעים ב-CameraITS.pdf
ב-CTS Verifier, שאפשר להוריד מCompatibility Test Suite Downloads).
צריך להריץ את סצנה 5 בנפרד (מחוץ לתיבה) ועם TEST_BED_MANUAL testbed.

כדי להפעיל את סצנה 5 עבור המצלמה הקדמית והמצלמה האחורית במכשיר יחיד:
python tools/run_all_tests.py device=FA6BM0305016 camera=0 scenes=5
python tools/run_all_tests.py device=FA6BM0305016 camera=1 scenes=5
להצגת התוצאות
אפשר לראות את התוצאות במהלך הבדיקה ולשמור את התוצאות המלאות כדוח.
- מעיינים בתוצאות. כדי לשמור את התוצאות של Camera ITS כדוח:
- לוחצים על אישור ושומרים את הדוח.
איור 3. דוח ITS של מצלמה - שליפת דוחות מהמכשיר:
adb -s FA6BM0305016 pull /sdcard/verifierReports
- מבטלים את דחיסת קובץ הדוח ומציגים את
test_result.xml
.
איור 4. דוחות של Camera ITS
- לוחצים על אישור ושומרים את הדוח.
דרישות לטאבלט
ב-Android 15 ומעלה, טאבלטים שמשמשים להצגת תרשים ITS צריכים להיות ברשימת הטאבלטים הבאה. רשימת הטאבלטים שתומכים בבדיקה של סצנות בתנאי תאורה חלשים מופיעה במאמר טאבלטים נתמכים לצילום סצנות בתנאי תאורה חלשים. ב-Android מגרסה 14 ומטה, אפשר לעיין בדרישות לטאבלטים עם Android מגרסה 14 ומטה.
הטבליות ברשימת ההיתרים נבחרות על סמך הקריטריונים הבאים:
- גודל המסך הוא בערך 10 אינץ' והרזולוציה שלו גבוהה מ-1,920 x 1,200 פיקסלים.
- אסור שיהיה הבהוב שנמדד כתוצאה מהנמכה של בהירות המסך שנשלטת על ידי אפנון רוחב הפולס (PWM).
- יכול לבצע פקודות adb שנשלחות על ידי בדיקות ITS ולהציג תמונות של תרשימים עם בהירות מסך לפי ההוראות.
צריך להגדיר את הערך brightness
במאפיין config.yml
בהתאם לדגם הטאבלט. כדי לדעת אם דגם הטאבלט שלכם תואם לשם מכשיר ברשימת ההיתרים, מריצים את פקודת adb adb shell getprop | grep 'ro.product.device'
כדי להדפיס את הערך ro.product.device
.
מכשיר | גודל התצוגה (באינצ'ים) |
גודל התצוגה (בפיקסלים) |
מידות הטאבלט (אינצ'ים) |
בהירות המסך |
שם המכשיר (ro.product .device) |
גרסת מערכת ההפעלה של הטאבלט |
---|---|---|---|---|---|---|
Google Pixel C |
10.2 | 2560 x 1800 | 9.53 x 7.05 x 0.28 | 96 | דרקון | Android מגרסה 6 ואילך |
Honor Pad 8 |
11 | 2,000 x 1,200 | 10.18 x 6.76 x 0.29 | 192 | HNHEY-Q | 12 Android |
Huawei MediaPad m5 |
10.8 | 2,560 x 1,600 | 10.18 x 6.76 x 0.29 | 192 | HWCMR09 | Android 8 ואילך |
Lenovo Tab M10 Plus |
10.3 | 1,920 x 1,200 | 9.61 x 6.03 x 0.32 | 192 | X606F | Android מגרסה 9 ואילך |
Lenovo Tab P11 |
11 | 2,000 x 1,200 | 10.17 x 6.42 x 0.30 | 192 | J606F | Android 11 ואילך |
Lenovo Tab P11 Gen2 |
11.5 | 2,000 x 1,200 | 10.59 x 6.67 x 0.29 | 192 | TB350FU | Android 13 ואילך |
Nokia T21 |
10.4 | 2,000 x 1,200 | 9.74 x 6.19 x 0.30 | 192 | AGTA | Android 12 ואילך |
Samsung Galaxy Tab A7 |
10.4 | 2,000 x 1,200 | 9.75 x 6.2 x 0.28 | 192 | gta4lwifi | Android 10 ואילך |
Samsung Galaxy Tab A8 |
10.5 | 1,920 x 1,200 | 9.72 x 6.73 x 0.27 | 192 | gta8wifi | Android 11 ואילך |
Samsung Galaxy Tab A9+ |
11 | 1,920 x 1,200 | 10.12 x 6.64 x 0.27 | 192 | gta9pwifi | Android 13 ואילך |
Vivo Pad2 |
12.1 | 2,800 x 1,968 | 10.47 x 7.54 x 0.26 | 192 | DPD2221 | Android 13 ואילך |
Xiaomi Pad 5 |
11 | 2,560 x 1,600 | 10.18 x 6.76 x 0.29 | 192 | nabu | Android 13 ואילך |
Xiaomi Redmi Pad |
10.61 | 2,000 x 1,200 | 9.86 x 6.22 x 0.28 | 192 | yunluo | Android 14 ואילך |
Xiaomi Redmi Pad SE |
11 | 2,560 x 1,600 | 10.06 x 6.58 x 0.29 | 192 | xun | Android 13 ואילך |
טאבלטים נתמכים לצילום סצנות בתנאי תאורה חלשה
בטבלה הבאה מפורטים טאבלטים שתומכים בבדיקה של סצנות בתנאי תאורה חלשים. הטאבלטים האלה יכולים להגיע לרמת הבהירות שנדרשת לצילום סצנות בתנאי תאורה חלשים, וכך לאפשר למכשיר הנבדק לחשוף את התרשים בצורה נכונה.מכשיר | שם המכשיר (ro.product.device) | גרסת מערכת ההפעלה של הטאבלט |
---|---|---|
Huawei MediaPad m5 |
HWCMR09 | Android 8 ואילך |
Samsung Galaxy Tab A8 | gta8wifi | Android 11 ואילך |
Samsung Galaxy Tab A9+ | gta9pwifi | Android 13 ואילך |
Xiaomi Pad 5 | nabu | Android 13 ואילך |
Xiaomi Redmi Pad SE |
xun | Android 13 ואילך |
דרישות לטאבלטים עם Android מגרסה 14 ומטה
גודל המסך של טאבלטים צריך להיות בערך 10 אינץ' ורזולוציית המסך צריכה להיות גבוהה מ-1920 x 1200 פיקסלים. אסור שהטאבלט ישתמש בשיטת אפנון רוחב הפולס (PWM) כדי להגדיר את רמת הבהירות. צריך להגדיר את הערך brightness
ב-config.yml
בהתאם לדגם הטאבלט.
בטבלה הבאה מפורטים הטאבלטים המומלצים לבדיקות ITS, יחד עם הגרסאות של Android שבהן הטאבלטים פועלים.
מכשיר | גודל התצוגה (באינצ'ים) |
גודל התצוגה (בפיקסלים) |
מידות הטאבלט (אינצ'ים) |
בהירות המסך |
הצגת ביטים |
מערכת הפעלה נתמכת של DUT |
מערכת הפעלה נתמכת בטאבלט |
---|---|---|---|---|---|---|---|
Samsung Galaxy Tab A8 |
10.5 | 1,920 x 1,200 | 9.72 x 6.37 x 0.27 | 192 | 8 | Android 13 ואילך | Android 11 ואילך |
Xiaomi Pad 5 |
11 | 2,560 x 1,600 | 10.03 x 6.55 x 0.27 | 1024 | 11 | Android 12 ואילך | Android 11 בלבד |
Lenovo Tab M10 Plus |
10.3 | 1,920 x 1,200 | 9.61 x 6.03 x 0.32 | 192 | 8 | Android 12 ואילך | Android מגרסה 9 ואילך |
Samsung Galaxy Tab A7 |
10.4 | 2,000 x 1,200 | 9.75 x 6.2 x 0.28 | 192 | 8 | Android 12 ואילך | Android 10 ואילך |
Chuwi Hi9 Air 10.1 |
10.1 | 2,560 x 1,600 | 9.52 x 6.77 x 0.31 | 192 | 8 | Android מגרסה 7 ואילך | Android 8 ואילך |
Asus ZenPad 3 |
9.7 | 2,048 x 1,536 | 9.47 x 6.44 x 0.28 | 192 | 8 | Android מגרסה 7 ואילך | Android מגרסה 6 ואילך |
Huawei MediaPad m5 |
10.8 | 2,560 x 1,600 | 10.18 x 6.76 x 0.29 | 192 | 8 | Android מגרסה 7 ואילך | Android 8 ואילך |
Google Pixel C |
10.2 | 2560 x 1800 | 9.53 x 7.05 x 0.28 | 96 | 8 | Android מגרסה 7 ואילך | Android מגרסה 6 ואילך |
Sony Xperia Z4 |
10.1 | 2,560 x 1,600 | 10 x 6.57 x 0.24 | 192 | 8 | Android מגרסה 7 ואילך | Android 5 ואילך |
שאלות נפוצות
שאלה 1: איך קובעים אילו מתקני בדיקה נדרשים למכשיר שלי?
בדיקות
RFoV ITS-in-a-box revision 1 בודקות מצלמות RFoV לבדיקות סצנות בטאבלט בספרייה
CameraITS/tests
. ה-RFoV מוגדר כ-60° < FoV < 90°.
במצלמות עם FoV גדול יותר, יכול להיות שהאורות יופיעו בתמונות או שהתרשימים יכסו אזור קטן מדי ב-FoV, מה שישפיע על תוצאות הבדיקה.
בדיקות WFoV ITS-in-a-box
revision 2 בודקות מצלמות WFoV לבדיקות סצנות בטאבלט בספרייה
CameraITS/tests
. ה-WFOV מוגדר כ-FoV >= 90°.
מערכת הבדיקה בגרסה 2 זהה מבחינה פונקציונלית לגרסה 1, אבל גדולה יותר. מערכת הבדיקה מגרסה 2 יכולה לבדוק מצלמות עם שדה ראייה צר (RFoV) ורחב (WFoV) ב-Android מגרסה 9 ואילך. בגלל הגודל הגדול יותר, גרסה 2
היא אידיאלית אם ה-DUT הוא טאבלט
המתקן המודולרי לבדיקה
בודק מצלמות עם שדה ראייה רחב (WFOV) לבדיקות של סצנות בטאבלט בספרייה
CameraITS/tests
. הגדרה של WFoV:
FoV >= 90°.
המתקן המודולרי יכול לבדוק מצלמות RFoV ומצלמות WFoV במכשירים עם Android 9 ומעלה.
הוא תומך גם במתקן להארכת הטלה, שאפשר לחבר כדי לבדוק מצלמות טלה עם מרחק מיקוד מינימלי ארוך יותר. הבסיס המודולרי זהה מבחינת הפונקציונליות ל-WFoV ITS-in-a-box, אבל הוא קטן יותר.
ב
תיבת sensor fusion מתבצעות בדיקות של היסט התזמון של המצלמה/הגירוסקופ ושל סנכרון הפריימים של מערכות מרובות מצלמות באמצעות בדיקות ב-scenes=sensor_fusion
. כדי להשתמש ב-feature flag REALTIME
, נדרש היסט תזמון של המצלמה/הגירוסקופ של פחות מ-1 אלפית השנייה.
אפשר לבדוק מכשירים עם כמה מצלמות באמצעות מתקן יחיד לבדיקות ITS סטטיות, ומתקן שילוב חיישנים אם למצלמה יש את דגל התכונה REALTIME
.
בטבלה הבאה מופיעות כמה דוגמאות להגדרות.
מרחק מוקד מינימלי | שדות ראייה של מצלמות | REALTIME? | ציוד מומלץ | הערות |
---|---|---|---|---|
31 ס"מ – 22 ס"מ | 24° | לא | בסיס מודולרי, WFoV או RFoV | Android מגרסה 7.0 ואילך |
31 ס"מ – 22 ס"מ | 24° | כן | בסיס מודולרי, WFoV או RFoV ומיזוג חיישנים | Android מגרסה 9 ואילך |
22 ס"מ או פחות | 75° + 95° | כן | בסיס מודולרי או WFoV ומיזוג חיישנים | Android מגרסה 9 ואילך |
110 ס"מ – 22 ס"מ | 75° + 95° + 20° | כן | בסיס מודולרי, עדשת טלה ותכונת מיזוג נתונים מחיישנים | Android מגרסה 9 ואילך |
110 ס"מ – 22 ס"מ | 75° + 95° + 20° | כן | בסיס מודולרי, הרחבה טלסקופית, שילוב חיישנים ומתקן דור שני | |
22 ס"מ או פחות | טאבלט 75° + 95° | לא | WFOV | Android מגרסה 9 ואילך |
שאלה 2: איך מציינים באיזה מתקן בדיקה נעשה שימוש?
כדי לציין את מתקן הבדיקה הנכון, צריך לוודא שפרמטר המרחק בתרשים נכון. במתקן הבדיקה rev1 (RFoV) המרחק מהתרשים הוא 31 ס"מ, ובמתקן הבדיקה rev2 (WFoV) המרחק מהתרשים הוא 22 ס"מ. כברירת מחדל, המרחק של התרשים מוגדר ל-31 ס"מ.
Android 10 ל-Android 11
כדי לזהות את מערכת הבדיקה הנכונה ב-Android 10 עד 11, מוסיפים את הדגלdist
בשורת הפקודה. ערך ברירת המחדל של dist
הוא 31
. מריצים את הפקודה הבאה כדי לשנות את הפרמטר chart_distance
.
python tools/run_all_tests.py ... chart=# dist=22
Android מגרסה 12 ואילך
כדי לזהות את מערכת הבדיקה הנכונה ב-Android 12 ובגרסאות מתקדמות יותר, אפשר לערוך את הקובץ config.yml כדי לשנות את הפרמטרchart_distance
.
edit config.yml chart_distance: 31.0 → chart_distance: 22.0
שאלה 3: איך שולטים בבהירות של הטאבלט?
כברירת מחדל, הבהירות בטאבלט מוגדרת ל-96.
כדי לשנות את הבהירות בטאבלטים עם Android מגרסה 7.0 עד גרסה 9: מריצים את הפקודה:
edit tools/wake_up_screen.py DISPLAY_LEVEL=96 → DISPLAY_LEVEL=192
כדי לשנות את הבהירות בטאבלטים עם Android 10 עד 11, אפשר לשנות את הערך בשורת הפקודה על ידי הוספת הדגל brightness
:
python tools/run_all_tests.py device=# camera=# chart=# brightness=192
כדי לשנות את הבהירות בטאבלטים עם Android מגרסה 12 ואילך, מריצים את הפקודה:
edit config.yml brightness: 96 → brightness: 192
שאלה 4: איך מנפים באגים בבדיקה אחת?
אפשר להריץ בדיקות בנפרד למטרות ניפוי באגים, אבל התוצאות לא מדווחות ל-CtsVerifier.apk
אלא אם מריצים את הסצנה כולה.
כדי להפעיל סצנה ספציפית ב-Android מגרסה 11 ומטה:
- טוענים סצנה על ידי הוספת הדגל
scenes
ב-tools/run_all_tests.py
:python tools/run_all_tests.py device=# camera=# chart=# scenes=#
-
מקישים על Control+C כדי להפסיק את הבדיקות אחרי שהסצנה נרשמת כסצנה שנטענה אל
stdout
.אם הסצנה הנכונה כבר מוצגת במסך, מוציאים את המסך ממצב שינה:
python tools/wake_up_screen.py screen=#
-
מריצים בדיקה ספציפית.
python tests/scene#/test_*.py device=# camera=#
לאחר מכן, התרשימים נוצרים בספרייה המקומית, והערכים
stdout
ו-stderr
מודפסים במסך.כדי לקבל מידע נוסף לניפוי באגים, מוסיפים הצהרות
print
לסקריפט. כדי להגדיל את הפלט של הבדיקה לצורך ניפוי באגים, מוסיפים את הדגלdebug=True
.python tests/scene#/test_*.py device=# camera=# debug=True
התוצאות מודפסות במסך המקומי והתמונות נשמרות בספרייה המקומית במקום בספרייה שנוצרה /tmp/tmp###
כשמריצים את tools/run_all_tests.py
.
כדי להפעיל סצנה ספציפית ב-Android מגרסה 12 ואילך:
-
עורכים את קובץ
config.yml
.edit config.yml camera: <camera-id> → camera: 0 scene: <scene-name> → scene: scene1_1
-
מריצים את הבדיקה הספציפית.
python tools/run_all_tests.py -c config.yml --test_bed TEST_BED_TABLET_SCENES
התוצאות מודפסות בספרייה /tmp/logs/mobly/TEST_BED_TABLET_SCENES/
וממוינות לפי זמן הריצה.
שאלה 5: למה צריך להריץ בדיקות שנכשלו כסצנה שלמה במקום להריץ אותן מחדש בנפרד?
אפשר להריץ בדיקות בנפרד למטרות ניפוי באגים, אבל התוצאות לא מדווחות ל-CtsVerifier.apk
אלא אם מריצים את כל הסצנה.
מערכת Camera ITS מוודאת שלאפליקציות של צד שלישי יש ממשק מצלמה תואם. בדומה לבדיקת יחידה, כל בדיקה בודקת מפרט יחיד במצלמה. כדי לזהות התנהגות לא מהימנה, הבדיקות האלה צריכות לעבור כקבוצה בסצנה שלמה. לדוגמה, יכול להיות שבדיקה לא מהימנה תעבור הרצה חוזרת של סצנה שלמה, אבל קשה שזה יקרה לכמה בדיקות לא מהימנות.
לדוגמה קיצונית, נניח שיש 10 בדיקות בסצנה, ולכל אחת מהן יש הסתברות של 50% להחזיר את הערך PASS
. אם מריצים כל בדיקה בנפרד, יש סיכוי גבוה שמפעיל יוכל לגרום למצלמה לעבור את בדיקת Camera ITS. אבל אם הבדיקות מופעלות במצטבר כסצנה, יש רק סיכוי של 0.1% שהסצנה תעבור.
שאלה 6: איך מפעילים סצנה אחת או משנים את הסדר של הסצנות?
כברירת מחדל, התסריט tools/run_all_tests.py
מריץ את כל הסצנות לפי הסדר. עם זאת, אפשר להפעיל סצנות בנפרד או בסדר מסוים, ולדווח עליהן ל-CtsVerifier.apk
.
כדי להריץ סצנה ספציפית (לדוגמה, סצנה 2) או להריץ יותר מסצנה אחת בסדר מסוים ב-Android מגרסה 11 ומטה:
python tools/run_all_tests.py device=# camera=# chart=# scenes=2
python tools/run_all_tests.py device=# camera=# chart=# scenes=3,2
כדי להפעיל סצנה בודדת או להפעיל יותר מסצנה אחת בסדר מסוים ב-Android מגרסה 12 ואילך:
python tools/run_all_tests.py scenes=2
python tools/run_all_tests.py scenes=3,2
הפרמטרים הנוספים מוגדרים בקובץ config.yml
.
Q7: מספר בדיקות של סצנה 1 נכשלות בהגדרה של הטאבלט, אבל עוברות עם תרשים נייר. מה הבעיה?
חשוב לוודא שהטאבלט וסביבת הבדיקה עומדים במפרטים הבאים.
מפרטים של טאבלטים
חשוב לוודא שהטאבלט עומד במפרט הבא:
- גודל התצוגה (באינצ'ים): 10 אינצ'ים
- גודל התצוגה (פיקסלים): גדול מ-1,920 x 1,200 פיקסלים
פרטים נוספים זמינים במאמר בנושא דרישות לטאבלטים.
בהירות הטאבלט
יכול להיות שהתוצאות של הבדיקות לא יהיו מדויקות אם בהירות המסך בטאבלט נמוכה מדי.
פרטים נוספים זמינים במאמר בנושא איך שולטים בבהירות של הטאבלט?
רמת התאורה בתיבה (נדרש מד לוקס)
מוודאים שערך הלוקס של היעד כשפותחים את הטאבלט הוא בין 100 ל-300.
אם רמת הלוקס גבוהה מדי, הפונקציה scene1/test_param_flash_mode.py
מחזירה FAIL
. אם רמת הלוקס נמוכה מדי, כמה בדיקות ייכשלו.
שאלה 8: איך מנפים באגים בבדיקות של שילוב חיישנים?
חשוב לוודא שאתם נמצאים בקבוצה
dialout
.groups | egrep ‘dialout'
כדי לוודא שבקר מיזוג החיישנים מחובר, בודקים אם Microchip Technology מחובר ליציאת ה-USB.
lsusb … Bus 003 Device 004: ID 04d8:fc73 Microchip Technology, Inc. …
מריצים את הבדיקה כמה פעמים כדי לקבל התפלגות של ניסיונות הבדיקה באמצעות הפקודות הבאות.
ב-Android מגרסה 11 ומטה:
python tools/run_sensor_fusion_box.py device=A camera=0 num_runs=10 rotator=default
ב-Android מגרסה 12 ואילך:
python tools/run_sensor_fusion_box.py num_runs=10
הפרמטרים הנוספים מוגדרים בקובץ
config.yml
.הפלט של ההרצה נמצא בתיקייה
/tmp/tmp###
שנוצרה מתחת לתיקיותsensor_fusion_#
, כאשר#
הוא מספר ההרצה. הסיבות הנפוצות לכשלון הן:- הטלפון לא ממוקם במרכז כמו שצריך.
- לא נמצאו מספיק מאפיינים בתמונה (לרוב מדובר בבעיה בשדה הראייה או בתאורה).
- הערך
FAIL
שמוחזר תקין, וצריך לתקן את ההפרש בין הזמנים של המצלמה והגירוסקופ.
ש9: אילו פרטים צריך לכלול כשמדווחים על באג בבדיקה?
כשמדווחים על באג בבדיקה, צריך לכלול את הקבצים והתמונות שנוצרו לבדיקה.
- אם הפעלתם את הבדיקה דרך
tools/run_all_tests.py
, צריך לצרף לבאג ספרייה/tmp/
דחוסה. - אם הרצתם את הבדיקה לבד, עליכם לצרף לבאג את כל הפלט של המסך ואת התמונות שנוצרו.
מומלץ גם לצרף דוח על באג. אחרי שהבדיקה הרלוונטית נכשלת, משתמשים בפקודה הבאה כדי ליצור דוח על הבאג ומצרפים את קובץ ה-ZIP שנוצר לבאג.
adb -s device_id bugreport
שאלה 10: איך מריצים סצנת בדיקה של sensor_fusion עם מצלמה שיש לה מרחק מיקוד מינימלי שיוצר תמונות מטושטשות במרחק של 25 ס"מ מהתרשים?
אם המצלמה לא מצליחה להתמקד במרחק של 25 ס"מ, צריך להסיר את לוח ההרכבה של התרשים בתיבת שילוב החיישנים. ממקמים את התרשים במרחק שבו המכשיר הנבדק יכול להתמקד ולשנות את chart_distance
ב-config.yml
למרחק הנמדד בין המכשיר הנבדק לבין התרשים. איור 5 מציג דוגמה למדידת המרחק בתרשים במצב הזה.

edit config.yml chart_distance: 25 → chart_distance: DISTANCE_BETWEEN_DUT_AND_CHART
ש11: איך מריצים סצנות בדיקה לטאבלט עבור מצלמה עם מרחק מיקוד מינימלי שיוצרת תמונות מטושטשות במרחק של 31 ס"מ מהתרשים?
אם המצלמה לא מצליחה ליצור תמונות חדות מספיק בבדיקה במרחק של 31 ס"מ (העומק של מתקן הבדיקה של RFoV), צריך להרכיב את המצלמה מול המתקן במרחק שיאפשר לסצנת התרשים למלא כ-60% משדה הראייה (FoV) של המצלמה עם תמונות חדות יותר. המרחק הזה יכול להיות קטן ממרחק הפוקוס המינימלי של המצלמה. משאירים את chart_distance
ב-config.yml
בגובה של 31 ס"מ. הקנה מידה של התרשים בטאבלט נקבע לפי שדה הראייה של המצלמה, כפי שמוצג בטבלה הבאה:
שדה הראייה של המצלמה | גורם קנה המידה של התרשים |
---|---|
60 > FoV > 40 | 0.67x |
40 > FoV > 25 | 0.5x |
FoV < 25 | 0.33x |
ש12: באמצעות ה-API של מצלמות לוגיות מרובות, אילו בדיקות מופעלות על אילו מצלמות?
אם המצלמה משתמשת ב-
REQUEST_AVAILABLE_CAPABILITIES_LOGICAL_MULTI_CAMERA
, כל בדיקות ה-ITS הנתמכות מופעלות במצלמה הלוגית ברמה העליונה. קבוצת משנה של בדיקות ITS מופעלת במצלמות המשנה הפיזיות, והבדיקות האלה מפורטות ב-tools/run_all_tests.py
בקבוע SUB_CAMERA_TESTS
.