ভেন্ডর টেস্ট স্যুট (VTS) এবং পরিকাঠামো

অ্যান্ড্রয়েড ভেন্ডর টেস্ট স্যুট (ভিটিএস) নিম্নলিখিত বিষয়ে বিস্তৃত পরীক্ষা প্রদান করে:

  • কার্নেল
  • হার্ডওয়্যার বিমূর্তকরণ স্তর (HAL)

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

  • VTS ট্রেড ফেডারেশন পরীক্ষার জোতা আপনার হোস্ট মেশিনে চলে এবং পরীক্ষা সম্পাদন পরিচালনা করে। এটি পরীক্ষার অধীনে একাধিক ডিভাইস জুড়ে Sharding কনফিগার করার ক্ষমতা প্রদান করে (DUTs)। আপনি সম্পূর্ণ পরীক্ষা স্যুটগুলির পরিবর্তে শুধুমাত্র ব্যর্থতার জন্য পুনরায় চেষ্টা করতে স্যুট পুনঃপ্রচার বৈশিষ্ট্যটি ব্যবহার করতে পারেন, যা পুনরায় চালানোর সময়কে ব্যাপকভাবে হ্রাস করে।
  • স্বতন্ত্র পরীক্ষার ক্ষেত্রে DUT-তে মৃত্যুদন্ড কার্যকর করা হয়। পরীক্ষার ক্ষেত্রে জিটেস্ট-স্টাইল পরীক্ষা, কার্নেল পরীক্ষা, বা জাভাতে লেখা JUnit-স্টাইল পরীক্ষা হতে পারে।

পরীক্ষার প্রকারভেদ

gtest-স্টাইল পরীক্ষা

VTS-এর বেশিরভাগ পরীক্ষা হল gtest-স্টাইলের পরীক্ষা যা HAL বাস্তবায়ন পরীক্ষা করে। পরীক্ষাটি C++ এ লেখা এবং ডিভাইসে চলে। একটি সাধারণ VTS gtest একটি প্রদত্ত ইন্টারফেসের প্রতিটি উদাহরণের মাধ্যমে পুনরাবৃত্তি করে এবং এটির বিরুদ্ধে সমস্ত পরীক্ষার কেস চালায়। একটি উদাহরণের জন্য VtsHalHealthStorageV1_0TargetTest পড়ুন।

লিনাক্স কার্নেল পরীক্ষা

  • Kselftest ( external/linux-kselftest ) হল Linux কার্নেল সংগ্রহস্থলের মধ্যে tools/testing/selftests এ অন্তর্ভুক্ত পরীক্ষার একটি সংগ্রহ, যার মধ্যে 23টি ARM-এ চালানোর জন্য VTS-তে অন্তর্ভুক্ত করা হয়েছে।

  • লিনাক্স টেস্ট প্রজেক্ট ( বহিরাগত/এলটিপি ) পরীক্ষাগুলি লিনাক্স কার্নেলের নির্ভরযোগ্যতা, দৃঢ়তা এবং স্থিতিশীলতা যাচাই করে।

JUnit-শৈলী পরীক্ষা

VTS-এ হোস্ট-চালিত পরীক্ষার একটি ছোট সেট হল JUnit-স্টাইলের পরীক্ষা, উদাহরণস্বরূপ, KernelApiSysfsTest । জাভা পরীক্ষাগুলি BaseHostJUnit4Test হিসাবে প্রয়োগ করা হয়, যা একটি পরীক্ষা ডিভাইসের সাথে সংযুক্ত এবং বৈধতা সঞ্চালনের জন্য শেল কমান্ড চালাতে পারে।

স্বতন্ত্র পাইথন 3 পরীক্ষা

কিছু VTS পরীক্ষা, যেমন vts_treble_sys_prop_test Python3 এ লেখা হয়। পাইথন-ভিত্তিক পরীক্ষাগুলি unittest.TestCase এবং প্রতিটি টেস্ট কেস শেল কমান্ডের মাধ্যমে ডিভাইসের সাথে যোগাযোগ করতে পারে।

