تست پلتفرم اندروید

این محتوا برای توسعه دهندگان پلتفرم اندروید طراحی شده است. قبل از درک نحوه انجام تست بر روی پلتفرم اندروید، لطفاً برای بررسی کلی به معماری پلتفرم اندروید مراجعه کنید.

سپس به فناوری‌های دقیقی که در این بخش در دسترس شما هستند، مانند مجموعه تست فروشنده (VTS) و آموزش‌های ویدیویی و کدهای بی‌شمار آن، بپردازید.

همچنین به مکانیسم‌های تست امنیتی خاص موجود برای شناسایی و سخت‌تر کردن دستگاه‌هایتان در برابر آسیب‌پذیری‌ها توجه کنید.

برای آزمایش برنامه، با مبانی تست شروع کنید و با استفاده از نمونه‌های ارائه‌شده ، Android Testing Codelab را انجام دهید.

در نهایت، توجه داشته باشید که تست اولیه پیش ارسال از طریق Repo Hooks در دسترس شما است که می‌تواند قبل از ادامه، مانند آپلود یک commit، لینترها، قالب‌بندی را بررسی کرده و آزمایش‌های واحد را راه‌اندازی کند. توجه داشته باشید که این قلاب ها به طور پیش فرض غیرفعال هستند. برای جزئیات بیشتر به معرفی Repo Hooks مراجعه کنید.

چه چیزی و چگونه تست کنیم

یک تست پلتفرم معمولاً با یک یا چند سرویس سیستم Android یا لایه‌های لایه انتزاعی سخت‌افزار (HAL) در تعامل است، عملکردهای موضوع مورد آزمایش را اعمال می‌کند و صحت نتیجه آزمایش را تأیید می‌کند.

به این ترتیب، آزمایش پلت فرم ممکن است:

  1. APIهای چارچوب تمرین از طریق چارچوب برنامه. APIهای خاص در حال اجرا ممکن است شامل موارد زیر باشد:
    • API های عمومی در نظر گرفته شده برای برنامه های شخص ثالث
    • API های مخفی که برای برنامه های کاربردی ممتاز، یعنی API های سیستم در نظر گرفته شده اند
    • APIهای خصوصی (@hide، یا محافظت شده، بسته خصوصی)
  2. خدمات سیستم اندروید را مستقیماً از طریق بایندر/پراکسی های IPC خام فراخوانی کنید
  3. به طور مستقیم با HAL ها از طریق API های سطح پایین یا رابط های IPC تعامل کنید

نوع 1 و 2 معمولاً به عنوان تست ابزار دقیق نوشته می شود، در حالی که نوع 3 معمولاً به عنوان GTests نوشته می شود.

برای کسب اطلاعات بیشتر، نمونه‌های سرتاسری ما را ببینید:

با این ابزارها آشنا شوید، زیرا این ابزارها برای آزمایش در اندروید ذاتی هستند.

مجموعه تست سازگاری (CTS)

مجموعه تست سازگاری اندروید مجموعه‌ای از انواع مختلف تست‌ها است که برای اطمینان از سازگاری پیاده‌سازی چارچوب Android در بین شرکای OEM و نسخه‌های پلتفرم استفاده می‌شود. این مجموعه همچنین شامل تست های ابزار دقیق و چارچوب GTest است.

تست‌های CTS و پلت‌فرم متقابلاً انحصاری نیستند و در اینجا چند دستورالعمل کلی وجود دارد:

  • اگر آزمایشی صحت توابع/رفتارهای API چارچوب را تأیید می‌کند و باید در شرکای OEM اجرا شود، باید در CTS باشد.
  • اگر آزمایشی برای گرفتن رگرسیون در طول چرخه توسعه پلتفرم در نظر گرفته شده است، و ممکن است برای انجام به مجوز ممتاز نیاز داشته باشد، و ممکن است به جزئیات پیاده سازی وابسته باشد (همانطور که در AOSP منتشر شده است)، فقط باید آزمایش های پلت فرم باشد.

مجموعه تست فروشنده (VTS)

مجموعه تست فروشنده (VTS) تست هسته HAL و OS را خودکار می کند. برای استفاده از VTS برای آزمایش پیاده‌سازی سیستم اندروید داخلی، یک محیط آزمایشی راه‌اندازی کنید و سپس با استفاده از طرح VTS یک وصله را آزمایش کنید.

زیرساخت تست فدراسیون تجارت

Trade Federation (به اختصار Tradefed یا TF) یک چارچوب آزمایشی پیوسته است که برای اجرای آزمایش‌ها در دستگاه‌های اندرویدی طراحی شده است. TF می‌تواند تست‌های عملکردی را به صورت محلی، روی میز شما، در صندوق پلتفرم شما اجرا کند. دو فایل مورد نیاز برای اجرای تست در TF وجود دارد، یک منبع تست جاوا و یک پیکربندی XML. برای مثال RebootTest.java و reboot.xml را ببینید.

اشکال زدایی

بخش Debugging ابزارهای مفید و دستورات مرتبط را برای اشکال زدایی، ردیابی و پروفایل کد داخلی پلتفرم اندروید هنگام توسعه ویژگی های سطح پلت فرم خلاصه می کند.