কমপ্লিট অটোমোটিভ টেস্টস ইন এ বক্স (CATBox) একটি ওপেন সোর্স প্যাকেজ যা ন্যূনতম কনফিগারেশনের মাধ্যমে অটোমোটিভ টেস্টগুলোকে সুবিন্যস্ত ও কার্যকর করার জন্য প্রয়োজনীয় ফ্রেমওয়ার্ক এবং টুলস সরবরাহ করে। CATBox স্কেলেবল এবং আপনার অ্যান্ড্রয়েড অটোমোটিভ ওএস (AAOS) ইমপ্লিমেন্টেশনগুলো পরীক্ষা ও যাচাই করার জন্য ব্যবহৃত টুলস, ইনফ্রাস্ট্রাকচার এবং টেস্টগুলোর সাথে সামঞ্জস্যপূর্ণ। ফলে, আপনি বাজারে উচ্চ-মানের পণ্য সরবরাহ করতে পারেন।
ক্যাটবক্স ডিজাইন এবং বাস্তবায়ন
ক্যাটবক্স টেস্ট স্যুটটি একটি অটোমোটিভ টার্গেট ডিভাইসে এবং একটি কম্প্যানিয়ন ডিভাইস ব্যবহার করার সময় ফাংশনাল ও পারফরম্যান্স টেস্ট চালানোর জন্য প্রয়োজনীয় টুল, ফ্রেমওয়ার্ক এবং টেস্ট সরবরাহ করে।
নিম্নোক্ত চিত্রটিতে একটি CATBox প্যাকেজের উচ্চ-স্তরের নকশা দেখানো হয়েছে।

