অ্যান্ড্রয়েড কম্প্যাটিবিলিটি টেস্ট স্যুট ভেরিফায়ার (CTS Verifier) কম্প্যাটিবিলিটি টেস্ট স্যুট (CTS)-এর পরিপূরক হিসেবে কাজ করে। CTS যেখানে স্বয়ংক্রিয়ভাবে করা যায় এমন API এবং ফাংশনগুলো পরীক্ষা করে, সেখানে CTS Verifier এমন সব API এবং ফাংশনের জন্য পরীক্ষা প্রদান করে যা ম্যানুয়াল ইনপুট বা অবস্থান নির্ধারণ ছাড়া কোনো স্থির ডিভাইসে পরীক্ষা করা যায় না; যেমন অডিওর মান, টাচস্ক্রিন, অ্যাক্সেলেরোমিটার এবং ক্যামেরা।
প্রয়োজনীয়তা
CTS Verifier চালানোর আগে, নিশ্চিত করুন যে আপনার কাছে নিম্নলিখিত সরঞ্জামগুলি রয়েছে:
- অ্যান্ড্রয়েড-চালিত ডিভাইস যা CTS পরীক্ষায় উত্তীর্ণ হওয়ার মাধ্যমে অ্যান্ড্রয়েড এপিআই (API) সামঞ্জস্যতা যাচাই করেছে। এটিই পরীক্ষাধীন ডিভাইস (DUT)।
- ইউএসবি ২.০ সামঞ্জস্যপূর্ণ পোর্টসহ একটি লিনাক্স কম্পিউটার। ডিইউটি-এর সাথে সমস্ত সংযোগ এই পোর্টের মাধ্যমেই করা হয়।
- দ্বিতীয় অ্যান্ড্রয়েড-চালিত ডিভাইস, যেটিতে পরিচিত ও সামঞ্জস্যপূর্ণ ব্লুটুথ, ওয়াই-ফাই ডিরেক্ট, ওয়াই-ফাই অ্যাওয়্যার, ইউডব্লিউবি (যদি ডিভাইসটি ইউডব্লিউবি সমর্থন করে), এবং এনএফসি হোস্ট কার্ড এমুলেশন (এইচসিই) বাস্তবায়ন রয়েছে।
- অ্যাক্সেস পয়েন্ট নেম এবং পাসওয়ার্ড দিয়ে কনফিগার করা একটি ওয়াই-ফাই রাউটার। রাউটারটির পাওয়ার বন্ধ না করেই ইন্টারনেট থেকে সংযোগ বিচ্ছিন্ন করার ক্ষমতা থাকা উচিত।
UWB, Wi-Fi NAN, এবং Bluetooth RSSI-এর দূরত্ব (প্রক্সিমিটি) পরিমাপ পরীক্ষার জন্য প্রয়োজনীয় ট্রাইপড, ডিভাইস হোল্ডার এবং পূর্ব-পরিমাপ করা দূরত্বগুলোও প্রস্তুত করে নিন। বিস্তারিত জানতে, প্রেজেন্স ক্যালিব্রেশন দেখুন।
NFC পরীক্ষার জন্য UICC-এর প্রয়োজনীয়তা
CTS Verifier-এ নিম্নলিখিত NFC টেস্ট কেসগুলো রয়েছে:
- ফিল্ড-অফ (0x54 থেকে লেনদেনের ডেটা ব্যবহার করে)
- নির্বাচন বাতিল করুন (0x52 থেকে লেনদেনের ডেটা ব্যবহার করে)
- HCI কমান্ড (0025000000) (0x02 থেকে লেনদেনের ডেটা ব্যবহার করে)
ট্রানজ্যাকশন ইভেন্ট টেস্টের জন্য দুটি ডিভাইসের প্রয়োজন, যার মধ্যে একটিতে অবশ্যই নিম্নলিখিত অ্যাক্সেস নিয়মসহ SecureElement UICC থাকতে হবে:
- CtsVerifier APK হ্যাশ: 61:ED:37:7E:85:D3:86:A8:DF:EE:6B:86:4B:D8:5B:0B:FA:A5:AF:81
- NFC ইভেন্ট অ্যাক্সেসের জন্য অনুমোদিত অ্যাপ্লিকেশন শনাক্তকারী (AID): 0xA000000476416E64726F696443545341
এমুলেটরের দিকে, আমরা আশা করি যে ট্রানজ্যাকশন ইভেন্টটি সংশ্লিষ্ট অ্যাক্টিভিটিকে ফোরগ্রাউন্ডে নিয়ে আসবে।
সেটআপ
নিম্নলিখিতভাবে পরীক্ষাধীন ডিভাইসটির সিস্টেম নেভিগেশন মোডকে থ্রি-বাটন মোডে পরিবর্তন করুন:
- সেটিংস খুলুন।
- সিস্টেম > জেসচার > সিস্টেম নেভিগেশন- এ যান।
- যেকোনো বাটন-ভিত্তিক নেভিগেশন মোড নির্বাচন করুন, উপলব্ধ থাকলে তিন-বাটন মোড অধিকতর পছন্দনীয়।
CTS ভেরিফায়ার টেস্টিং এনভায়রনমেন্ট সেট আপ করতে:
লিনাক্স কম্পিউটারে:
- নন-এসডিকে ইন্টারফেসে অ্যাক্সেসের অনুমতি দেওয়ার জন্য CTS ভেরিফায়ার ইনস্টল করার আগে নিম্নলিখিত কমান্ডটি চালান।
adb shell settings put global hidden_api_policy 1অ্যান্ড্রয়েড স্টুডিও ইনস্টল করুন।
পরীক্ষার জন্য প্রয়োজনীয় অ্যান্ড্রয়েড সংস্করণের CTS Verifier APK ডাউনলোড করুন।
DUT-টিকে লিনাক্স কম্পিউটারের সাথে সংযুক্ত করুন।
লিনাক্স কম্পিউটারের টার্মিনাল থেকে DUT-তে
CtsVerifier.apkইনস্টল করুন:adb install -r -g CtsVerifier.apkঅ্যান্ড্রয়েড ১০ এবং তার পরবর্তী সংস্করণগুলোর জন্য, অ্যাপটিকে রিপোর্ট তৈরি করার অনুমতি দিতে নিম্নলিখিত কমান্ডটি চালান:
adb shell appops set com.android.cts.verifier android:read_device_identifiers allowঅ্যান্ড্রয়েড ১১ এবং তার পরবর্তী সংস্করণগুলোর জন্য, ডিভাইসের এক্সটার্নাল টপ-লেভেল ডিরেক্টরির অধীনে একটি নিজস্ব ডিরেক্টরিতে রিপোর্ট সংরক্ষণ করার অনুমতি দিতে নিম্নলিখিত কমান্ডটি চালান:
adb shell appops set com.android.cts.verifier MANAGE_EXTERNAL_STORAGE 0Android 13 এবং তার পরবর্তী সংস্করণগুলোর জন্য, CTS Verifier-কে টেস্ট API অ্যাক্সেস দেওয়ার জন্য নিম্নলিখিত কমান্ডটি চালান:
adb shell am compat enable ALLOW_TEST_API_ACCESS com.android.cts.verifierঅ্যান্ড্রয়েড ১৪ এবং তার পরবর্তী সংস্করণগুলোর জন্য, অ্যাপটিকে স্ক্রিন চালু করার অনুমতি দিতে নিম্নলিখিত কমান্ডটি চালান:
adb shell appops set com.android.cts.verifier TURN_SCREEN_ON 0যাচাই করুন যে DUT-তে সিস্টেমের তারিখ এবং সময় সঠিকভাবে সেট করা আছে।
CTS ভেরিফায়ার চালান
DUT-তে থাকা CTS Verifier আইকনে ট্যাপ করে CTS Verifier অ্যাপটি চালু করুন।
![]()
চিত্র ১. সি টি এস ভেরিফায়ার আইকন।
অ্যাপটি ম্যানুয়াল যাচাইয়ের জন্য উপলব্ধ বেশ কয়েকটি টেস্ট সেট প্রদর্শন করে।

