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

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

CATBox নকশা এবং বাস্তবায়ন

CATBox টেস্ট স্যুট একটি স্বয়ংচালিত লক্ষ্য ডিভাইসে কার্যকরী এবং কার্যকারিতা পরীক্ষা চালানোর জন্য প্রয়োজনীয় সরঞ্জাম, কাঠামো এবং পরীক্ষা প্রদান করে।

নিম্নলিখিত চিত্রটি একটি ক্যাটবক্স প্যাকেজের একটি উচ্চ স্তরের নকশা চিত্রিত করে৷

CATBox

চিত্র 1. CATBox প্যাকেজ

Tradefed

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

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

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

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

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

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

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

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

CATBox তৈরি করুন

স্থানীয় ওয়ার্কস্টেশনে Android AOSP কোড পাওয়া গেলে catbox বিল্ড কমান্ডটি ব্যবহার করুন। স্থানীয়ভাবে ক্যাটবক্স প্যাকেজ তৈরি করতে:

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

    # Select Device Target Based on Device Architecture
    $ lunch <target>
    
  2. CATBox তৈরি করতে, নিম্নলিখিত কমান্ডটি চালান:

    # Build CATBox
    $ make catbox
    

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

পরিবেশ সেটআপ

CATBox পরীক্ষা চালানোর জন্য প্রয়োজনীয় পরিবেশ সেটআপ CTS সেট আপ করার অনুরূপ। পরিবেশ সেট আপ করতে, নিম্নলিখিত প্রতিটি কাজ সম্পূর্ণ করুন:

CATBox সেটআপ এবং সম্পাদন

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

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

ডিভাইস সেটআপ

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

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

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

    1. স্বয়ংচালিত ডিভাইস ফ্যাক্টরি রিসেট করতে, সেটিংস > সিস্টেম > রিসেট বিকল্প > সমস্ত ডেটা মুছুন ক্লিক করুন।
    2. ডিভাইসটি স্বয়ংক্রিয়ভাবে পুনরায় চালু হওয়ার জন্য অপেক্ষা করুন।
    3. নিশ্চিত করুন যে অ্যাডবি সক্রিয় আছে। ডিভাইস উপলব্ধ নিশ্চিত করতে, নিম্নলিখিত কমান্ড চালান:

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

      # Enable Root
      $ adb -s DEVICE_SERIAL root
      

      স্বয়ংচালিত ডিভাইসের জন্য সিরিয়াল আইডি দিয়ে DEVICE_SERIAL প্রতিস্থাপন করুন।

    5. Wi-Fi এর সাথে সংযোগ করুন৷

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

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

# Extract the CATBox Package
$ unzip android-catbox.zip

# Navigate to extracted CATBox Package
$ 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-notification
catbox-functional-setting
catbox-functional-dial
catbox-functional-system-setting
catbox-functional-app-info-setting
catbox-functional-network-setting
catbox-functional-security-setting
catbox-functional-sound-setting
catbox-functional-date-time-setting
catbox-functional-appgrid
catbox-functional-home
catbox-functional-lock-screen
catbox-functional-navigation-bar
catbox-functional-ux-restriction
catbox-functional-bluetooth-audio
কর্মক্ষমতা পরীক্ষার পরিকল্পনা catbox-performance-cold-app-start-up-settings
catbox-performance-hot-app-start-up-settings
catbox-performance-jank-settings
catbox-performance-cold-app-start-up-dialer
catbox-performance-hot-app-start-up-dialer
catbox-performance-jank-contact-list
catbox-performance-jank-notifications
catbox-performance-jank-appgrid
catbox-performance-cold-app-start-up-mediacenter
catbox-performance-hot-app-start-up-mediacenter
catbox-performance-create-and-switch-to-new-guest
catbox-performance-create-and-switch-to-new-user
catbox-performance-create-and-switch-to-precreated-guest
catbox-performance-create-and-switch-to-precreated-user
catbox-performance-switch-to-existing-user

CATBox পরীক্ষার ফলাফল

পরীক্ষার ফলাফলগুলি কার্যকরী এবং কার্যকারিতা পরীক্ষা সম্পাদনের জন্য android-catbox/results/latest ফোল্ডারে সংরক্ষিত হয়।

  • পরীক্ষার ফলাফলের জন্য, test_result.xml
  • ব্যর্থতার পরীক্ষার বিশদ বিবরণের জন্য, test_result_failures_suite.html দেখুন।
  • কর্মক্ষমতা মেট্রিক্স ফলাফলের জন্য, report-log-files ডিরেক্টরিতে CatboxPerformanceTests.reportlog.json দেখুন।

ক্রিয়ামূলক এবং কার্যকারিতা পরীক্ষা নির্বাহের জন্য android-catbox/logs/latest এ সংরক্ষিত হয়৷

কিছু পরীক্ষা যেমন ডায়াল, ব্লুটুথ অডিও, এবং পরিচিতি তালিকা জ্যাঙ্ক পরীক্ষার জন্য অতিরিক্ত ডিভাইস সেটআপ প্রয়োজন।

