تست تصاویر دوربین با استفاده از اتوماسیون، تست تصاویر دوربین با استفاده از اتوماسیون

مجموعه تست تصویر دوربین اندروید (ITS) بخشی از تأییدکننده مجموعه تست سازگاری اندروید (CTS) است و شامل تست‌هایی است که محتوای تصویر را تأیید می‌کنند. تأییدکننده CTS از اتوماسیون تست ITS با Camera ITS-in-a-box پشتیبانی می‌کند؛ پشتیبانی از تست‌های دستی، تمام فرم فکتورهای دستگاه‌های اندروید را پوشش می‌دهد.

ITS-in-a-box مزایای زیر را شامل می‌شود:

  • اتوماسیون. در طول آزمایش نیازی به دخالت انسان نیست.
  • عیب‌یابی آسان. ثبات محیط آزمایش منجر به کاهش خطاهای راه‌اندازی و افزایش تکرارپذیری می‌شود.
  • کارایی. قابلیت تلاش مجدد برای هر دوربین/صحنه، کارایی اجرای تست را بهبود می‌بخشد.

انتخاب دکل

جعبه ITS شامل یک جعبه پلاستیکی است که با لیزر از نقشه‌های طراحی به کمک کامپیوتر (CAD)، یک تبلت نمودار و یک دستگاه تحت آزمایش (DUT) برش داده شده است. جدول زیر ویژگی‌ها و مشخصات انواع مختلف دستگاه‌های ITS موجود را شرح می‌دهد. برای انتخاب دستگاه مناسب، میدان دید خاص و حداقل فاصله فوکوس DUT را در نظر بگیرید. برای سیستم‌های دوربین با میدان دید ۶۰ تا ۱۱۰ درجه و حداقل فاصله فوکوس ۲۲ تا ۳۱ سانتی‌متر، ما یک دستگاه پایه مدولار را به دلیل سازگاری آن توصیه می‌کنیم. اگر سیستم دوربین شامل یک لنز تله فوتو با حداقل فاصله فوکوس بین ۳۱ سانتی‌متر و ۱۱۰ سانتی‌متر باشد، ما یک دستگاه پایه مدولار با یک افزونه تله که دقیقاً با فاصله فوکوس لنز مطابقت دارد را توصیه می‌کنیم. افزونه‌های تله در طول‌های ۵۰ سانتی‌متر تا ۹۰ سانتی‌متر موجود هستند.

