مجموعه تست سازگاری (CTS) یک مجموعه آزمایشی رایگان و تجاری است که توسط سازندگان دستگاه برای کمک به اطمینان از سازگاری دستگاههایشان و گزارش نتایج آزمایش برای تأیید اعتبار استفاده میشود. CTS در نظر گرفته شده است که در جریان کار روزانه (مانند از طریق یک سیستم ساخت مداوم) مهندسان سازنده یک دستگاه یکپارچه شود. هدف CTS این است که ناسازگاریها را زودتر آشکار کند و اطمینان حاصل کند که نرمافزار در طول فرآیند توسعه سازگار است.
CTS برای دانلود به صورت باینری یا به عنوان منبع در پروژه منبع باز Android (AOSP) در دسترس است. CTS روی یک ماشین دسکتاپ اجرا می شود و موارد تست را مستقیماً روی دستگاه های متصل یا شبیه ساز اجرا می کند.
CTS شامل دو جزء اصلی نرم افزاری است:
- مهار تست فدراسیون تجارت بر روی دستگاه دسکتاپ شما اجرا می شود و اجرای آزمایش را مدیریت می کند. Trade Federation این امکان را ارائه می دهد که تست ها را در چندین دستگاه تحت آزمایش (DUT) تقسیم بندی کنید . همچنین میتوانید از ویژگی امتحان مجدد مجموعه فقط برای امتحان مجدد خرابیها به جای مجموعههای کامل استفاده کنید، که زمان اجرای مجدد را تا حد زیادی کاهش میدهد.
- موارد آزمایش فردی در DUT اجرا می شوند. موارد تست در جاوا بهعنوان تستهای JUnit و فایلهای Android .apk بستهبندی شدهاند تا روی هدف واقعی دستگاه اجرا شوند.
تأییدکننده مجموعه تست سازگاری (تأییدکننده CTS)
تأیید کننده مجموعه تست سازگاری (CTS Verifier) مکملی برای CTS است که برای دانلود در دسترس است. CTS Verifier تست هایی را برای API ها و عملکردهایی ارائه می دهد که بدون ورودی دستی (مثلاً کیفیت صدا و شتاب سنج) یا موقعیت یابی دستی نمی توانند روی یک دستگاه ثابت آزمایش شوند.
CTS Verifier ابزاری برای تست دستی است و شامل اجزای نرم افزار زیر است:
برنامه CTS Verifier که روی DUT (و در دستگاه دوم برای الزامات اندازهگیری فاصله) اجرا میشود و نتایج را جمعآوری میکند.
فایل(های) اجرایی یا اسکریپت(هایی) که بر روی دستگاه دسکتاپ اجرا می شوند تا داده ها یا کنترل اضافی را برای برخی موارد آزمایشی در برنامه CTS Verifier ارائه دهند.
جریان کار
![جریان CTS](https://source.android.com/static/docs/compatibility/cts/images/cts-0.png?authuser=4&hl=fa)
شکل 1. نحوه استفاده از CTS
این نمودار گردش کار CTS را خلاصه می کند. لطفاً برای دستورالعمل های دقیق به صفحات فرعی این بخش که با راه اندازی شروع می شود مراجعه کنید.
انواع موارد تست
CTS شامل انواع موارد زیر است:
- واحد تست واحدهای اتمی کد در پلتفرم اندروید. به عنوان مثال یک کلاس واحد، مانند java.util.HashMap.
تست های عملکردی ترکیبی از API ها را با هم در یک مورد استفاده سطح بالاتر آزمایش می کنند.
پوشش آزمون واحد
موارد تست واحد حوزه های زیر را برای اطمینان از سازگاری پوشش می دهد:
حوزه | شرح |
---|---|
تست های امضا | برای هر نسخه اندروید، فایلهای XML وجود دارد که امضای همه APIهای عمومی موجود در نسخه را توصیف میکند. CTS حاوی ابزاری برای بررسی آن امضاهای API در برابر APIهای موجود در دستگاه است. نتایج بررسی امضا در فایل XML نتیجه آزمون ثبت می شود. |
تست های پلتفرم API | APIهای پلتفرم (کتابخانههای هسته و چارچوب برنامه Android) را همانطور که در فهرست SDK Class مستند شده است آزمایش کنید تا از صحت API، از جمله امضاهای کلاس، ویژگی و روش صحیح، رفتار روش صحیح و آزمایشهای منفی اطمینان حاصل کنید تا از رفتار مورد انتظار برای کنترل نادرست پارامتر اطمینان حاصل کنید. |
تست های دالویک | تمرکز این آزمون ها بر روی آزمایش فرمت اجرایی Dalvik است. |
مدل داده پلتفرم | CTS مدل دادههای پلتفرم اصلی را که از طریق ارائهدهندگان محتوا در معرض توسعهدهندگان برنامه قرار میگیرد، همانطور که در بسته SDK android.provider مستند شده است، آزمایش میکند: مخاطبین، مرورگر، تنظیمات و غیره. |
اهداف پلتفرم | CTS اهداف پلت فرم اصلی را همانطور که در SDK Intent های موجود مستند شده است آزمایش می کند. |
مجوزهای پلتفرم | CTS مجوزهای پلتفرم اصلی را، همانطور که در مجوزهای موجود SDK مستند شده است، آزمایش می کند. |
منابع پلتفرم | CTS برای مدیریت صحیح انواع منابع پلت فرم اصلی، همانطور که در انواع منابع موجود SDK مستند شده است، آزمایش می کند. این شامل تست هایی برای: مقادیر ساده، قابل ترسیم، نه وصله، انیمیشن ها، چیدمان ها، سبک ها و تم ها، و بارگیری منابع جایگزین می شود. |