চিত্র ২. CTS ভেরিফায়ারের পরীক্ষাসমূহের মেনু।
প্রতিটি টেস্টের স্ক্রিনের নীচে কিছু সাধারণ উপাদান থাকে।

চিত্র ৩। পরীক্ষার স্ক্রিন, যেখানে সাধারণ পরীক্ষার উপাদানগুলো হাইলাইট করা হয়েছে।
- উত্তীর্ণ (✓)। তথ্য নির্দেশাবলী অনুযায়ী DUT পরীক্ষার শর্ত পূরণ করলে ট্যাপ করুন।
- তথ্য (?). পরীক্ষার নির্দেশাবলী দেখতে ট্যাপ করুন। প্রথমবার পরীক্ষা খোলার সময় এটি স্বয়ংক্রিয়ভাবেও প্রদর্শিত হয়।
- অকৃতকার্য (!)। তথ্য নির্দেশাবলী অনুযায়ী DUT পরীক্ষার শর্ত পূরণ না করলে ট্যাপ করুন।
কিছু পরীক্ষা, যেমন ইউএসবি অ্যাকসেসরি মোড এবং ক্যামেরা ক্যালিব্রেশন পরীক্ষার জন্য, অতিরিক্ত পরীক্ষার সেটআপ এবং নির্দেশাবলীর প্রয়োজন হয়, যা পরবর্তী বিভাগগুলিতে বিস্তারিতভাবে বর্ণনা করা হয়েছে।
৮.০ এবং উচ্চতর সংস্করণের জন্য ইউএসবি অ্যাকসেসরি মোড পরীক্ষা করুন