চিত্র ১. ক্যাটবক্স প্যাকেজ
ট্রেডফেড
ট্রেডফেড হলো একটি ওপেন সোর্স কন্টিনিউয়াস টেস্টিং ফ্রেমওয়ার্ক যা অ্যান্ড্রয়েড ডিভাইসে পরীক্ষা চালানোর জন্য ব্যবহৃত হয়। বিস্তারিত জানতে, ট্রেড ফেডারেশন ওভারভিউ দেখুন।
স্বয়ংচালিত পরীক্ষার কাঠামো
ক্যাটবক্স (CATBox) স্পেকটেশিও (Spectatio) নামক একটি অটোমোটিভ টেস্ট ফ্রেমওয়ার্কের উপর ভিত্তি করে তৈরি, যা অটোমোটিভ ডিভাইসে বিভিন্ন অ্যাপ পরীক্ষা করার জন্য এপিআই (API) প্রদান করে। এটি ইউআই অটোমেটর (UI Automator) নামক একটি ওপেন সোর্স টেস্টিং ফ্রেমওয়ার্কের উপর নির্মিত, যা ব্যবহারকারী এবং সিস্টেম অ্যাপ্লিকেশনের সাথে ইন্টারঅ্যাক্ট করে এমন ইউআই (UI) টেস্ট তৈরির জন্য একগুচ্ছ এপিআই প্রদান করে।
ক্যাটবক্স টেস্ট স্যুট ডাউনলোড
অ্যান্ড্রয়েড ১৪
অ্যান্ড্রয়েড অটোমোটিভ ১৪ হলো 'U' কোড-নামের ডেভেলপমেন্ট মাইলস্টোনের রিলিজ। অ্যান্ড্রয়েড ১৪-এর জন্য ক্যাটবক্স টেস্ট স্যুট ডাউনলোড করতে নিম্নলিখিত লিঙ্কগুলি ব্যবহার করুন:
অ্যান্ড্রয়েড ১২
অ্যান্ড্রয়েড ১২ হলো 'S' কোড-নামের ডেভেলপমেন্ট মাইলস্টোনের রিলিজ। অ্যান্ড্রয়েড ১২-এর জন্য CATBox টেস্ট স্যুট ডাউনলোড করতে নিম্নলিখিত লিঙ্কগুলি ব্যবহার করুন:
অ্যান্ড্রয়েড ১১
অ্যান্ড্রয়েড ১১ হলো 'R' কোড-নামের ডেভেলপমেন্ট মাইলস্টোনের রিলিজ। অ্যান্ড্রয়েড ১১-এর জন্য CATBox টেস্ট স্যুট ডাউনলোড করতে নিম্নলিখিত লিঙ্কগুলি ব্যবহার করুন:
ক্যাটবক্স তৈরি করুন
স্থানীয় ওয়ার্কস্টেশনে অ্যান্ড্রয়েড AOSP কোডটি উপলব্ধ হয়ে গেলে catbox বিল্ড কমান্ডটি ব্যবহার করুন।
স্থানীয়ভাবে CATBox প্যাকেজটি তৈরি করতে:
ডিভাইসের আর্কিটেকচারের উপর ভিত্তি করে ডিভাইস টার্গেট নির্বাচন করুন এবং নিম্নলিখিত কমান্ডটি চালান:
lunch <target>CATBox তৈরি করতে, নিম্নলিখিত কমান্ডটি চালান:
make catboxএই কমান্ডটি
/out/host/linux-x86/catboxডিরেক্টরিতেandroid-catbox.zipফাইলটি তৈরি করে, যা পরবর্তীতে টেস্ট চালানোর জন্য ব্যবহার করা যেতে পারে।
পরিবেশ তৈরি করুন
CATBox টেস্ট চালানোর জন্য প্রয়োজনীয় এনভায়রনমেন্ট সেটআপ , CTS সেটআপ করার মতোই। এনভায়রনমেন্ট সেটআপ করতে, নিচের প্রতিটি ধাপ সম্পন্ন করুন:
ADB ও AAPT ইনস্টল করুন।
JDK ইনস্টল করুন। উবুন্টুর জন্য জাভা ডেভেলপমেন্ট কিট দেখুন।
মেমরি সীমা বৃদ্ধি করুন। স্টোরেজ প্রয়োজনীয়তা দেখুন।
CATBox সেট আপ করুন এবং চালান
অ্যান্ড্রয়েড ডিভাইসে পরীক্ষাগুলো চালানোর জন্য ট্রেডফেড টেস্ট ফ্রেমওয়ার্ক ব্যবহার করুন। CATBox সেট আপ করার আগে, ট্রেড ফেডারেশন ওভারভিউ দেখুন।
CATBox সেট আপ ও চালানোর জন্য নিচের বিভাগগুলো দেখুন।
ডিভাইসটি সেট আপ করুন
টেস্ট প্ল্যান চালানোর আগে, আপনার ডিভাইস সেট আপ করতে নিম্নলিখিত ধাপগুলি সম্পূর্ণ করুন:
নিশ্চিত করুন যে আপনি অ্যান্ড্রয়েড ডিবাগ ব্রিজ (adb) এবং অ্যান্ড্রয়েড অ্যাসেট প্যাকেজিং টুল (AAPT) উভয়েরই সাম্প্রতিক সংস্করণ ইনস্টল করেছেন এবং আপনার মেশিনের সিস্টেম পাথে এই টুলগুলির অবস্থান যুক্ত করেছেন। বিস্তারিত জানতে, ADB এবং AAPT দেখুন।
কমপক্ষে একটি ডিভাইস সংযুক্ত করুন এবং পরীক্ষাধীন ডিভাইস (DUT) নিম্নরূপে প্রস্তুত করুন:
গাড়ির ডিভাইসটি ফ্যাক্টরি রিসেট করতে, সেটিংস > সিস্টেম > রিসেট অপশন > সমস্ত ডেটা মুছে ফেলুন- এ যান।
ডিভাইসটি স্বয়ংক্রিয়ভাবে পুনরায় চালু হওয়া পর্যন্ত অপেক্ষা করুন।
adb সক্রিয় আছে কিনা তা নিশ্চিত করুন। ডিভাইসটি উপলব্ধ আছে কিনা তা নিশ্চিত করতে, নিম্নলিখিত কমান্ডটি চালান:
adb devicesরুট সক্রিয় করতে, নিম্নলিখিত কমান্ডটি চালান:
adb -s DEVICE_SERIAL rootDEVICE_SERIALজায়গায় অটোমোটিভ ডিভাইসটির সিরিয়াল আইডি বসান।ওয়াই-ফাই এর সাথে সংযুক্ত হন।
CATBox প্যাকেজটি এক্সট্র্যাক্ট করুন
ডিভাইসটি সেট আপ করার পরে, CATBox প্যাকেজটি আনজিপ করুন এবং এক্সট্র্যাক্ট করা ফোল্ডারটিতে যান:
unzip android-catbox.zip
cd android-catboxCATBox-এ পরীক্ষাগুলো চালান
CATBox প্যাকেজে থাকা টেস্ট প্ল্যানগুলো দিয়ে CATBox চালানোর জন্য:
./tools/catbox-tradefed run commandAndExit TEST_PLAN_NAME --serial DEVICE_SERIAL অটোমোটিভ ডিভাইসটির সিরিয়াল আইডি দিয়ে DEVICE_SERIAL প্রতিস্থাপন করুন। যদি হোস্ট মেশিনের সাথে একাধিক ডিভাইস সংযুক্ত থাকে, তবে সেগুলোকে আলাদাভাবে চিহ্নিত করতে DEVICE_SERIAL ব্যবহার করুন। আপনি যে টেস্ট প্ল্যানটি চালাতে চান তার নাম দিয়ে TEST_PLAN_NAME প্রতিস্থাপন করুন।
উপলব্ধ প্ল্যানগুলির সবচেয়ে সম্পূর্ণ তালিকা পেতে, কমান্ড লাইনটি ব্যবহার করুন:
./tools/catbox-tradefed list plans | grep -i catboxপরীক্ষার পরিকল্পনার প্রকারভেদ
নিম্নলিখিত সারণিতে উপলব্ধ কার্যকরী পরীক্ষা পরিকল্পনাগুলো দেখানো হয়েছে।
| কার্যকরী পরীক্ষার পরিকল্পনা | বর্ণনা |
|---|---|
catbox-functional | কার্যকরী পরীক্ষা। |
catbox-functional-app-info-setting | অ্যাপ তথ্য সেটিং কার্যকরী পরীক্ষা। |
catbox-functional-admin-user-grant-permissions | অ্যাডমিন ব্যবহারকারী কার্যকরী পরীক্ষাগুলোর অনুমতি প্রদান করেন। |
catbox-functional-app-info-setting-ui-elements | অ্যাপ তথ্য সেটিং কার্যকরী পরীক্ষা। |
catbox-functional-appgrid | অ্যাপ গ্রিডের কার্যকারিতা পরীক্ষা। |
catbox-functional-base | কার্যকরী পরীক্ষাগুলোর তালিকা। |
catbox-functional-bluetooth-audio | ব্লুটুথ অডিওর কার্যকারিতা পরীক্ষা। |
catbox-functional-bluetooth-palette | স্ট্যাটাস বারের কার্যকারিতা পরীক্ষা। |
catbox-functional-bluetooth-tests | Mobly ব্যবহার করে ব্লুটুথ পরীক্ষা করা হয়েছে। |
catbox-functional-brightness-palette | স্ট্যাটাস বারের কার্যকারিতা পরীক্ষা। |
catbox-functional-btmoped | ব্লুটুথ মোপেড-ভিত্তিক কার্যকারিতা পরীক্ষা। |
catbox-functional-date-time-setting | তারিখ ও সময় নির্ধারণের কার্যকারিতা পরীক্ষা। |
catbox-functional-dial | ডায়াল ফাংশনাল টেস্ট। |
catbox-functional-display-setting | সেটিং কার্যকরী পরীক্ষা প্রদর্শন করুন। |
catbox-functional-driving-optimized-apps | ইউএক্স সীমাবদ্ধতার কার্যকরী পরীক্ষা। |
catbox-functional-enable-developers-option | ডেভেলপার অপশন ফাংশনাল টেস্ট সক্রিয় করুন। |
catbox-functional-home | বাড়িতে কার্যকরী পরীক্ষা। |
catbox-functional-lock-screen | লক স্ক্রিনের কার্যকারিতা পরীক্ষা। |
catbox-functional-mediacenter | মিডিয়া সেন্টারের কার্যকারিতা পরীক্ষা। |
catbox-functional-microphone-recent-apps | মাইক্রোফোন সেটিংয়ের কার্যকারিতা পরীক্ষা। |
catbox-functional-microphone-setting | মাইক্রোফোন সেটিংয়ের কার্যকারিতা পরীক্ষা। |
catbox-functional-multiuser | একাধিক ব্যবহারকারীর কার্যকরী পরীক্ষা। |
catbox-functional-multiuser-system-user | একাধিক ব্যবহারকারীর কার্যকরী পরীক্ষা। |
catbox-functional-navigation-bar | নেভিগেশন বারের কার্যকারিতা পরীক্ষা। |
catbox-functional-network-palette | স্ট্যাটাস বারের কার্যকারিতা পরীক্ষা। |
catbox-functional-network-setting | নেটওয়ার্ক সেটিং কার্যকারিতা পরীক্ষা। |
catbox-functional-notification | বিজ্ঞপ্তি কার্যকারিতা পরীক্ষা। |
catbox-functional-privacy-permission-manager | গোপনীয়তা অ্যাপের অনুমতি সেটিংসের কার্যকারিতা পরীক্ষা। |
catbox-functional-privacy-setting | মাইক্রোফোন সেটিংয়ের কার্যকারিতা পরীক্ষা। |
catbox-functional-privacy-setting-ui-elements | গোপনীয়তা সেটিংসের কার্যকারিতা পরীক্ষা। |
catbox-functional-profile-icon | প্রোফাইল আইকন বারের কার্যকারিতা পরীক্ষা। |
catbox-functional-profiles-icon-list | প্রোফাইল আইকন তালিকা পরীক্ষা। |
catbox-functional-security-setting | নিরাপত্তা সেটিং কার্যকরী পরীক্ষা। |
catbox-functional-setting | কার্যকরী পরীক্ষা নির্ধারণ করা। |
catbox-functional-settings-location | অবস্থান নির্ধারণ পরীক্ষা। |
catbox-functional-sound-setting | সাউন্ড সেটিং কার্যকারিতা পরীক্ষা। |
catbox-functional-status-bar | স্ট্যাটাস বারের কার্যকারিতা পরীক্ষা। |
catbox-functional-storage-setting | স্টোরেজ সেটিং কার্যকারিতা পরীক্ষা। |
catbox-functional-system-setting | সিস্টেম সেটিং কার্যকারিতা পরীক্ষা। |
catbox-functional-systemui | সিস্টেম UI পরীক্ষা। |
catbox-functional-ux-restriction | ইউএক্স সীমাবদ্ধতার কার্যকরী পরীক্ষা। |
catbox-functional-ux-restriction-facet-bar | ইউএক্স সীমাবদ্ধতার কার্যকরী পরীক্ষা। |
নিম্নলিখিত সারণিতে CATBox পারফরম্যান্স পরীক্ষার পরিকল্পনাগুলো তালিকাভুক্ত করা হয়েছে।
| কর্মক্ষমতা পরীক্ষার পরিকল্পনা | বর্ণনা |
|---|---|
catbox-performance-cold-app-start-up-dialer | ডায়ালার এবং ফোনের জন্য কোল্ড অ্যাপ স্টার্ট-আপ পারফরম্যান্স টেস্ট। |
catbox-performance-cold-app-start-up-mediacenter | মিডিয়া সেন্টারের জন্য কোল্ড অ্যাপ স্টার্ট-আপ পারফরম্যান্স টেস্ট। |
catbox-performance-cold-app-start-up-settings | সেটিংসের জন্য কোল্ড অ্যাপ স্টার্ট-আপ পারফরম্যান্স টেস্ট। |
catbox-performance-create-and-switch-to-new-guest | নতুন গেস্টে স্যুইচ করার লেটেন্সি পরিমাপ করুন। |
catbox-performance-create-and-switch-to-new-user | নতুন নন-অ্যাডমিন ব্যবহারকারীতে স্যুইচ করার লেটেন্সি পরিমাপ করুন। |
catbox-performance-hot-app-start-up-dialer | ডায়ালার এবং ফোনের জন্য হট অ্যাপ স্টার্ট-আপ পারফরম্যান্স টেস্ট। |
catbox-performance-hot-app-start-up-mediacenter | মিডিয়া সেন্টারের জন্য হট অ্যাপ স্টার্ট-আপ পারফরম্যান্স টেস্ট। |
catbox-performance-hot-app-start-up-settings | সেটিংস-এর জন্য হট অ্যাপ স্টার্ট-আপ পারফরম্যান্স টেস্ট। |
catbox-performance-jank-appgrid | অ্যাপগ্রিডের পারফরম্যান্স পরীক্ষা। |
catbox-performance-jank-contact-list | কন্ট্যাক্টস-এর পারফরম্যান্স টেস্ট। |
catbox-performance-jank-media | মিডিয়ার জন্য পারফরম্যান্স পরীক্ষা। |
catbox-performance-jank-media-switch-playback | মিডিয়া সুইচ প্লেব্যাকের পারফরম্যান্স পরীক্ষা। |
catbox-performance-jank-notifications | নোটিফিকেশনের পারফরম্যান্স পরীক্ষা। |
catbox-performance-jank-settings | সেটিংসের জন্য পারফরম্যান্স পরীক্ষা। |
catbox-performance-switch-to-existing-user | বিদ্যমান ব্যবহারকারীর কাছে স্যুইচ করার লেটেন্সি পরিমাপ করুন। |
মাল্টিডিভাইস হোস্ট সাইড পরীক্ষাটি চালান
একাধিক ডিভাইসের হোস্ট সাইড টেস্ট সম্পাদনের জন্য CATBox ব্যবহার করা হয়, যা একটি সেশনেই টেস্টটি চালায়। উদাহরণস্বরূপ, BTDiscoveryTest :
make catbox
./tools/catbox-tradefed run commandAndExit catbox-functional-bluetooth-tests --{phone}serial <serial> --{auto}serial <serial> --mobly-host:mobly-par-file-name BTDiscoveryTest CATBox apk ইনস্টল করে এবং তারপর সঠিক পাইথন এক্সিকিউশন এনভায়রনমেন্টে টেস্টটি চালানো হয়।
ক্যাটবক্স পরীক্ষার ফলাফল পর্যালোচনা করুন
ফাংশনাল ও পারফরম্যান্স টেস্ট রানের ফলাফল android-catbox/results/latest ফোল্ডারে সংরক্ষিত হয়।
| ফলাফলের ধরণ | অবস্থান |
|---|---|
| পরীক্ষার ফলাফল | test_result.xml |
| ব্যর্থ পরীক্ষার বিবরণ | test_result_failures_suite.html |
| কর্মক্ষমতা মেট্রিক্সের ফলাফল | /report-log-files/CatboxPerformanceTests.reportlog.json |
| কার্যকরী এবং কর্মক্ষমতা পরীক্ষা চালানো | /android-catbox/logs/latest |