Android Camera Image Test Suite (ITS) הוא חלק מ-Android Compatibility Test Suite (CTS) Verifier, וכולל בדיקות לאימות תוכן התמונות. CTS Verifier תומך באוטומציה של בדיקות ITS באמצעות Camera ITS-in-a-box. התמיכה בבדיקות ידניות מכסה את כל הפורמטים של מכשירי Android.
חבילת ITS-in-a-box כוללת את היתרונות הבאים:
- אוטומציה לא נדרשת התערבות אנושית במהלך הבדיקה.
- פתרון בעיות בקלות. עקב עקביות סביבת הבדיקה, יש פחות שגיאות בהגדרה וקלות רבה יותר לשחזור.
- יעילות היכולת לנסות שוב עבור מצלמה או סצנה ספציפית משפרת את היעילות של ביצוע הבדיקה.
שנתחיל?
ערכת ITS-in-a-box מורכבת מתיבת פלסטיק שנחתכה בלייזר מתרשימים של תכנון בעזרת מחשב (CAD), טאבלט עם תרשימים ומכשיר לבדיקה (DUT). בטבלה הבאה מפורטים המאפיינים והמפרטים של ערכות ה-ITS-in-a-box השונות שזמינות.
Rig | מרחק בתרשים | טווח שדה הראייה (FoV) של מצלמת ה-DUT (משוער) | תכונות |
---|---|---|---|
ציוד בסיס מודולרי | 22 ס"מ | 60° - 120° |
|
ציוד צילום מודולרי בסיסי וציוד צילום טלפוטו | 22 ס"מ עד 100 ס"מ* | 10° עד 120° | |
WFoV ITS-in-a-box | 22 ס"מ | 60° - 120° |
|
RFoV ITS-in-a-box | 31 ס"מ | 60° עד 90° |
|
*אפשר לשנות את אורך הטלסקופ בהתאם למרחקים שונים בתרשים. |
כדי להתחיל להשתמש ב-ITS-in-a-box של המצלמה:
- רכישה או פיתוח של מערכת ITS-in-a-box מודולרית, WFoV או RFoV.
- הגדרת טאבלט באמצעות תוכנת Camera ITS.
- מריצים בדיקות.
- מקבלים תוצאות מה-DUT.
הגדרת הטאבלט
בקטע הזה מפורטות הוראות מפורטות להגדרת טאבלט לשימוש עם
המבחנים של ITS למצלמה שנמצאים בספרייה
CameraITS
. ההוראות האלה מתבססות על טאבלט Pixel C כדוגמה. מידע על הדרישות וההמלצות לטאבלטים זמין במאמר דרישות לטאבלטים.
הערה: סקריפטים של Python ל-ITS של המצלמה מגדירים באופן אוטומטי את האפשרויות הבאות בטאבלט:
הגדרות > תצוגה > מצב שינה > אחרי 30 דקות של חוסר פעילות
בהירות דינמית > מושבת
- טוענים את הטאבלט ומפעילים אותו. אם מופיעה בקשה להגדרת חשבון, מדלגים עליה (ב-Camera ITS לא נדרש חשבון שמשויך לטאבלט).
- מעדכנים את הטאבלט ל-Android 7.0 ואילך. אין תמיכה ב-Camera ITS בגרסאות Android 6.x ומטה.
- מפעילים את מצב הפיתוח.
- חוזרים אל הגדרות ובוחרים באפשרות אפשרויות למפתחים.
הפעלת האפשרויות - מצב פעיל
- הישאר ער
- ניפוי באגים ב-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, צריך לוודא שההגדרה לבדיקה כוללת את החומרה והתוכנה הבאות:
- יחידת ITS-in-a-box אחת
- טאבלט אחד בגודל 10" ברזולוציה גבוהה להצגת סצנות, מספר סידורי: 5811000011
- מכשיר 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, שאפשר להוריד מהורדות של חבילות בדיקות תאימות).
צריך להריץ את סצנה 5 בנפרד (מחוץ לתיבה).
כדי להפעיל את סצנה 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
הצגת התוצאות
אפשר להציג את התוצאות במהלך הבדיקה ולשמור את התוצאות שהושלמו כדוח.
- הצגת התוצאות כדי לשמור את התוצאות של מערכת ITS במצלמה כדוח:
- לוחצים על אישור ושומרים את הדוח.
איור 3. דוח ITS של מצלמה - אחזור דוחות מהמכשיר:
adb -s FA6BM0305016 pull /sdcard/verifierReports
- מבטלים את דחיסת קובץ הדוח ומציגים את
test_result.xml
.
איור 4. דוחות ITS ממצלמה
- לוחצים על אישור ושומרים את הדוח.
דרישות לגבי טאבלטים
ב-Android 15 ואילך, טאבלטים המשמשים לתצוגת התרשים של ITS חייבים להופיע ברשימת ההיתרים הבאה של טאבלטים. רשימה של טאבלטים שתומכים בבדיקת סצנות בתאורה חלשה מופיעה במאמר טאבלטים נתמכים לבדיקת סצנות בתאורה חלשה. למכשירי Android מגרסה 14 ומטה, ראו דרישות לטאבלטים עם Android מגרסה 14 ומטה.
הטאבלטים ברשימת ההיתרים נבחרים על סמך הקריטריונים הבאים:
- מסך בגודל של כ-10 אינץ' עם רזולוציית מסך של יותר מ-1,920 על 1,200 פיקסלים.
- אסור שיהיה בהם הבהוב שנמדד שנגרם על ידי עמעום המסך מבוקר PWM (מודולציה של רוחב הפולס).
- יכולה להריץ פקודות adb שנשלחות על ידי בדיקות ITS ולהציג תמונות של תרשימים עם בהירות מסך לפי ההוראות.
צריך להגדיר את הערך brightness
ב-config.yml
בהתאם לדגם הטאבלט. כדי לבדוק אם דגם הטאבלט שלכם תואם לשם מכשיר ברשימת ההיתרים, מריצים את הפקודה adb shell getprop | grep 'ro.product.device'
adb כדי להדפיס את הערך 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 | 2560 x 1600 | 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 | 2560 x 1600 | 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 | 2560 x 1600 | 10.06 x 6.58 x 0.29 | 192 | xun | Android מגרסה 13 ואילך |
טאבלטים נתמכים לצילום בסביבה חשוכה
בטבלה הבאה מפורטים טאבלטים שתומכים בבדיקות של סצנות עם תאורה חלשה. הטאבלטים האלה יכולים להגיע לרמת הבהירות הנדרשת לצילום בסביבה עם תאורה חלשה, וכך לאפשר ל-DUT לחשוף את התרשים בצורה נכונה.מכשירים | שם המכשיר (ro.product.device) | גרסת ה-OS של הטאבלט |
---|---|---|
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 ומטה
מסך הטאבלט צריך להיות בגודל של כ-25 ס"מ, ורזולוציית המסך צריכה להיות גבוהה מ-1,920 x 1,200 פיקסלים. אסור להשתמש ב-PWM (מודולציה של רוחב הפולס) בטאבלט כדי להגדיר את רמת הבהירות. צריך להגדיר את הערך brightness
ב-config.yml
בהתאם למודל הטאבלט.
בטבלה הבאה מפורטים הטאבלטים המומלצים לבדיקה של ITS, יחד עם גרסאות Android של מכשירי ה-DUT שהטאבלטים פועלים איתם.
מכשירים | גודל המסך (אינץ') |
גודל התצוגה (פיקסלים) |
מידות הטאבלט (אינץ') |
בהירות התצוגה |
Display bits |
מערכת ההפעלה הנתמכת של 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 | 2560 x 1600 | 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 | 2560 x 1600 | 9.52 x 6.77 x 0.31 | 192 | 8 | Android מגרסה 7 ואילך | Android מגרסה 8 ואילך |
Asus ZenPad 3 |
9.7 | 2048 x 1536 | 9.47 x 6.44 x 0.28 | 192 | 8 | Android מגרסה 7 ואילך | Android מגרסה 6 ואילך |
Huawei MediaPad m5 |
10.8 | 2560 x 1600 | 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 | 2560 x 1600 | 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°. במצלמות עם שדה ראייה רחב יותר, יכול להיות שהנורות יופיעו בתמונות או שהתרשימים יכללו שטח קטן מדי בשדה הראייה, וכתוצאה מכך תוצאות הבדיקה יושפעו.
ב-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
. שדה הראייה הרחב מוגדר בתור FoV >= 90°. במתקן הבסיסי המודולרי אפשר לבדוק גם מצלמות עם שדה ראייה צר וגם מצלמות עם שדה ראייה רחב במכשירים עם Android מגרסה 9 ואילך.
הוא תומך גם בציוד להארכת הטלה שאפשר לחבר למצלמות טלה כדי לבדוק אותן עם מרחק מיקוד מינימלי ארוך יותר. מבחינה פונקציונלית, ערכת הבסיס המודולרית זהה ל-WFoV ITS-in-a-box, אבל היא קטנה יותר.
ב
קופסת המיזוג של חיישנים נבדקים השעון של המצלמה/ג'ירוסקופ והסנכרון של התמונות במערכות עם כמה מצלמות באמצעות הבדיקות ב-scenes=sensor_fusion
. כדי להפעיל את דגל התכונה REALTIME
, נדרש עיכוב תזמון של המצלמה/גירוסקופ של פחות מ-1ms.
אפשר לבדוק מכשירים עם כמה מצלמות באמצעות ערכת צילום אחת לבדיקות ITS סטטיות, וערכת צילום עם מיזוג חיישנים אם המצלמה כוללת את דגל התכונה REALTIME
.
בטבלה הבאה מוצגות כמה הגדרות לדוגמה.
דוגמה | שדות ראייה של מצלמות | REALTIME? | ציוד מומלץ | הערות |
---|---|---|---|---|
1 | 75° | לא | בסיס מודולרי, Rev 1 או Rev 2 | Android מגרסה 7.0 ואילך |
2 | 75° | כן | בסיס מודולרי, Rev 1 או Rev 2 ומילוי חיישנים | Android מגרסה 9 ואילך |
3 | 75° + 95° | כן | בסיס מודולרי או Rev 2 ומילוי חיישנים | Android מגרסה 9 ואילך |
4 | 75° + 95° + 20° | כן | בסיס מודולרי, הרחבה טלסקופית ושילוב חיישנים | Android מגרסה 9 ואילך |
5 | טאבלט 75° + 95° | לא | Rev 2 | 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 ועד Android 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
במסך.כדי לקבל מידע נוסף לניפוי באגים, מוסיפים ל-script משפטי
print
. כדי להגדיל את פלט הבדיקה לניפוי באגים, מוסיפים את הדגלdebug=True
.python tests/scene#/test_*.py device=# camera=# debug=True
כשמריצים את tools/run_all_tests.py
, התוצאות מודפסות במסך המקומי והתמונות נשמרות בספרייה המקומית במקום בספרייה /tmp/tmp###
שנוצרה.
כדי להפעיל סצנה מסוימת ב-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
אלא אם כל הסצנה מופעלת.
שירות ה-ITS של המצלמה מוודא שלאפליקציות של צד שלישי יש ממשק מצלמה תואם. בדומה לבדיקת יחידה, כל בדיקה מתמקדת במפרט יחיד במצלמה. כדי לזהות התנהגות לא מהימנה, הבדיקות האלה אמורות לעבור כקבוצה בסצנה שלמה. לדוגמה, בדיקה לא מהימנה אחת עשויה לעבור הפעלה חוזרת של סצנה שלמה, אבל קשה לעבור עם כמה בדיקות לא מהימנות.
דוגמה קיצונית: נניח שיש 10 בדיקות בסצנה, וכל אחת מהן יש לה סבירות של 50% להחזיר את הערך PASS
. כשמריצים כל בדיקה בנפרד, יש סיכוי גבוה שהמפעיל יוכל לגרום למצלמה לעבור את בדיקת 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
.
שאלה 7: מספר בדיקות של סצנה 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. - אם הרצתם את הבדיקה בעצמכם, צרפו לדיווח על הבאג את כל הפלט של המסך ואת התמונות שנוצרו.
יש גם לצרף דוח על באג. אחרי שהבדיקה הרלוונטית נכשלת, משתמשים בפקודה הבאה כדי ליצור דוח על הבאג ולצרף את קובץ ה-zip שנוצר לבאג.
adb -s device_id bugreport
שאלה 10: איך מריצים סצנת בדיקה של sensor_fusion עם מצלמה שיש לה מרחק מיקוד מינימלי שיוצר תמונות מטושטשות במרחק של 25 ס"מ מהמצגת?
אם המצלמה לא מצליחה להתמקד במרחק של 25 ס"מ, מסירים את הלוח להרכבת התרשים של תיבת מיזוג החיישנים. מניחים את התרשים במרחק שבו ה-DUT יכול להתמקד, ומשנים את הערך של chart_distance
ב-config.yml
למרחק שנמדד בין ה-DUT לבין התרשים. באיור 5 מוצגת דוגמה למדידת המרחק בתרשים במצב כזה.
edit config.yml chart_distance: 25 → chart_distance: DISTANCE_BETWEEN_DUT_AND_CHART
שאלה 11: איך מריצים סצנות בדיקה בטאבלט למצלמה עם מרחק מיקוד מינימלי שיוצר תמונות מטושטשות במרחק 31 ס"מ מהמצגת?
אם המצלמה לא מצליחה ליצור תמונות חדות מספיק במרחק 31 ס"מ (עומק ערכת הבדיקה של RFoV), צריך להתקין את המצלמה מול ערכת הבדיקה במרחק שמאפשר לתמונות חדות יותר למלא כ-60% משטח התצוגה של המצלמה (שדה הראייה). המרחק הזה יכול להיות קטן מהמרחק המינימלי לטשטוש של המצלמה. משאירים את ה-chart_distance
ב-config.yml
בגובה 31 ס"מ. שינוי קנה המידה של התרשים בטאבלט נקבע לפי שדה הראייה (FoV) של המצלמה, כפי שמתואר בטבלה הבאה:
שדה הראייה של המצלמה | גורם לקביעת קנה המידה של התרשים |
---|---|
60 > FoV > 40 | 0.67x |
40 > FoV > 25 | 0.5x |
שדה ראייה קטן מ-25 | 0.33x |
שאלה 12: כשמשתמשים ב-API לשימוש במספר מצלמות, אילו בדיקות מתבצעות באילו מצלמות?
אם המצלמה משתמשת ב-
REQUEST_AVAILABLE_CAPABILITIES_LOGICAL_MULTI_CAMERA
, כל בדיקות ה-ITS הנתמכות מופעלות במצלמה הלוגית ברמה העליונה. קבוצת משנה של בדיקות ה-ITS פועלת במצלמות המשנה הפיזיות, והבדיקות האלה מפורטות ב-tools/run_all_tests.py
בקבוע SUB_CAMERA_TESTS
.