চিত্র ৪. ৮.০ এবং উচ্চতর সংস্করণের জন্য ইউএসবি অ্যাকসেসরি পরীক্ষার পদ্ধতি।

চিত্র ৫. ৮.০ এবং উচ্চতর সংস্করণের জন্য ইউএসবি অ্যাকসেসরি মোড পরীক্ষা করা হচ্ছে।
7.x এবং তার নিচের সংস্করণগুলোর জন্য ইউএসবি অ্যাকসেসরি মোড পরীক্ষা করুন
ইউএসবি অ্যাকসেসরি টেস্টটি করার জন্য ইউএসবি ডেস্কটপ মেশিন (হোস্ট) প্রোগ্রামটি চালানোর জন্য একটি লিনাক্স কম্পিউটারের প্রয়োজন হয়।
- DUT-টিকে লিনাক্স কম্পিউটারের সাথে সংযুক্ত করুন।
কম্পিউটারে, CTS Verifier প্যাকেজ থেকে
cts-usb-accessoryপ্রোগ্রামটি চালান:./cts-usb-accessoryDUT-তে একটি ডায়ালগ বক্স প্রদর্শিত হওয়ার জন্য অপেক্ষা করুন, তারপর OK চাপুন।

চিত্র ৬. ইউএসবি অ্যাকসেসরি পরীক্ষা
DUT-তে থাকা CTS Verifier অ্যাপ্লিকেশনের USB Accessory Test অপশনে যান।
কম্পিউটারে, কনসোল থেকে প্রাপ্ত আউটপুটটি পর্যালোচনা করুন। আউটপুটের উদাহরণ:
CTS USB Accessory Tester Found possible Android device (413c:2106) - attempting to switch to accessory mode... Failed to read protocol versionfigure3 Found Android device in accessory mode (18d1:2d01)... [RECV] Message from Android device #0 [SENT] Message from Android accessory #0 [RECV] Message from Android device #1 [SENT] Message from Android accessory #1 [RECV] Message from Android device #2 [SENT] Message from Android accessory #2 [RECV] Message from Android device #3 [SENT] Message from Android accessory #3 [RECV] Message from Android device #4 [SENT] Message from Android accessory #4 [RECV] Message from Android device #5 [SENT] Message from Android accessory #5 [RECV] Message from Android device #6 [SENT] Message from Android accessory #6 [RECV] Message from Android device #7 [SENT] Message from Android accessory #7 [RECV] Message from Android device #8 [SENT] Message from Android accessory #8 [RECV] Message from Android device #9 [SENT] Message from Android accessory #9 [RECV] Message from Android device #10 [SENT] Message from Android accessory #10
ক্যামেরার ফিল্ড অফ ভিউ ক্যালিব্রেট করুন
মাঝারি নির্ভুলতার সাথে দ্রুত ডিভাইসটির ফিল্ড অফ ভিউ নির্ধারণ করতে ফিল্ড অফ ভিউ ক্যালিব্রেশন পদ্ধতিটি ব্যবহার করুন।
পরীক্ষার পরিবেশ প্রস্তুত করুন:
- ক্যালিব্রেশন প্যাটার্ন পিডিএফ টার্গেট ফাইলটি ১১" x ১৭" অথবা A3 সাইজের কাগজে প্রিন্ট করুন।
- মুদ্রিত প্যাটার্নটি একটি শক্ত ভিত্তির উপর স্থাপন করুন।
নিম্নলিখিত ডায়াগ্রামে দেখানো অনুযায়ী ক্যামেরা ডিভাইস এবং মুদ্রিত লক্ষ্যবস্তুটি স্থাপন করুন:

