একটি বাক্সে সম্পূর্ণ স্বয়ংচালিত পরীক্ষা

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

ক্যাটবক্স ডিজাইন এবং বাস্তবায়ন

ক্যাটবক্স টেস্ট স্যুটটি একটি অটোমোটিভ টার্গেট ডিভাইসে এবং একটি কম্প্যানিয়ন ডিভাইস ব্যবহার করার সময় ফাংশনাল ও পারফরম্যান্স টেস্ট চালানোর জন্য প্রয়োজনীয় টুল, ফ্রেমওয়ার্ক এবং টেস্ট সরবরাহ করে।

নিম্নোক্ত চিত্রটিতে একটি CATBox প্যাকেজের উচ্চ-স্তরের নকশা দেখানো হয়েছে।

CATBox

চিত্র ১. ক্যাটবক্স প্যাকেজ

ট্রেডফেড

ট্রেডফেড হলো একটি ওপেন সোর্স কন্টিনিউয়াস টেস্টিং ফ্রেমওয়ার্ক যা অ্যান্ড্রয়েড ডিভাইসে পরীক্ষা চালানোর জন্য ব্যবহৃত হয়। বিস্তারিত জানতে, ট্রেড ফেডারেশন ওভারভিউ দেখুন।

স্বয়ংচালিত পরীক্ষার কাঠামো

ক্যাটবক্স (CATBox) স্পেকটেশিও (Spectatio) নামক একটি অটোমোটিভ টেস্ট ফ্রেমওয়ার্কের উপর ভিত্তি করে তৈরি, যা অটোমোটিভ ডিভাইসে বিভিন্ন অ্যাপ পরীক্ষা করার জন্য এপিআই (API) প্রদান করে। এটি ইউআই অটোমেটর (UI Automator) নামক একটি ওপেন সোর্স টেস্টিং ফ্রেমওয়ার্কের উপর নির্মিত, যা ব্যবহারকারী এবং সিস্টেম অ্যাপ্লিকেশনের সাথে ইন্টারঅ্যাক্ট করে এমন ইউআই (UI) টেস্ট তৈরির জন্য একগুচ্ছ এপিআই প্রদান করে।

ক্যাটবক্স টেস্ট স্যুট ডাউনলোড

অ্যান্ড্রয়েড ১৪

অ্যান্ড্রয়েড অটোমোটিভ ১৪ হলো 'U' কোড-নামের ডেভেলপমেন্ট মাইলস্টোনের রিলিজ। অ্যান্ড্রয়েড ১৪-এর জন্য ক্যাটবক্স টেস্ট স্যুট ডাউনলোড করতে নিম্নলিখিত লিঙ্কগুলি ব্যবহার করুন:

অ্যান্ড্রয়েড ১২

অ্যান্ড্রয়েড ১২ হলো 'S' কোড-নামের ডেভেলপমেন্ট মাইলস্টোনের রিলিজ। অ্যান্ড্রয়েড ১২-এর জন্য CATBox টেস্ট স্যুট ডাউনলোড করতে নিম্নলিখিত লিঙ্কগুলি ব্যবহার করুন:

অ্যান্ড্রয়েড ১১

অ্যান্ড্রয়েড ১১ হলো 'R' কোড-নামের ডেভেলপমেন্ট মাইলস্টোনের রিলিজ। অ্যান্ড্রয়েড ১১-এর জন্য CATBox টেস্ট স্যুট ডাউনলোড করতে নিম্নলিখিত লিঙ্কগুলি ব্যবহার করুন:

ক্যাটবক্স তৈরি করুন

স্থানীয় ওয়ার্কস্টেশনে অ্যান্ড্রয়েড AOSP কোডটি উপলব্ধ হয়ে গেলে catbox বিল্ড কমান্ডটি ব্যবহার করুন।

স্থানীয়ভাবে CATBox প্যাকেজটি তৈরি করতে:

  1. ডিভাইসের আর্কিটেকচারের উপর ভিত্তি করে ডিভাইস টার্গেট নির্বাচন করুন এবং নিম্নলিখিত কমান্ডটি চালান:

    lunch <target>
  2. CATBox তৈরি করতে, নিম্নলিখিত কমান্ডটি চালান:

    make catbox

    এই কমান্ডটি /out/host/linux-x86/catbox ডিরেক্টরিতে android-catbox.zip ফাইলটি তৈরি করে, যা পরবর্তীতে টেস্ট চালানোর জন্য ব্যবহার করা যেতে পারে।

পরিবেশ তৈরি করুন

CATBox টেস্ট চালানোর জন্য প্রয়োজনীয় এনভায়রনমেন্ট সেটআপ , CTS সেটআপ করার মতোই। এনভায়রনমেন্ট সেটআপ করতে, নিচের প্রতিটি ধাপ সম্পন্ন করুন:

CATBox সেট আপ করুন এবং চালান

অ্যান্ড্রয়েড ডিভাইসে পরীক্ষাগুলো চালানোর জন্য ট্রেডফেড টেস্ট ফ্রেমওয়ার্ক ব্যবহার করুন। CATBox সেট আপ করার আগে, ট্রেড ফেডারেশন ওভারভিউ দেখুন।

CATBox সেট আপ ও চালানোর জন্য নিচের বিভাগগুলো দেখুন।

ডিভাইসটি সেট আপ করুন

টেস্ট প্ল্যান চালানোর আগে, আপনার ডিভাইস সেট আপ করতে নিম্নলিখিত ধাপগুলি সম্পূর্ণ করুন:

  1. নিশ্চিত করুন যে আপনি অ্যান্ড্রয়েড ডিবাগ ব্রিজ (adb) এবং অ্যান্ড্রয়েড অ্যাসেট প্যাকেজিং টুল (AAPT) উভয়েরই সাম্প্রতিক সংস্করণ ইনস্টল করেছেন এবং আপনার মেশিনের সিস্টেম পাথে এই টুলগুলির অবস্থান যুক্ত করেছেন। বিস্তারিত জানতে, ADB এবং AAPT দেখুন।

  2. কমপক্ষে একটি ডিভাইস সংযুক্ত করুন এবং পরীক্ষাধীন ডিভাইস (DUT) নিম্নরূপে প্রস্তুত করুন:

    1. গাড়ির ডিভাইসটি ফ্যাক্টরি রিসেট করতে, সেটিংস > সিস্টেম > রিসেট অপশন > সমস্ত ডেটা মুছে ফেলুন- এ যান।

    2. ডিভাইসটি স্বয়ংক্রিয়ভাবে পুনরায় চালু হওয়া পর্যন্ত অপেক্ষা করুন।

    3. adb সক্রিয় আছে কিনা তা নিশ্চিত করুন। ডিভাইসটি উপলব্ধ আছে কিনা তা নিশ্চিত করতে, নিম্নলিখিত কমান্ডটি চালান:

      adb devices
    4. রুট সক্রিয় করতে, নিম্নলিখিত কমান্ডটি চালান:

      adb -s DEVICE_SERIAL root

      DEVICE_SERIAL জায়গায় অটোমোটিভ ডিভাইসটির সিরিয়াল আইডি বসান।

    5. ওয়াই-ফাই এর সাথে সংযুক্ত হন।

CATBox প্যাকেজটি এক্সট্র্যাক্ট করুন

ডিভাইসটি সেট আপ করার পরে, CATBox প্যাকেজটি আনজিপ করুন এবং এক্সট্র্যাক্ট করা ফোল্ডারটিতে যান:

unzip android-catbox.zip
cd android-catbox

CATBox-এ পরীক্ষাগুলো চালান

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