CTS را بهینه کنید

مجموعه تست سازگاری اندروید (CTS) میلیون‌ها تست مجزا ارائه می‌دهد. اگرچه اجرای مکرر CTS در طول مرحله توسعه نرم‌افزار ضروری است، اما می‌توان زمان لازم برای اجرای این تست‌ها را کوتاه کرد.

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

دستگاه‌های شاردینگ

برای کاهش زمان چرخه، اجرای CTS را روی چندین دستگاه (sharding) در نظر بگیرید. برای مشاهده نحوه استفاده از sharding، Run CTS tests را مرور کنید.

ایستگاه تست اندروید

از ایستگاه تست اندروید (ATS) برای به‌کارگیری یک رابط کاربری جهت اجرای مجموعه‌های تست استاندارد اندروید استفاده کنید. این ابزار به عنوان یک رابط وب برای فدراسیون تجارت (TF) عمل می‌کند و به شما امکان می‌دهد CTS را با حداقل تنظیمات روی مجموعه‌ای از دستگاه‌های تست اجرا کنید و همچنین برنامه‌ای برای اجرای مداوم تست‌ها ایجاد کنید.

ایستگاه تست اندروید از حالت چند میزبانه پشتیبانی می‌کند که در آن می‌توان از یک میزبان کنترل‌کننده ATS برای مدیریت دستگاه‌ها و آزمایش‌ها روی چندین میزبان کارگر ATS استفاده کرد.

اجرای مداوم شبیه‌ساز

برای اجرای مداوم CTS در طول مرحله توسعه، می‌توان از دستگاه‌های مجازی اندروید (AVD) به عنوان جایگزینی برای سخت‌افزار استفاده کرد. می‌توان رگرسیون‌های مربوط به شکست‌های تست را زود شناسایی کرد و در نتیجه در زمان مورد نیاز برای اولویت‌بندی و تحلیل علل ریشه‌ای صرفه‌جویی کرد. می‌توان از چندین نمونه از شبیه‌ساز برای شاردینگ استفاده کرد و آن را طوری برنامه‌ریزی کرد که به طور مداوم با ایستگاه تست اندروید اجرا شود.

برنامه کیفیت drawElements (dEQP)

برنامه کیفیت drawElements (dEQP) در CTS اندروید گنجانده شده است. این برنامه که CtsDepqTestCases نام دارد، بر پوشش تست گرافیک اندروید تمرکز دارد. این ماژول تقریباً 80٪ از کل موارد تست در CTS اندروید را تشکیل می‌دهد و 6٪ از کل زمان اجرا را به خود اختصاص می‌دهد.

از آنجایی که درایورهای گرافیکی اندروید بخشی از فریمور اندروید (BSP) هستند و در طول توسعه تغییر زیادی نمی‌کنند، می‌توانید این ماژول را به صورت استراتژیک اجرا کنید. به عنوان مثال، اگر CTS را هر دو هفته (یا کمتر) در طول توسعه نرم‌افزار اجرا می‌کنید، بر اساس برنامه به‌روزرسانی فریمور، می‌توانید این ماژول را برای چندین چرخه حذف کنید.

یک گزینه این است که CtsDeqpTestCases به طور جداگانه روی مجموعه‌ای از دستگاه‌ها اجرا کنید و سپس گزارش‌های CTS را ارسال کنید. به عنوان مثال، روی دو میزبان مختلف.

میزبان ۱:

cts-tf > run cts --max-log-size 100 --shard-count 6 -o -m CtsDeqpTestCases

میزبان ۲:

cts-tf > run cts --max-log-size 100 --shard-count 6 -o --exclude-filter CtsDeqpTestCases

موارد آزمون رسانه‌ای

موارد تست رسانه، سرویس‌های چندرسانه‌ای مانند صدا، تصویر و درایورهای چندرسانه‌ای را تأیید می‌کنند. این ماژول‌های تست چندرسانه‌ای بیشترین سهم را در زمان اجرای CTS دارند. تأخیرها می‌توانند زمانی رخ دهند که:

  • دانلود فایل‌های رسانه‌ای یا پخش مکرر فایل‌های رسانه‌ای در طول آزمایش‌ها.
  • تلاش مجدد برای موارد آزمایشی شکست خورده.

CTS اندروید شامل این ماژول‌های آزمایشی است:

  • CtsMediaStressTestCases
  • CtsMediaPlayerTestCases
  • CtsMediaAudioTestCases
  • CtsVideoTestCases
  • CtsMediaDecoderTestCases
  • CtsMediaCodecTestCases
  • CtsMediaV2TestCases

اجرای برخی تست‌های رسانه‌ای را به صورت محلی یا روی یک سرور محلی در نظر بگیرید. برای جزئیات بیشتر، به «اجرای تست‌های رسانه‌ای CTS به صورت محلی» مراجعه کنید.

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