চিত্র ৭. ক্যামেরা দ্বারা মুদ্রিত লক্ষ্যবস্তু।
লক্ষ্য প্রস্থ নির্ধারণ করুন:
- মুদ্রণের ত্রুটি বিবেচনা করার জন্য টার্গেট প্যাটার্নের কঠিন রেখাগুলোর মধ্যে দূরত্ব (সেন্টিমিটারে) পরিমাপ করুন (~৩৮ সেমি)।
- ক্যালিব্রেশন অ্যাপ্লিকেশনটি চালু করুন।
- সেটআপ বোতামটি চাপুন এবং মার্কার দূরত্ব নির্বাচন করুন।
- লক্ষ্যবস্তু প্যাটার্ন পর্যন্ত দূরত্ব মেপে লিখুন (~১০০ সেমি)।
- ক্যালিব্রেশন প্রিভিউতে ফিরে যেতে ব্যাক বাটনটি চাপুন।
ডিভাইস এবং টার্গেটটি চিত্রে দেখানো অনুযায়ী স্থাপন করা হয়েছে কিনা এবং সেটআপ ডায়ালগে সঠিক দূরত্ব প্রবেশ করানো হয়েছে কিনা তা যাচাই করুন। প্রিভিউতে ছবিটির উপর একটি উল্লম্ব রেখা দেখানো হয়; এই রেখাটি টার্গেট প্যাটার্নের কেন্দ্ররেখার সাথে সারিবদ্ধ হওয়া উচিত। অপটিক্যাল অক্ষটি টার্গেটের সাথে লম্ব কিনা তা যাচাই করার জন্য স্বচ্ছ গ্রিডটি অন্যান্য উল্লম্ব রেখাগুলোর সাথে ব্যবহার করা যেতে পারে।
ক্যালিব্রেশন পরীক্ষাটি চালান:
- (নীচের বাম দিকের সিলেক্টর ব্যবহার করে) একটি ইমেজ রেজোলিউশন বেছে নিন, তারপর ছবি তোলার জন্য স্ক্রিনে ট্যাপ করুন। পরীক্ষাটি ক্যালিব্রেশন মোডে প্রবেশ করে এবং ছবিটির উপর দুটি উল্লম্ব রেখা বসিয়ে প্রদর্শন করে।
- নির্ভুলতা নির্ধারণ করুন:
- যদি রেখাগুলো টার্গেট প্যাটার্নের উল্লম্ব রেখাগুলোর সাথে কয়েক সেন্টিমিটারের মধ্যে মিলে যায়, তাহলে নির্বাচিত রেজোলিউশনের জন্য প্রদর্শিত ক্ষেত্রফল সঠিক।
- যদি লাইনগুলো সারিবদ্ধ না থাকে, তাহলে প্রদর্শিত ফিল্ড অফ ভিউ সঠিক নয়। এটি ঠিক করার জন্য, স্ক্রিনের নিচের স্লাইডারটি এমনভাবে অ্যাডজাস্ট করুন যতক্ষণ না ওভারলেটি টার্গেট প্যাটার্নের সাথে যথাসম্ভব মিলে যায়। যখন ওভারলে এবং টার্গেট প্যাটার্ন ইমেজটি সারিবদ্ধ হয়, তখন প্রদর্শিত ফিল্ড অফ ভিউ সঠিক মানের একটি কাছাকাছি আনুমানিক মান হয়। প্রদর্শিত ফিল্ড অফ ভিউ ক্যালিব্রেশন মানের ৩ ডিগ্রির মধ্যে থাকা উচিত।
- ব্যাক বাটন টিপুন এবং DUT দ্বারা সমর্থিত সমস্ত ইমেজ রেজোলিউশনের জন্য ক্যালিব্রেশন পরীক্ষাটি পুনরাবৃত্তি করুন।
বিকল্প মোডগুলির জন্য CTS ভেরিফায়ার চালান
CTS 10 R6 এবং CTS 11 R2 রিলিজ থেকে, CTS Verifier বিকল্প মোডযুক্ত ডিভাইস বা একাধিক স্ক্রিন মোডযুক্ত ডিভাইসের জন্য প্রয়োজনীয় পরীক্ষাগুলো সমর্থন করে।
CTS Verifier-এর মূল তালিকা দৃশ্যের শীর্ষে একটি বাটন দেখানো হয়, যা ব্যবহারকারীদের খোলা এবং ভাঁজ করা ডিসপ্লে মোডের মধ্যে পরিবর্তন করতে সক্ষম করে। CTS Verifier নির্বাচিত ডিসপ্লে মোডের জন্য প্রয়োজনীয় পরীক্ষাগুলো দেখাবে। CTS Verifier-এ বিকল্প মোডগুলো কার্যকর করতে, বাটনটি উপযুক্ত ডিসপ্লে মোডে পরিবর্তন করে দেখানো পরীক্ষার তালিকাটি চালাতে হবে।

