این محتوا برای توسعه دهندگان پلتفرم اندروید طراحی شده است. قبل از درک نحوه انجام تست بر روی پلتفرم اندروید، لطفاً برای بررسی کلی به معماری پلتفرم اندروید مراجعه کنید.
سپس به فناوریهای دقیقی که در این بخش برای شما در دسترس است، مانند مجموعه تست فروشنده (VTS) و آموزشهای ویدیویی و کدهای بیشمار آن بپردازید.
همچنین به مکانیسمهای تست امنیتی ویژه موجود برای شناسایی و سختتر کردن دستگاههایتان در برابر آسیبپذیریها توجه کنید.
برای آزمایش برنامه، با مبانی تست شروع کنید و با استفاده از نمونههای ارائهشده، Codelab Testing Android را انجام دهید.
در نهایت، توجه داشته باشید که تست اولیه پیش ارسال از طریق Repo Hooks در دسترس شما است که میتواند قبل از ادامه، مانند آپلود یک commit، لینترها، قالببندی و آزمایشهای واحد را بررسی کند. توجه داشته باشید که این قلاب ها به طور پیش فرض غیرفعال هستند. برای جزئیات بیشتر به معرفی Repo Hooks مراجعه کنید.
چه چیزی و چگونه تست کنیم
یک تست پلتفرم معمولاً با یک یا چند سرویس سیستم Android یا لایههای لایه انتزاعی سختافزار (HAL) در تعامل است، عملکردهای موضوع مورد آزمایش را اعمال میکند و صحت نتیجه آزمایش را تأیید میکند.
به این ترتیب، آزمایش پلت فرم ممکن است:
- APIهای چارچوب تمرین از طریق چارچوب برنامه. API های خاص در حال اجرا ممکن است شامل موارد زیر باشد:
- API های عمومی در نظر گرفته شده برای برنامه های شخص ثالث
- API های مخفی که برای برنامه های کاربردی ممتاز، یعنی API های سیستم در نظر گرفته شده اند
- APIهای خصوصی (@hide، یا محافظت شده، بسته خصوصی)
- خدمات سیستم اندروید را مستقیماً از طریق بایندر/پراکسی های IPC خام فراخوانی کنید
- به طور مستقیم با 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 ابزارهای مفید و دستورات مرتبط را برای اشکال زدایی، ردیابی و نمایه سازی کد داخلی پلتفرم اندروید هنگام توسعه ویژگی های سطح پلت فرم خلاصه می کند.