הכלי לבדיקת תמונות של מצלמת Android (ITS) הוא חלק מהכלי לאימות תאימות של Android (CTS), והוא כולל בדיקות שמאמתות את תוכן התמונה. CTS Verifier תומך באוטומציה של בדיקות ITS באמצעות Camera ITS-in-a-box. התמיכה בבדיקות ידניות מכסה את כל הפורמטים של מכשירי Android.
חבילת ITS-in-a-box כוללת את היתרונות הבאים:
- אוטומציה לא נדרשת התערבות אנושית במהלך הבדיקה.
- פתרון בעיות בקלות. עקביות בסביבת הבדיקה מובילה לפחות שגיאות הגדרה ומגבירה את יכולת השחזור.
- יעילות היכולת לנסות שוב עבור מצלמה או סצנה ספציפית משפרת את היעילות של ביצוע הבדיקה.
שנתחיל?
ערכת ITS-in-a-box מורכבת מתיבת פלסטיק שנחתכה בלייזר מתרשימים של תכנון בעזרת מחשב (CAD), טאבלט עם תרשימים ומכשיר לבדיקה (DUT). בטבלה הבאה מפורטים המאפיינים והמפרטים של ערכות ה-ITS-in-a-box השונות שזמינות.
מתקן | מרחק בתרשים | טווח מיקוד של מצלמת DUT (בערך) | תכונות |
---|---|---|---|
ציוד בסיס מודולרי | 22 ס"מ | 60° - 120° |
|
ציוד מודולרי לצילום בסיס וציוד מודולרי להארכת טלפוטו | 22 ס"מ עד 100 ס"מ* | 10° עד 120° | |
WFoV ITS-in-a-box | 22 ס"מ | 60° - 120° |
|
RFoV ITS-in-a-box | 31 ס"מ | 15° עד 90° |
|
*אפשר לשנות את אורך הטלסקופ בהתאם למרחקים שונים בתרשים. |
כדי להתחיל להשתמש ב-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 ואז על Cancel (ביטול) כדי להעלות ל-Drive.
- לבסוף, מריצים את
tools/run_all_tests.py
ומוודאים שהסצנות משתנות באופן אוטומטי כשהסקריפט עובר בין סצנות שונות. רוב הבדיקות נכשלות (כי המצלמה לא מופנית לתרשים), אבל אפשר לוודא שהטאבלט עובר בין התמונות בצורה תקינה בלי להציג הנחיות או חלונות קופצים אחרים במסך.
הרצת בדיקות
לפני שמפעילים את ITS-in-a-box, צריך לוודא שההגדרה לבדיקה כוללת את החומרה והתוכנה הבאות:
- יחידת ITS-in-a-box אחת
- טאבלט אחד (1) ברזולוציה גבוהה בגודל 10 אינץ' להצגת סצנות, S/N: 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 של המצלמה כדוח:
- מקישים על Pass (עובר) ושומרים את הדוח.
איור 3. דוח ITS של מצלמה - אחזור דוחות מהמכשיר:
adb -s FA6BM0305016 pull /sdcard/verifierReports
- מבטלים את דחיסת קובץ הדוח ומציגים את
test_result.xml
.
איור 4. דוחות ITS ממצלמה
- מקישים על Pass (עובר) ושומרים את הדוח.
דרישות לטאבלטים
ב-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) | גרסת מערכת הפעלה לטאבלט |
---|---|---|
Huawei MediaPad m5 |
HWCMR09 | Android מגרסה 8 ואילך |
Samsung Galaxy Tab A8 | gta8wifi | Android 11 ואילך |
Samsung Galaxy Tab A9+ | gta9pwifi | Android מגרסה 13 ואילך |
Xiaomi Pad 5 | נבו | Android מגרסה 13 ואילך |
Xiaomi Redmi Pad SE |
xun | Android מגרסה 13 ואילך |
דרישות לטאבלטים ל-Android מגרסה 14 ומטה
מסך הטאבלט צריך להיות בגודל של כ-25 ס"מ ורזולוציית המסך צריכה להיות גבוהה מ-1920 x 1200 פיקסלים. אסור להשתמש ב-PWM (מודולציה של רוחב הפולס) בטאבלט כדי להגדיר את רמת הבהירות. הערך של brightness
צריך להיות מוגדר ב-config.yml
בהתאם לדגם הטאבלט.
בטבלה הבאה מפורטים הטאבלטים המומלצים לבדיקה של ITS, יחד עם גרסאות Android של ה-DUT שהטאבלטים פועלים איתן.
מכשירים | גודל המסך (אינץ') |
גודל התצוגה (פיקסלים) |
מידות הטאבלט (אינצ'ים) |
בהירות התצוגה |
ביטים תצוגה |
נתמכת DUT OS |
מערכת ההפעלה הנתמכת של הטאבלט |
---|---|---|---|---|---|---|---|
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 | 2560 x 1600 | 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 | 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 או 2 | Android מגרסה 7.0 ואילך |
2 | 75° | כן | בסיס מודולרי, או Rev 1 או 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
התוצאות מודפסות במסך המקומי והתמונות נשמרות בספרייה המקומית במקום בספרייה /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
אלא אם כל הסצנה מופעלת.
שירות ה-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.
אם רמת ה-lux גבוהה מדי, הפונקציה 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% משדה הראייה של המצלמה (FoV) בתמונות חדות יותר. המרחק הזה יכול להיות קטן מהמרחק המינימלי לטשטוש המצלמה. משאירים את ה-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
.