ডায়াল পরীক্ষা

ডায়াল টেস্টের জন্য ডিভাইস সেটআপ এবং রানটাইম পরামিতি প্রয়োজন। ডিভাইস সেট আপ করতে:

  1. ব্লুটুথের মাধ্যমে মোবাইল ডিভাইসটিকে অটোমোটিভ হেড ইউনিটের সাথে সংযুক্ত করুন।
  2. নিশ্চিত করুন যে টেস্ট ফোনে ডায়াল পরীক্ষা চালানোর জন্য একটি সিম কার্ড রয়েছে এবং মোবাইল নেটওয়ার্কের সাথে সংযুক্ত রয়েছে৷
  3. ডায়াল পরীক্ষা ফোনে সংরক্ষিত ডিফল্ট পরিচিতি ব্যবহার করে। ফোনে পরিচিতি লোড করতে contacts.vcf ব্যবহার করুন।
  4. ফোনের জন্য সিরিয়াল আইডি দিয়ে COMPANION_SERIAL প্রতিস্থাপন করুন এবং নিম্নলিখিত কমান্ডগুলি চালান:

    # Contacts can be loaded on the phone by pushing the contacts.vcf file on
    the phone and importing it in the Contacts application.
    
    OR
    
    # Importing contacts using adb.
    
    # Push contacts VCF file to phone
    
    $ adb -s COMPANION_SERIAL push <path-to-downloaded-contacts-vcf-file> /storage/emulated/0/Android/data/com.google.android.contacts/contacts.vcf
    
    # Grant Read Permissions
    
    $ adb -s COMPANION_SERIAL shell pm grant com.google.android.contacts
    android.permission.READ_EXTERNAL_STORAGE
    
    # Import contacts from the VCF file
    
    $ adb -s COMPANION_SERIAL shell am start-activity -W -t 'text/x-vcard' -d file:///storage/emulated/0/Android/data/com.google.android.contacts/contacts.vcf
    -a android.intent.action.VIEW com.google.android.contacts
    
    # Then accept the prompts on the UI to load the contacts.
    
রানটাইম পরামিতি

ডায়াল পরীক্ষাগুলি পরীক্ষা সম্পাদনের জন্য ছোট এবং বড় ফোন নম্বর ব্যবহার করে। ডায়াল পরীক্ষাগুলি অনুসন্ধান পরীক্ষার জন্য যোগাযোগের নাম এবং যোগাযোগ নম্বর ব্যবহার করে। এই তথ্য প্রদান করতে নিম্নলিখিত পরামিতি ব্যবহার করুন:

Parameters for Large Phone Number:
--module-arg AndroidAutomotiveDialTests:instrumentation-arg:large-phone-number:=< 10 digit phone number>

Parameters for Small Phone Number:
--module-arg AndroidAutomotiveDialTests:instrumentation-arg:small-phone-number:=< 3 digit phone number>

Parameters for Search Contact Name:
--module-arg AndroidAutomotiveDialTests:instrumentation-arg:search-contact-name:=< some contact name stored on the phone >

Parameters for Search Contact Number:
--module-arg AndroidAutomotiveDialTests:instrumentation-arg:search-contact-number:=< contact number of the name provided in the search contact name >

ব্লুটুথ অডিও পরীক্ষা

ব্লুটুথ অডিও পরীক্ষার জন্য একটি ডিভাইস সেট আপ করতে:

  1. YouTube Music অ্যাপ ফোনে ইনস্টল করা আছে এবং আপনি একটি অ্যাকাউন্টে লগ ইন করেছেন তা নিশ্চিত করুন। যদি না হয়, অ্যাপটি ইনস্টল করুন এবং একটি অ্যাকাউন্টে সাইন-ইন করুন।
  2. ব্লুটুথের মাধ্যমে ফোনটিকে স্বয়ংচালিত ডিভাইসের সাথে ম্যানুয়ালি যুক্ত করুন।
  3. একবার ফোন জোড়া হয়ে গেলে, ফোনে একটি গান চালান এবং তারপর পরীক্ষা চালানো শুরু করুন।

পরিচিতি তালিকা জ্যাঙ্ক পরীক্ষা

পরিচিতি তালিকা জ্যাঙ্ক পরীক্ষার জন্য একটি ডিভাইস সেট আপ করতে:

  1. নিশ্চিত করুন যে ফোনটিতে বেশ কয়েকটি পরিচিতি রয়েছে যাতে পরীক্ষাটি জ্যাঙ্ক মেট্রিক্স সংগ্রহ করতে পরিচিতি তালিকার মাধ্যমে স্ক্রোল করতে পারে।
  2. ব্লুটুথের মাধ্যমে ফোনটিকে স্বয়ংচালিত ডিভাইসের সাথে ম্যানুয়ালি যুক্ত করুন।
  3. একবার ফোন জোড়া হয়ে গেলে, ডিভাইসে পরিচিতিগুলি অ্যাক্সেস করা যেতে পারে।