این صفحه دستورالعملهای استفاده از CTS مبتنی بر توسعهدهنده (CTS-D) را تشریح میکند.
پوشش تست
CTS-D، مانند CTS و CTS Verifier، فقط میتواند موارد زیر را اعمال کند:
- همه APIهای عمومی که در SDK توسعه دهنده (developer.android.com) برای سطح API خاصی توضیح داده شده اند.
- همه الزامات MUST که در سند تعریف سازگاری Android (CDD) برای یک سطح API خاص گنجانده شده است.
الزامات غیر ضروری، مانند STRONGLY RECOMMENDED، SHOULD، MAY، اختیاری هستند و با استفاده از CTS قابل آزمایش نیستند.
از آنجایی که همه APIها و الزامات CDD به یک سطح API خاص مرتبط هستند، همه آزمایشهای CTS (CTS، CTS-D، و CTS Verifier) به همان سطح API مرتبط با APIها یا الزامات مرتبط هستند. اگر یک API خاص منسوخ یا تغییر کند، آزمایش مربوطه آن باید منسوخ یا بهروزرسانی شود.
قوانین ایجاد آزمون CTS
- یک آزمون باید همان نتیجه عینی را به طور مداوم ایجاد کند.
- یک آزمایش باید با آزمایش یک بار خارج از جعبه مشخص کند که آیا یک دستگاه موفق می شود یا ناموفق.
- سازندگان آزمون باید همه عوامل احتمالی را که میتوانند بر نتایج آزمایش تأثیر بگذارند حذف کنند.
- اگر دستگاهی به شرایط سخت افزاری/محیط/تنظیم خاصی نیاز دارد، این تنظیمات باید به وضوح در پیام commit تعریف شود. برای مثال دستورالعملهای راهاندازی، به تنظیم CTS مراجعه کنید.
- آزمون نباید بیش از 6 ساعت در یک زمان اجرا شود. اگر نیاز است مدت بیشتری اجرا شود، لطفاً استدلال را در پروپوزال آزمایشی خود وارد کنید تا بتوانیم آن را بررسی کنیم.
در زیر مجموعه نمونه ای از شرایط آزمایش برای آزمایش محدودیت برنامه آورده شده است:
- Wifi پایدار است (برای آزمایشی که به Wifi متکی است).
- دستگاه در طول آزمایش ثابت می ماند (یا نه، بسته به آزمایش).
- دستگاه از هر منبع تغذیه ای با X درصد از سطح باتری جدا شده است.
- به جز CTS، هیچ برنامه، سرویس پیشزمینه یا سرویس پسزمینه در حال اجرا نیست.
- هنگام اجرای CTS صفحه خاموش است.
- دستگاه
isLowRamDevice
نیست. - محدودیت های صرفه جویی در باتری / برنامه از حالت "خارج از جعبه" تغییر نکرده است.
واجد شرایط بودن آزمون
ما آزمایشهای جدیدی را میپذیریم که رفتاری را اعمال میکنند که توسط آزمایشهای CTS، CTS Verifier یا CTS-D موجود آزمایش نشده است. هر آزمونی که رفتاری خارج از محدوده پوشش آزمون ما را بررسی کند رد خواهد شد.
فرآیند ارسال CTS
- یک پیشنهاد آزمایشی بنویسید: یک توسعهدهنده برنامه با استفاده از Google Issue Tracker یک پیشنهاد آزمایشی ارائه میکند و مشکل شناساییشده را شرح میدهد و آزمایشی برای بررسی آن پیشنهاد میکند. پیشنهاد باید شامل شناسه الزام CDD مرتبط باشد. تیم اندروید پیشنهاد را بررسی می کند.
- توسعه یک آزمون CTS: پس از تایید یک پروپوزال، ارسال کننده آن یک آزمون CTS در AOSP در شاخه اصلی (AOSP/Main) ایجاد می کند. تیم اندروید کد را بررسی می کند.
- انتشار تست: CL خود را در
AOSP/main
ارسال کنید و سپس آن را به آخرین شاخهandroidx-tests-dev
انتخاب کنید. این آزمایش اکنون برای عموم در دسترس است.
دستورالعمل نوشتن آزمون CTS-D
- راهنمای سبک کد جاوا را دنبال کنید.
- تمام مراحل توضیح داده شده در توسعه CTS را دنبال کنید.
- تست های خود را به طرح آزمون مناسب اضافه کنید:
- برای افزودن آزمایشهای جدید خود به طرح آزمایشی CTS-D
include-filters
استفاده کنید:platform/cts/tools/cts-tradefed/res/config/cts-developer.xml
. - از
exclude-filters
استفاده کنید تا آزمایشهای جدید خود را از طرح اصلی آزمایش CTS حذف کنید:platform/cts/tools/cts-tradefed/res/config/cts-developer-exclude.xml
.
- برای افزودن آزمایشهای جدید خود به طرح آزمایشی CTS-D
- همه هشدارها و پیشنهادات
errorprone
درbuild_error.log
را مدیریت کنید. - تغییرات خود را به
head
تغییر دهید. این شامل طرحهای آزمایشیcts-developer.xml
وcts-developer-exclude.xml
میشود. - با مخاطب مهندسی Google خود کار کنید تا مشخص کنید که آیا مورد آزمایشی شما می تواند در یک ماژول CTS موجود گنجانده شود یا خیر. اگر نمی تواند، آنها به شما کمک می کنند یک ماژول جدید ایجاد کنید.
- برای هر ماژول تست جدید ایجاد شده، یک فایل OWNERS در فهرست ماژول تست جدید ایجاد کنید.
- فایل OWNERS شما باید حاوی اطلاعات زیر باشد که از مالک آزمایشی Google که با آن کار می کنید به دست آمده است:
-
# Bug component: xxx
- ldap مالک تست گوگل
- در
AndroidTest.xml
، پارامترهای زیر را مشخص کنید. برای نمونه به فایل های نمونه ( 1 , 2 ) مراجعه کنید:-
Instant_app
یاnot_instant_app
-
secondary_user
یاnot_secondary_user
-
all_foldable_states
یاno_foldable_states
-
- برای تعیین minSDK صحیح، به مستندات <uses-sdk> مراجعه کنید.
- هنگام بررسی روشها، کلاسها یا ماژولهای جدید آزمون، آنها را به برنامه آزمون CTS-D اضافه کنید و مانند آزمونهای جدید، آنها را از طرح آزمون اصلی CTS حذف کنید.
تست CTS-D خود را اجرا کنید
برنامه آزمایشی CTS-D را از خط فرمان با استفاده از run cts --plan cts-developer
اجرا کنید.
برای اجرای یک تست خاص، run cts --include-filter "test_module_name test_name"
استفاده کنید.
برای اطلاعات در مورد اجرای کامل CTS، به اجرای آزمایشات CTS مراجعه کنید.
پذیرش و رهایی
هنگامی که یک درخواست آزمایشی ارسال شد، یک تیم داخلی آن را بررسی می کند تا مطمئن شود که یک الزام CDD یا یک رفتار API مستند را آزمایش می کند. اگر مشخص شود که آزمایش برای یک نیاز یا رفتار معتبر بررسی میشود، تیم این مورد آزمایشی را برای بررسی بیشتر به یک مهندس Google ارسال میکند. مهندس Google با بازخوردی درباره نحوه بهبود آزمون قبل از پذیرش در CTS با شما تماس خواهد گرفت.
برای جزئیات بیشتر در مورد زمان بندی انتشار CTS، برنامه زمان بندی انتشار و اطلاعات شعبه را ببینید.