চিত্র ৮. সি টি এস ভেরিফায়ার টগল সুইচ।
ফোল্ডেড টেস্টগুলোর ফলাফল আনফোল্ডেড টেস্টগুলোর সাথে একই রিপোর্টে রেকর্ড করা হবে। টেস্ট সেটটি কোন টেস্টের ফলাফল থেকে নেওয়া হয়েছে তা শনাক্ত করার জন্য, ফোল্ডেড মোডের অধীনে প্রতিটি টেস্টের নামের সাথে একটি সাফিক্স যোগ করা হয়।
<Test result="fail" name="com.android.cts.verifier.deskclock.DeskClockTestsActivity[folded]">
<RunHistory subtest="CREATE_ALARM[folded]">
<Run start="1594176663973" end="1594176665841" isAutomated="false" />
</RunHistory>
</Test>
রপ্তানির ফলাফল
সমস্ত পরীক্ষা সম্পন্ন হওয়ার পর, আপনি ফলাফলগুলো একটি রিপোর্ট হিসেবে সংরক্ষণ করে কম্পিউটারে ডাউনলোড করতে পারেন। DUT সিস্টেমের সময় অনুযায়ী রিপোর্টের নামগুলোতে স্বয়ংক্রিয়ভাবে সময়চিহ্ন যুক্ত হয়ে যায়।
আপনার পরীক্ষার ফলাফল সংরক্ষণ করতে, পরীক্ষার বিভাগগুলোর তালিকার শীর্ষে থাকা সেভ (ডিস্ক) আইকনটিতে ট্যাপ করুন।
একটি ডায়ালগ বক্সের জন্য অপেক্ষা করুন যেখানে সংরক্ষিত রিপোর্টের পাথটি দেখানো হবে (উদাহরণস্বরূপ,
/sdcard/verifierReports/ctsVerifierReport-date-time.zip), তারপর পাথটি লিখে রাখুন।DUT-টিকে লিনাক্স কম্পিউটারের সাথে সংযুক্ত করুন।
লিনাক্স কম্পিউটারে ইনস্টল করা অ্যান্ড্রয়েড এসডিকে থেকে,
adb shell content readঅথবাadb pull CTSVerifierReportPathব্যবহার করে সংযুক্ত ডিভাইস থেকে রিপোর্ট ডাউনলোড করুন।অ্যান্ড্রয়েড ৭.x এবং তার পরবর্তী সংস্করণগুলোর জন্য, নিম্নলিখিত কমান্ডটি ব্যবহার করে সমস্ত রিপোর্ট ডাউনলোড করুন:
adb pull /sdcard/verifierReportsঅ্যান্ড্রয়েড ৬.০ এবং এর নিচের সংস্করণগুলোর জন্য, নিম্নলিখিত কমান্ডটি ব্যবহার করে সমস্ত রিপোর্ট ডাউনলোড করুন:
adb pull /mnt/sdcard/ctsVerifierReports/অ্যান্ড্রয়েড ১০ ও তার পরবর্তী সংস্করণ, অটোমোটিভ বাস্তবায়ন এবং সেকেন্ডারি ব্যবহারকারী হিসেবে চালিত ডিভাইসগুলোর জন্য, নিম্নলিখিত কমান্ডটি ব্যবহার করে সর্বশেষ রিপোর্টটি ডাউনলোড করুন:
adb shell content read --user <var>CURRENT_USER</var> --uri content://com.android.cts.verifier.testresultsprovider/reports/latest > report.zipসংযুক্ত ডিভাইসে উপলব্ধ সমস্ত রিপোর্টের তালিকা দেখতে:
adb shell content query --user CURRENT_USER --uri content://com.android.cts.verifier.testresultsprovider/reports ``` To download a report from the list, you can specify the Row ID or filename. For example: ```shell adb shell content read --user CURRENT_USER --uri content://com.android.cts.verifier.testresultsprovider/reports/0 > report.zip ``` ```shell adb shell content read --user CURRENT_USER --uri content://com.android.cts.verifier.testresultsprovider/reports ctsVerifierReport-date-time.zip > report.zip ```
পাস বা ফেলের ফলাফল মুছে ফেলতে, CTS Verifier অ্যাপে ফলাফলগুলো নির্বাচন করুন এবং মেনু > ক্লিয়ার ( Menu > Clear) বিকল্পটি বেছে নিন।