ریگ فاصله نمودار محدوده میدان دید دوربین DUT (تقریبی) ویژگی‌ها
دکل پایه مدولار ۲۲ سانتی‌متر ۶۰ درجه - ۱۲۰ درجه
  • ردپای کوچکتر
  • بریدگی بزرگ دیافراگم در جلو که امکان آزمایش سیستم چند دوربینه را بدون مسدود کردن دوربین‌های ثانویه توسط بریدگی فراهم می‌کند
  • دکل را می‌توان ۹۰ درجه چرخاند
  • دکل پایه مدولار و دکل تله اکستنشن ۲۲ سانتی‌متر - ۱۱۰ سانتی‌متر* ۱۰ تا ۱۲۰ درجه
  • برش دیافراگم بزرگ در جلو
  • پشتیبانی از دوربین‌های آزمایشی که حداقل فاصله فوکوس طولانی‌تری دارند (بیشتر دوربین‌های تله‌فوتو)
  • طول دکل الحاقی را می‌توان برای فواصل مختلف نمودار تنظیم کرد.
  • WFoV ITS-in-a-box ۲۲ سانتی‌متر ۶۰ درجه - ۱۲۰ درجه
  • فضای زیاد، امکان نصب DUT در موقعیت‌های مختلف را فراهم می‌کند
  • پشتیبانی از DUT های بزرگ مانند تبلت ها
  • RFoV ITS-in-a-box ۳۱ سانتی‌متر ۶۰ درجه - ۹۰ درجه
  • تبلت نمودار
  • سیستم روشنایی داخلی
  • نسل دوم سیستم‌های حمل و نقل هوشمند (ITS) در یک جعبه ۳۱ سانتی‌متر ۶۰ درجه - ۹۰ درجه
  • نمودار کاغذی
  • سیستم روشنایی داخلی
  • برای تعیین بهترین دستگاه تصویربرداری زیرآبی (DUT)، جدول زیر نمونه‌هایی از تصاویر گرفته شده برای ترکیبات مختلف فواصل نمودار و درصد مقیاس‌بندی صحنه با استفاده از دوربینی با میدان دید ۲۵ درجه و حداقل فاصله فوکوس ۸۰ سانتی‌متر را ارائه می‌دهد. برای این مثال، دستگاه پایه مدولار با طول ۳۰ سانتی‌متر یا ۵۰ سانتی‌متر که منجر به فاصله نمودار ۵۰ سانتی‌متر یا ۸۰ سانتی‌متر می‌شود، مناسب‌ترین گزینه است. تصویر گرفته شده در فاصله نمودار ۳۱ سانتی‌متر بسیار تار است و احتمالاً منجر به شکست آزمایش می‌شود.
    فاصله نمودار درصد مقیاس‌بندی صحنه تصویر
    ۳۱ سانتی‌متر ۳۳٪
    ۵۰ سانتی‌متر ۵۰٪
    ۸۰ سانتی‌متر ۱۰۰٪

    برای شروع کار با دوربین ITS-in-a-box:

    1. یک ماژولار ، WFoV یا RFoV و حسگر Fusion ITS-in-a-box خریداری یا بسازید.
    2. پیکربندی تبلت با نرم‌افزار Camera ITS
    3. تست‌ها را اجرا کنید .
    4. از DUT نتیجه بگیرید .

    پیکربندی تبلت

    این بخش دستورالعمل‌های گام به گام برای راه‌اندازی یک تبلت جهت استفاده با آزمون‌های Camera ITS که در فهرست CameraITS قرار دارد، ارائه می‌دهد. این دستورالعمل‌ها از یک Pixel C به عنوان نمونه تبلت استفاده می‌کنند. برای اطلاعات مربوط به الزامات و توصیه‌های تبلت، به الزامات تبلت مراجعه کنید.

    توجه: اسکریپت‌های پایتون Camera ITS به طور خودکار گزینه‌های زیر را روی تبلت برای شما تنظیم می‌کنند:
    تنظیمات > نمایشگر > حالت خواب > پس از 30 دقیقه عدم فعالیت
    روشنایی تطبیقی ​​> خاموش

    1. تبلت را شارژ و روشن کنید. اگر از شما خواسته شد که حساب کاربری ایجاد کنید، از آن صرف نظر کنید (دوربین ITS نیازی به جفت شدن هیچ حسابی با تبلت ندارد).
    2. تبلت را به اندروید ۷.۰ یا بالاتر به‌روزرسانی کنید. اندروید ۶.x و نسخه‌های پایین‌تر از Camera ITS پشتیبانی نمی‌کنند.
    3. حالت توسعه‌دهنده را فعال کنید.
    4. به تنظیمات برگردید و گزینه‌های توسعه‌دهندگان (Developer options) را انتخاب کنید.
      فعال کردن گزینه‌ها
      • روشن
      • بیدار بمانید
      • اشکال‌زدایی USB (این به میزبان اجازه می‌دهد تا تبلت را در حالت اشکال‌زدایی اجرا کند. وقتی تبلت را برای اولین بار به میزبان وصل می‌کنید، تبلت از شما می‌پرسد: «اشکال‌زدایی USB مجاز است؟» اگر تبلت پیام اشکال‌زدایی را نشان نداد، اتصال را قطع کرده و دوباره وصل کنید.)
      غیرفعال کردن گزینه‌ها
      • به‌روزرسانی‌های خودکار سیستم
      • تأیید برنامه‌ها از طریق USB
    5. با اجرای دستور $ adb devices برای فهرست کردن دستگاه‌های موجود، شناسه‌های DUT و نمودار را تعیین کنید. برای تعیین device_id و chart_id ، دستگاه‌ها را وصل و جدا کنید و دستگاه‌هایی را که متصل و قطع می‌شوند، مشاهده کنید.
    6. سه بار تست انجام دهید تا نکات و پیام‌های کاربر که می‌توانند نمودارها را روی صفحه تبلت مبهم کنند، حذف شوند.
      1. تبلت را رو به بالا روی میز قرار دهید (تبلت را به پنل پشتی جعبه وصل نکنید).
      2. دستور زیر را اجرا کنید:
        python tools/run_all_tests.py device=$device_id camera=0 chart=$chart_id scenes=2,3
        
        صحنه‌های ۲ و ۳ نیاز دارند که تبلت یک تصویر را نمایش دهد، بنابراین تبلت از شما می‌پرسد که آیا به درایو اجازه دسترسی به عکس‌ها، رسانه‌ها و فایل‌های دستگاهتان را می‌دهید؟ . با فشار دادن دکمه «اجازه» این پیام را پاک کنید (و از پیام‌های بعدی جلوگیری کنید).
      3. دستور را دوباره اجرا کنید. تبلت از شما می‌پرسد که آیا یک کپی از این فایل نگه دارید؟ و گوگل درایو را پیشنهاد می‌دهد. با فشار دادن آیکون درایو و سپس لغو آپلود در درایو، این پیام را پاک کنید (و از پیام‌های بعدی جلوگیری کنید).
      4. در نهایت، tools/run_all_tests.py اجرا کنید و تأیید کنید که صحنه‌ها با چرخش اسکریپت در صحنه‌های مختلف، به طور خودکار تغییر می‌کنند. در حالی که اکثر آزمایش‌ها با شکست مواجه می‌شوند (زیرا دوربین به سمت نمودار نشانه نرفته است)، می‌توانید تأیید کنید که تبلت به درستی و بدون نمایش هیچ گونه اعلان یا پنجره‌ی بازشو دیگری روی صفحه، صحنه‌ها را طی می‌کند.

    اجرای تست‌ها

    قبل از اجرای ITS-in-a-box، مطمئن شوید که تنظیمات آزمایشی شما شامل سخت‌افزار و نرم‌افزار زیر است:

    • یک (1) دستگاه ITS در یک جعبه
    • یک (1) تبلت 10 اینچی با وضوح بالا برای نمایش صحنه‌ها، شماره سریال: 5811000011
    • یک (1) DUT که برنامه CTS Verifier 7.0_8+ روی آن نصب شده باشد. مثال DUT:
      • یک (1) پیکسل NOF26W برای تست دوربین عقب(0)، شماره سریال: FA6BM0305016. برای نصب برنامه CTS Verifier، android-cts-verifier.zip را از حالت فشرده خارج کرده و سپس اجرا کنید.
        adb -s FA6BM0305016 install -r -g android-cts-verifier/CtsVerifier.apk
        

    اجرای صحنه‌های مبتنی بر تبلت

    برای اجرای صحنه‌های ۰ تا ۴، ۶ و scene_change روی دوربین عقب:

    cd android-cts-verifier/CameraITS
    . build/envsetup.sh
    python tools/run_all_tests.py camera=0
    

    مثال:

    دوربین ۰ شماره سریال: FA6BM0305016
    شکل ۱. دوربین ۰ شماره سریال: FA6BM0305016

    صحنه‌ها را دوباره امتحان کنید

    می‌توانید صحنه‌ها را برای یک دوربین دوباره امتحان کنید:

    • برای امتحان مجدد صحنه‌ها روی یک دوربین:
      python tools/run_all_tests.py device=FA6BM0305016 camera=0 scenes=3,4
      

    صحنه ۵ را بدوید

    صحنه ۵ نیاز به تنظیمات ویژه با نورپردازی خاص دارد (برای جزئیات بیشتر، به CameraITS.pdf در CTS Verifier مراجعه کنید که می‌توانید آن را از بخش دانلودهای مجموعه تست سازگاری دانلود کنید). شما باید صحنه ۵ را جداگانه (خارج از جعبه) و با بستر آزمایشی TEST_BED_MANUAL اجرا کنید.

    صحنه دوربین ۵
    شکل ۲. صحنه دوربین ۵

    برای اجرای صحنه ۵ برای دوربین‌های جلو و عقب در یک دستگاه:

    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 به عنوان گزارش:
      1. کلید Pass را فشار دهید و گزارش را ذخیره کنید.
        گزارش ITS دوربین
        شکل ۳. گزارش ITS دوربین
      2. دریافت گزارش از دستگاه:
        adb -s FA6BM0305016 pull /sdcard/verifierReports
        
      3. فایل گزارش را از حالت فشرده خارج کنید و test_result.xml را مشاهده کنید.
        گزارش‌های ITS دوربین
        شکل ۴. گزارش‌های ITS دوربین

    الزامات تبلت

    برای اندروید ۱۵ و بالاتر، تبلت‌هایی که به عنوان نمایشگر نمودار ITS استفاده می‌شوند باید در فهرست مجاز تبلت‌های زیر باشند. برای مشاهده فهرست تبلت‌هایی که از آزمایش صحنه‌های کم‌نور پشتیبانی می‌کنند، به بخش تبلت‌های پشتیبانی‌شده برای صحنه کم‌نور مراجعه کنید. برای اندروید ۱۴ یا پایین‌تر، به الزامات تبلت برای اندروید ۱۴ و پایین‌تر مراجعه کنید.

    قرص‌های موجود در فهرست مجاز بر اساس معیارهای زیر انتخاب می‌شوند:

    • اندازه صفحه نمایش حدود ۱۰ اینچ با وضوح صفحه نمایش بیشتر از ۱۹۲۰ در ۱۲۰۰ پیکسل.
    • نباید هیچ گونه سوسو زدن اندازه‌گیری شده ناشی از کم نور شدن صفحه نمایش کنترل شده با مدولاسیون پهنای پالس (PWM) داشته باشد.
    • قادر به اجرای دستورات adb ارسال شده توسط تست‌های ITS و نمایش تصاویر نمودار با روشنایی صفحه نمایش تعیین شده.

    مقدار brightness باید در config.yml و بر اساس مدل تبلت تنظیم شود. برای تعیین اینکه آیا مدل تبلت شما با نام دستگاه موجود در لیست مجاز مطابقت دارد یا خیر، مقدار ro.product.device را با اجرای دستور adb shell getprop | grep 'ro.product.device' چاپ کنید.

    دستگاه اندازه نمایشگر
    (اینچ)
    اندازه نمایشگر
    (پیکسل)
    ابعاد تبلت
    (اینچ)
    نمایش
    روشنایی
    نام دستگاه
    (محصول ro
    دستگاه)
    سیستم عامل تبلت
    نسخه
    گوگل
    پیکسل سی
    ۱۰.۲ ۲۵۶۰ در ۱۸۰۰ ۹.۵۳ در ۷.۰۵ در ۰.۲۸ ۹۶ اژدها اندروید ۶+
    افتخار
    پد ۸
    ۱۱ ۲۰۰۰ در ۱۲۰۰ ۱۰.۱۸ در ۶.۷۶ در ۰.۲۹ ۱۹۲ HNHEY-Q اندروید ۱۲
    هواوی
    مدیاپد ام۵
    ۱۰.۸ ۲۵۶۰ در ۱۶۰۰ ۱۰.۱۸ در ۶.۷۶ در ۰.۲۹ ۱۹۲ HWCMR09 اندروید ۸+
    لنوو
    تب M10 پلاس
    ۱۰.۳ ۱۹۲۰ در ۱۲۰۰ ۹.۶۱ × ۶.۰۳ × ۰.۳۲ ۱۹۲ X606F اندروید ۹+
    لنوو
    برگه P11
    ۱۱ ۲۰۰۰ در ۱۲۰۰ ۱۰.۱۷ در ۶.۴۲ در ۰.۳۰ ۱۹۲ J606F اندروید ۱۱+
    لنوو
    تب P11 نسل دوم
    ۱۱.۵ ۲۰۰۰ در ۱۲۰۰ ۱۰.۵۹ در ۶.۶۷ در ۰.۲۹ ۱۹۲ TB350FU اندروید ۱۳+
    نوکیا
    تی۲۱
    ۱۰.۴ ۲۰۰۰ در ۱۲۰۰ ۹.۷۴ در ۶.۱۹ در ۰.۳۰ ۱۹۲ آگتا اندروید ۱۲+
    سامسونگ
    گلکسی تب A7
    ۱۰.۴ ۲۰۰۰ در ۱۲۰۰ ۹.۷۵ در ۶.۲ در ۰.۲۸ ۱۹۲ gta4lwifi اندروید ۱۰+
    سامسونگ
    گلکسی تب A8
    ۱۰.۵ ۱۹۲۰ در ۱۲۰۰ ۹.۷۲ در ۶.۷۳ در ۰.۲۷ ۱۹۲ جی تی ای 8 وای فای اندروید ۱۱+
    سامسونگ
    گلکسی تب A9+
    ۱۱ ۱۹۲۰ در ۱۲۰۰ ۱۰.۱۲ در ۶.۶۴ در ۰.۲۷ ۱۹۲ gta9pwih اندروید ۱۳+
    سامسونگ
    گلکسی تب S10 FE
    ۱۱ ۲۳۰۴ در ۱۴۴۰ ۱۰.۰۱ × ۶.۵۳ × ۰.۲۴ ۱۹۲ gts10fewifi اندروید ۱۵+
    ویوو
    پد۲
    ۱۲.۱ ۲۸۰۰ در ۱۹۶۸ ۱۰.۴۷ در ۷.۵۴ در ۰.۲۶ ۱۹۲ DPD2221 اندروید ۱۳+
    شیائومی
    پد ۵
    ۱۱ ۲۵۶۰ در ۱۶۰۰ ۱۰.۱۸ در ۶.۷۶ در ۰.۲۹ ۱۹۲ نابو اندروید ۱۳+
    شیائومی
    ردمی
    پد
    ۱۰.۶۱ ۲۰۰۰ در ۱۲۰۰ ۹.۸۶ در ۶.۲۲ در ۰.۲۸ ۱۹۲ یونلو اندروید ۱۴+
    شیائومی
    ردمی
    پد SE
    ۱۱ ۲۵۶۰ در ۱۶۰۰ ۱۰.۰۶ در ۶.۵۸ در ۰.۲۹ ۱۹۲ شون اندروید ۱۳+

    تبلت‌های پشتیبانی‌شده برای صحنه‌های کم‌نور

    جدول زیر تبلت‌هایی را فهرست می‌کند که از آزمایش صحنه‌های کم‌نور پشتیبانی می‌کنند. این تبلت‌ها می‌توانند به سطح روشنایی مورد نیاز برای صحنه‌های کم‌نور برسند و به DUT اجازه دهند تا نمودار را به درستی نوردهی کند.
    دستگاه نام دستگاه (ro.product.device) نسخه سیستم عامل تبلت
    هواوی
    مدیاپد ام۵
    HWCMR09 اندروید ۸+
    سامسونگ گلکسی تب A8 جی تی ای 8 وای فای اندروید ۱۱+
    سامسونگ گلکسی تب A9+ gta9pwih اندروید ۱۳+
    شیائومی پد ۵ نابو اندروید ۱۳+
    شیائومی
    ردمی
    پد SE
    شون اندروید ۱۳+

    الزامات تبلت برای اندروید ۱۴ و پایین‌تر

    تبلت‌ها باید اندازه نمایشگر حدود ۱۰ اینچ با وضوح صفحه نمایش بیشتر از ۱۹۲۰ در ۱۲۰۰ پیکسل داشته باشند. تبلت نباید از مدولاسیون پهنای پالس (PWM) برای تنظیم سطح روشنایی استفاده کند. مقدار brightness باید در config.yml و بر اساس مدل تبلت تنظیم شود. جدول زیر تبلت‌های توصیه‌شده برای آزمایش ITS را به همراه نسخه‌های اندروید برای DUT که تبلت‌ها با آن کار می‌کنند، فهرست می‌کند.

    دستگاه اندازه نمایشگر
    (اینچ)
    اندازه نمایشگر
    (پیکسل)
    ابعاد تبلت
    (اینچ)
    نمایش
    روشنایی
    نمایش
    بیت ها
    پشتیبانی شده
    سیستم عامل DUT
    پشتیبانی شده
    سیستم عامل تبلت
    سامسونگ
    گلکسی تب A8
    ۱۰.۵ ۱۹۲۰ در ۱۲۰۰ ۹.۷۲ در ۶.۳۷ در ۰.۲۷ ۱۹۲ ۸ اندروید ۱۳+ اندروید ۱۱+
    شیائومی
    پد ۵
    ۱۱ ۲۵۶۰ در ۱۶۰۰ ۱۰.۰۳ در ۶.۵۵ در ۰.۲۷ ۱۰۲۴ عدد ۱۱ اندروید ۱۲+ فقط اندروید ۱۱
    لنوو
    تب M10 پلاس
    ۱۰.۳ ۱۹۲۰ در ۱۲۰۰ ۹.۶۱ × ۶.۰۳ × ۰.۳۲ ۱۹۲ ۸ اندروید ۱۲+ اندروید ۹+
    سامسونگ
    گلکسی تب A7
    ۱۰.۴ ۲۰۰۰ در ۱۲۰۰ ۹.۷۵ در ۶.۲ در ۰.۲۸ ۱۹۲ ۸ اندروید ۱۲+ اندروید ۱۰+
    چوی
    های۹ ایر ۱۰.۱
    ۱۰.۱ ۲۵۶۰ در ۱۶۰۰ ۹.۵۲ در ۶.۷۷ در ۰.۳۱ ۱۹۲ ۸ اندروید ۷+ اندروید ۸+
    ایسوس
    زن‌پد ۳
    ۹.۷ ۲۰۴۸ در ۱۵۳۶ ۹.۴۷ در ۶.۴۴ در ۰.۲۸ ۱۹۲ ۸ اندروید ۷+ اندروید ۶+
    هواوی
    مدیاپد ام۵
    ۱۰.۸ ۲۵۶۰ در ۱۶۰۰ ۱۰.۱۸ در ۶.۷۶ در ۰.۲۹ ۱۹۲ ۸ اندروید ۷+ اندروید ۸+
    گوگل
    پیکسل سی
    ۱۰.۲ ۲۵۶۰ در ۱۸۰۰ ۹.۵۳ در ۷.۰۵ در ۰.۲۸ ۹۶ ۸ اندروید ۷+ اندروید ۶+
    سونی
    اکسپریا زد ۴
    ۱۰.۱ ۲۵۶۰ در ۱۶۰۰ ۱۰ × ۶.۵۷ × ۰.۲۴ ۱۹۲ ۸ اندروید ۷+ اندروید ۵+

    سوالات متداول

    سوال ۱: چگونه می‌توانم تجهیزات تست مورد نیاز برای دستگاهم را تعیین کنم؟

    نسخه ۱ از RFoV ITS-in-a-box، دوربین‌های RFoV را برای آزمایش صحنه‌های تبلت در دایرکتوری CameraITS/tests آزمایش می‌کند. RFoV به صورت ۶۰° < FoV < ۹۰° تعریف می‌شود. برای دوربین‌های FoV بزرگتر، ممکن است نورها در تصاویر ظاهر شوند یا نمودارها ناحیه بسیار کوچکی را در FoV پوشش دهند که بر نتایج آزمایش تأثیر می‌گذارد.

    The WFoV ITS-in-a-box revision 2 tests WFoV cameras for tablet scenes tests in the CameraITS/tests directory. WFoV is defined as FoV >= 90° . The revision 2 test rig is functionally identical to revision 1, but larger. The revision 2 test rig can test both RFoV and WFoV cameras in Android 9 and higher. Given the larger footprint, revision 2 is ideal if DUT is a tablet

    دستگاه پایه ماژولار، دوربین‌های WFoV را برای آزمایش صحنه‌های تبلت در دایرکتوری CameraITS/tests آزمایش می‌کند. WFoV به صورت FoV >= 90° تعریف می‌شود. دستگاه پایه ماژولار می‌تواند هر دو دوربین RFoV و WFoV را برای دستگاه‌هایی که اندروید ۹ و بالاتر دارند، آزمایش کند. همچنین از دستگاه افزایش طول تله که می‌تواند برای آزمایش دوربین‌های تله با حداقل فاصله فوکوس طولانی‌تر متصل شود، پشتیبانی می‌کند. دستگاه پایه ماژولار از نظر عملکردی با دستگاه WFoV ITS-in-a-box یکسان است، اما کوچکتر است.

    جعبه ادغام حسگر ، آفست زمانی دوربین/ژیروسکوپ و همگام‌سازی فریم سیستم‌های چند دوربینی را با تست‌هایی در scenes=sensor_fusion آزمایش می‌کند. آفست زمانی دوربین/ژیروسکوپ کمتر از ۱ میلی‌ثانیه برای پرچم ویژگی REALTIME مورد نیاز است.

    دستگاه‌های چند دوربینه را می‌توان با یک دستگاه برای تست‌های ITS استاتیک و یک دستگاه ادغام حسگر در صورتی که دوربین دارای ویژگی REALTIME باشد، آزمایش کرد.

    مجموعه‌ای از پیکربندی‌های نمونه در جدول زیر ارائه شده است.

    حداقل فاصله فوکوس میدان دید دوربین بی‌درنگ؟ دکل‌های توصیه‌شده یادداشت‌ها
    ۳۱ سانتی‌متر - ۲۲ سانتی‌متر ۷۵ درجه خیر پایه مدولار، WFoV یا RFoV اندروید ۷.۰ یا بالاتر
    ۳۱ سانتی‌متر - ۲۲ سانتی‌متر ۷۵ درجه بله پایه ماژولار، WFoV یا RFoV و ادغام حسگرها اندروید ۹ یا بالاتر
    ۲۲ سانتی‌متر یا کمتر ۷۵ درجه + ۹۵ درجه بله پایه ماژولار یا WFoV و ادغام حسگرها اندروید ۹ یا بالاتر
    ۱۱۰ سانتی‌متر - ۲۲ سانتی‌متر ۷۵ درجه + ۹۵ درجه + ۲۰ درجه بله پایه ماژولار و تله اکستنشن و فیوژن سنسور اندروید ۹ یا بالاتر
    ۱۱۰ سانتی‌متر - ۲۲ سانتی‌متر ۷۵ درجه + ۹۵ درجه + ۲۰ درجه بله پایه ماژولار و تله اکستنشن و فیوژن سنسور و دکل gen2
    ۲۲ سانتی‌متر یا کمتر قرص ۷۵ درجه + ۹۵ درجه خیر WFOV اندروید ۹ یا بالاتر

    سوال ۲: چگونه می‌توانم مشخص کنم که از کدام دستگاه تست استفاده می‌شود؟

    برای تعیین دستگاه تست صحیح، مطمئن شوید که پارامتر فاصله نمودار صحیح است. دستگاه تست rev1 (RFoV) دارای فاصله نمودار ۳۱ سانتی‌متر و دستگاه rev2 (WFoV) دارای فاصله نمودار ۲۲ سانتی‌متر است. به طور پیش‌فرض فاصله نمودار روی ۳۱ سانتی‌متر تنظیم شده است.

    اندروید ۱۰ تا اندروید ۱۱

    برای شناسایی تست ریگ صحیح در اندروید ۱۰ تا ۱۱، پرچم dist را در خط فرمان اضافه کنید. مقدار پیش‌فرض برای dist 31 است. دستور زیر را برای تغییر پارامتر chart_distance اجرا کنید.
    python tools/run_all_tests.py ... chart=# dist=22
    

    اندروید ۱۲ و بالاتر

    برای شناسایی Test Rig صحیح در اندروید ۱۲ و بالاتر، می‌توانید فایل config.yml را ویرایش کنید تا پارامتر chart_distance را تغییر دهید.
    edit config.yml
    chart_distance: 31.0 → chart_distance: 22.0
    

    سوال ۳: چگونه روشنایی تبلت را کنترل کنم؟

    به طور پیش فرض، روشنایی تبلت روی ۹۶ تنظیم شده است.

    برای تغییر روشنایی در تبلت‌های دارای اندروید ۷.۰ تا اندروید ۹، دستور زیر را اجرا کنید:

    edit tools/wake_up_screen.py
    DISPLAY_LEVEL=96 → DISPLAY_LEVEL=192
    

    برای تغییر روشنایی در تبلت‌های دارای اندروید ۱۰ تا ۱۱، می‌توان مقدار را در خط فرمان با اضافه کردن پرچم brightness تغییر داد:

    python tools/run_all_tests.py device=# camera=# chart=# brightness=192
    

    برای تغییر روشنایی در تبلت‌های دارای اندروید ۱۲ و بالاتر، دستور زیر را اجرا کنید:

    edit config.yml
    brightness: 96 → brightness: 192
    

    سوال ۴: چگونه می‌توانم یک تست را اشکال‌زدایی کنم؟

    تست‌ها می‌توانند به صورت جداگانه برای اهداف اشکال‌زدایی اجرا شوند، اما نتایج به CtsVerifier.apk گزارش نمی‌شوند، مگر اینکه کل صحنه اجرا شود.

    برای اجرای یک صحنه‌ی مجزا در اندروید ۱۱ و پایین‌تر:

    1. با اضافه کردن پرچم scenes در tools/run_all_tests.py ، یک صحنه را بارگذاری کنید:
      python tools/run_all_tests.py device=# camera=# chart=# scenes=#
      
    2. برای متوقف کردن تست‌ها پس از ثبت صحنه به عنوان بارگذاری شده در stdout کلیدهای Control+C را فشار دهید.

      اگر صحنه‌ی صحیح از قبل روی صفحه نمایش است، صفحه را بیدار کنید:

      python tools/wake_up_screen.py screen=#
      
    3. یک آزمون انفرادی اجرا کنید.

      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 ، در دایرکتوری محلی ذخیره می‌شوند.

    برای اجرای یک صحنه‌ی مجزا در اندروید ۱۲ و بالاتر:

    1. فایل config.yml را ویرایش کنید.

      edit config.yml
      camera: <camera-id> → camera:  0
      scene: <scene-name> → scene: scene1_1
    2. آزمون انفرادی را اجرا کنید.

      python tools/run_all_tests.py -c config.yml --test_bed TEST_BED_TABLET_SCENES
      

    نتایج در دایرکتوری /tmp/logs/mobly/TEST_BED_TABLET_SCENES/ چاپ می‌شوند که بر اساس زمان اجرا مرتب شده‌اند.

    سوال ۵: چرا باید تست‌های ناموفق را به جای اجرای مجدد تک تک تست‌ها، به صورت یک صحنه کامل اجرا کنم؟

    تست‌ها می‌توانند به صورت جداگانه برای اهداف اشکال‌زدایی اجرا شوند، اما نتایج به CtsVerifier.apk گزارش نمی‌شوند، مگر اینکه کل صحنه اجرا شود.

    سیستم ITS دوربین تضمین می‌کند که برنامه‌های شخص ثالث دارای رابط کاربری دوربین سازگار باشند. مشابه یک تست واحد ، هر تست بر یک مشخصه واحد در دوربین تأکید می‌کند. برای تشخیص رفتار غیرقابل اعتماد، انتظار می‌رود این تست‌ها به صورت گروهی برای کل صحنه پذیرفته شوند. به عنوان مثال، اگرچه یک تست غیرقابل اعتماد ممکن است در اجرای مجدد کل صحنه پذیرفته شود، اما برای چندین تست غیرقابل اعتماد، پذیرفته شدن دشوار است.

    به عنوان یک مثال افراطی، حالتی را در نظر بگیرید که در یک صحنه، 10 تست وجود دارد که هر کدام 50٪ احتمال بازگشت PASS دارند. با اجرای هر تست به صورت جداگانه، احتمال زیادی وجود دارد که اپراتور بتواند دوربین را در Camera ITS قبول کند. با این حال، اگر تست‌ها به صورت تجمیعی و به عنوان یک صحنه اجرا شوند، تنها 0.1٪ احتمال وجود دارد که صحنه قبول شود.

    سوال ۶: چگونه می‌توانم یک صحنه را اجرا کنم یا صحنه‌های اجرا شده را دوباره مرتب کنم؟

    به طور پیش‌فرض، اسکریپت tools/run_all_tests.py تمام صحنه‌ها را به ترتیب اجرا می‌کند. با این حال، صحنه‌ها می‌توانند به صورت جداگانه یا با ترتیب مشخص اجرا شوند و به CtsVerifier.apk گزارش شوند.

    برای اجرای یک صحنه‌ی منفرد (مثلاً صحنه‌ی ۲) یا اجرای بیش از یک صحنه با ترتیبی خاص در اندروید ۱۱ یا پایین‌تر:

    python tools/run_all_tests.py device=# camera=# chart=# scenes=2
    
    python tools/run_all_tests.py device=# camera=# chart=# scenes=3,2
    

    برای اجرای یک صحنه‌ی منفرد یا اجرای بیش از یک صحنه با ترتیبی خاص در اندروید ۱۲ و بالاتر:

    python tools/run_all_tests.py scenes=2
    
    python tools/run_all_tests.py scenes=3,2
    

    پارامترهای اضافی در فایل config.yml تنظیم شده‌اند.

    سوال ۷: تعدادی از تست‌های صحنه ۱ با راه‌اندازی تبلت شکست می‌خورند اما با نمودار کاغذی قبول می‌شوند. مشکل چیست؟

    مطمئن شوید که تبلت و محیط آزمایش مشخصات زیر را دارند.

    مشخصات تبلت

    مطمئن شوید که تبلت مشخصات زیر را دارد:

    • اندازه صفحه نمایش (اینچ): 10 اینچ
    • اندازه صفحه نمایش (پیکسل): بزرگتر از ۱۹۲۰ در ۱۲۰۰ پیکسل

    برای جزئیات بیشتر، به الزامات تبلت مراجعه کنید.

    روشنایی تبلت

    اگر روشنایی صفحه نمایش تبلت خیلی کم باشد، ممکن است آزمایش‌ها نتایج درستی به دست نیاورند.

    برای جزئیات بیشتر، به «چگونه روشنایی تبلت را کنترل کنم؟» مراجعه کنید.

    سطح روشنایی جعبه (نیاز به لوکس متر)

    مطمئن شوید که مقدار لوکس مورد نظر در هنگام باز شدن تبلت بین ۱۰۰ تا ۳۰۰ باشد.

    اگر سطح لوکس خیلی بالا باشد، scene1/test_param_flash_mode.py FAIL را برمی‌گرداند. اگر سطح لوکس خیلی پایین باشد، چندین تست با شکست مواجه می‌شوند.

    سوال ۸: چگونه می‌توانم تست‌های فیوژن سنسور را اشکال‌زدایی کنم؟

    1. مطمئن شوید که در یک گروه dialout هستید.

      groups | egrep ‘dialout'
    2. با بررسی اتصال Microchip Technology به پورت USB، از اتصال کنترلر فیوژن سنسور اطمینان حاصل کنید.

      lsusb
      …
      Bus 003 Device 004: ID 04d8:fc73 Microchip Technology, Inc.
      …
      
    3. برای دریافت توزیع تلاش‌های آزمایشی با استفاده از دستورات زیر، چندین بار آزمون را اجرا کنید.

      در اندروید ۱۱ یا پایین‌تر:

      python tools/run_sensor_fusion_box.py device=A camera=0 num_runs=10 rotator=default
      

      در اندروید ۱۲ و بالاتر:

      python tools/run_sensor_fusion_box.py num_runs=10
      

      پارامترهای اضافی در فایل config.yml تنظیم شده‌اند.

      خروجی‌های اجرا در پوشه /tmp/tmp### ایجاد شده در زیر پوشه‌های sensor_fusion_# قرار دارند، که در آن # شماره اجرا است. دلایل رایج شکست عبارتند از:

      1. گوشی به درستی در مرکز قرار نگرفته است.
      2. ویژگی‌های کافی در تصویر یافت نمی‌شود (اغلب مشکل میدان دید (FoV) یا روشنایی است).
      3. خطای ناموفق FAIL برگردانده شده معتبر است و اختلاف زمانی بین دوربین و ژیروسکوپ باید اصلاح شود.

    سوال ۹: هنگام گزارش یک اشکال در آزمایش، چه اطلاعاتی باید ارائه دهم؟

    هنگام گزارش یک اشکال آزمایشی، فایل‌ها و تصاویر تولید شده برای آزمایش را نیز ضمیمه کنید.

    1. اگر تست را از طریق tools/run_all_tests.py اجرا کرده‌اید، یک دایرکتوری فشرده /tmp/ را به باگ پیوست کنید.
    2. اگر تست را به تنهایی اجرا کرده‌اید، تمام خروجی‌های صفحه نمایش و تصاویر تولید شده را به باگ پیوست کنید.

    همچنین یک گزارش اشکال (bug report) نیز اضافه کنید. پس از اینکه تست مورد نظر با شکست مواجه شد، از دستور زیر برای ایجاد یک گزارش اشکال (bug report) استفاده کنید و فایل فشرده (zip file) تولید شده را به اشکال پیوست کنید.

    adb -s device_id bugreport
    

    سوال ۱۰: چگونه می‌توانم یک صحنه تست sensor_fusion را با دوربینی اجرا کنم که حداقل فاصله فوکوس آن در فاصله ۲۵ سانتی‌متری از نمودار، تصاویر تار ایجاد می‌کند؟

    If your camera can't focus at a distance of 25 cm, remove the chart-mounting panel of the sensor fusion box. Place the chart at a distance where the DUT can focus and change chart_distance in config.yml to the measured distance between the DUT and the chart. Figure 5 shows an example of how to measure the chart distance in this situation.

    sensor_fusion تست TELE مثال6
    شکل 5. فاصله جدول اندازه‌گیری برای صحنه آزمایش ادغام حسگرها
      edit config.yml
    chart_distance: 25 → chart_distance: DISTANCE_BETWEEN_DUT_AND_CHART
    

    سوال ۱۱: چگونه می‌توانم صحنه‌های تست تبلت را برای دوربینی با حداقل فاصله فوکوس که تصاویر تار در فاصله نمودار ۳۱ سانتی‌متری ایجاد می‌کند، اجرا کنم؟

    اگر دوربین شما نمی‌تواند تصاویر به اندازه کافی واضحی را در آزمایش در فاصله ۳۱ سانتی‌متری (عمق دستگاه آزمایش RFoV) تولید کند، دوربین خود را در جلوی دستگاه و در فاصله‌ای نصب کنید که صحنه نمودار تقریباً ۶۰٪ از میدان دید دوربین (FoV) را با تصاویر واضح‌تر پر کند. این فاصله می‌تواند کمتر از حداقل فاصله فوکوس دوربین باشد. مقدار chart_distance در config.yml روی ۳۱ سانتی‌متر بگذارید. مقیاس‌بندی نمودار روی تبلت توسط FoV دوربین تعیین می‌شود، همانطور که در جدول زیر نشان داده شده است:

    دوربین دید گسترده ضریب مقیاس‌بندی نمودار
    ۶۰ > میدان دید > ۴۰ ۰.۶۷x
    ۴۰ > میدان دید > ۲۵ ۰.۵ برابر
    میدان دید < 25 ۰.۳۳x

    سوال ۱۲: با API منطقی چند دوربینه، کدام تست‌ها روی کدام دوربین‌ها اجرا می‌شوند؟

    اگر دوربین شما از REQUEST_AVAILABLE_CAPABILITIES_LOGICAL_MULTI_CAMERA استفاده می‌کند، تمام تست‌های ITS پشتیبانی‌شده روی دوربین منطقی سطح بالا اجرا می‌شوند. زیرمجموعه‌ای از تست‌های ITS روی زیردوربین‌های فیزیکی اجرا می‌شوند و این تست‌ها در tools/run_all_tests.py تحت ثابت SUB_CAMERA_TESTS فهرست شده‌اند.