,

অ্যান্ড্রয়েড ভেন্ডর টেস্ট স্যুট (ভিটিএস) নিম্নলিখিত বিষয়ে বিস্তৃত পরীক্ষা প্রদান করে:

  • কার্নেল
  • হার্ডওয়্যার বিমূর্তকরণ স্তর (HAL)

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

  • VTS ট্রেড ফেডারেশন পরীক্ষার জোতা আপনার হোস্ট মেশিনে চলে এবং পরীক্ষা সম্পাদন পরিচালনা করে। এটি পরীক্ষার অধীনে একাধিক ডিভাইস জুড়ে Sharding কনফিগার করার ক্ষমতা প্রদান করে (DUTs)। আপনি সম্পূর্ণ পরীক্ষা স্যুটগুলির পরিবর্তে শুধুমাত্র ব্যর্থতার জন্য পুনরায় চেষ্টা করতে স্যুট পুনঃপ্রচার বৈশিষ্ট্যটি ব্যবহার করতে পারেন, যা পুনরায় চালানোর সময়কে ব্যাপকভাবে হ্রাস করে।
  • স্বতন্ত্র পরীক্ষার ক্ষেত্রে DUT-তে মৃত্যুদন্ড কার্যকর করা হয়। পরীক্ষার ক্ষেত্রে জিটেস্ট-স্টাইল পরীক্ষা, কার্নেল পরীক্ষা, বা জাভাতে লেখা JUnit-স্টাইল পরীক্ষা হতে পারে।

পরীক্ষার প্রকারভেদ

gtest-স্টাইল পরীক্ষা

VTS-এর বেশিরভাগ পরীক্ষা হল gtest-স্টাইলের পরীক্ষা যা HAL বাস্তবায়ন পরীক্ষা করে। পরীক্ষাটি C++ এ লেখা এবং ডিভাইসে চলে। একটি সাধারণ VTS gtest একটি প্রদত্ত ইন্টারফেসের প্রতিটি উদাহরণের মাধ্যমে পুনরাবৃত্তি করে এবং এটির বিরুদ্ধে সমস্ত পরীক্ষার কেস চালায়। একটি উদাহরণের জন্য VtsHalHealthStorageV1_0TargetTest পড়ুন।

লিনাক্স কার্নেল পরীক্ষা

  • Kselftest ( external/linux-kselftest ) হল Linux কার্নেল সংগ্রহস্থলের মধ্যে tools/testing/selftests এ অন্তর্ভুক্ত পরীক্ষার একটি সংগ্রহ, যার মধ্যে 23টি ARM-এ চালানোর জন্য VTS-তে অন্তর্ভুক্ত করা হয়েছে।

  • লিনাক্স টেস্ট প্রজেক্ট ( বহিরাগত/এলটিপি ) পরীক্ষাগুলি লিনাক্স কার্নেলের নির্ভরযোগ্যতা, দৃঢ়তা এবং স্থিতিশীলতা যাচাই করে।

JUnit-শৈলী পরীক্ষা

VTS-এ হোস্ট-চালিত পরীক্ষার একটি ছোট সেট হল JUnit-স্টাইলের পরীক্ষা, উদাহরণস্বরূপ, KernelApiSysfsTest । জাভা পরীক্ষাগুলি BaseHostJUnit4Test হিসাবে প্রয়োগ করা হয়, যা একটি পরীক্ষা ডিভাইসের সাথে সংযুক্ত এবং বৈধতা সঞ্চালনের জন্য শেল কমান্ড চালাতে পারে।

স্বতন্ত্র পাইথন 3 পরীক্ষা

কিছু VTS পরীক্ষা, যেমন vts_treble_sys_prop_test Python3 এ লেখা হয়। পাইথন-ভিত্তিক পরীক্ষাগুলি unittest.TestCase এবং প্রতিটি টেস্ট কেস শেল কমান্ডের মাধ্যমে ডিভাইসের সাথে যোগাযোগ করতে পারে।