অ্যান্ড্রয়েড প্ল্যাটফর্ম টেস্টিং

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

তারপরে এই বিভাগে আপনার জন্য উপলব্ধ সুনির্দিষ্ট প্রযুক্তিগুলি, যেমন ভেন্ডর টেস্ট স্যুট (VTS) এবং এর অগণিত ভিডিও এবং কোডল্যাব টিউটোরিয়ালগুলি দেখুন

এছাড়াও দুর্বলতার বিরুদ্ধে আপনার ডিভাইসগুলি সনাক্ত এবং শক্ত করার জন্য উপলব্ধ সুরক্ষা-নির্দিষ্ট পরীক্ষার প্রক্রিয়াগুলি নোট করুন৷

অ্যাপ পরীক্ষার জন্য, পরীক্ষার মৌলিক বিষয়গুলি দিয়ে শুরু করুন এবং প্রদত্ত নমুনাগুলি ব্যবহার করে Android টেস্টিং কোডল্যাব পরিচালনা করুন৷

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

কি এবং কিভাবে পরীক্ষা

একটি প্ল্যাটফর্ম পরীক্ষা সাধারণত এক বা একাধিক Android সিস্টেম পরিষেবা বা হার্ডওয়্যার অ্যাবস্ট্রাকশন লেয়ার (HAL) স্তরগুলির সাথে ইন্টারঅ্যাক্ট করে, পরীক্ষার অধীনে বিষয়ের কার্যকারিতা অনুশীলন করে এবং পরীক্ষার ফলাফলের সঠিকতা নিশ্চিত করে।

যেমন, একটি প্ল্যাটফর্ম পরীক্ষা হতে পারে:

  1. অ্যাপ্লিকেশন ফ্রেমওয়ার্কের মাধ্যমে ব্যায়াম ফ্রেমওয়ার্ক API; নির্দিষ্ট এপিআই ব্যবহার করা হচ্ছে এতে অন্তর্ভুক্ত থাকতে পারে:
    • তৃতীয় পক্ষের অ্যাপ্লিকেশনের উদ্দেশ্যে পাবলিক API
    • লুকানো API গুলি বিশেষাধিকারপ্রাপ্ত অ্যাপ্লিকেশনগুলির জন্য, যথা সিস্টেম APIগুলির জন্য৷
    • ব্যক্তিগত API (@লুকান, বা সুরক্ষিত, প্যাকেজ ব্যক্তিগত)
  2. সরাসরি কাঁচা বাইন্ডার/আইপিসি প্রক্সির মাধ্যমে অ্যান্ড্রয়েড সিস্টেম পরিষেবাগুলি আহ্বান করুন
  3. নিম্ন-স্তরের API বা IPC ইন্টারফেসের মাধ্যমে HAL-এর সাথে সরাসরি যোগাযোগ করুন

টাইপ 1 এবং 2 সাধারণত ইন্সট্রুমেন্টেশন পরীক্ষা হিসাবে লেখা হয়, যখন টাইপ 3 সাধারণত GTests হিসাবে লেখা হয়।

আরও জানতে, আমাদের শেষ থেকে শেষ উদাহরণগুলি দেখুন:

এই টুলগুলির সাথে পরিচিত হন, কারণ এগুলি Android-এ পরীক্ষার জন্য অন্তর্নিহিত।

সামঞ্জস্য পরীক্ষা স্যুট (CTS)

Android কম্প্যাটিবিলিটি টেস্ট স্যুট হল বিভিন্ন ধরনের পরীক্ষার একটি স্যুট, যা OEM অংশীদার এবং প্ল্যাটফর্ম রিলিজ জুড়ে Android ফ্রেমওয়ার্ক বাস্তবায়নের সামঞ্জস্য নিশ্চিত করতে ব্যবহৃত হয়। স্যুটে ইন্সট্রুমেন্টেশন পরীক্ষা এবং GTest ফ্রেমওয়ার্কও রয়েছে।

CTS এবং প্ল্যাটফর্ম পরীক্ষাগুলি পারস্পরিকভাবে একচেটিয়া নয়, এবং এখানে কিছু সাধারণ নির্দেশিকা রয়েছে:

  • যদি একটি পরীক্ষা ফ্রেমওয়ার্ক API ফাংশন/আচরণগুলির সঠিকতা জাহির করে এবং এটি OEM অংশীদারদের জুড়ে প্রয়োগ করা উচিত, এটি CTS-এ হওয়া উচিত
  • যদি একটি পরীক্ষা প্ল্যাটফর্ম ডেভেলপমেন্ট চক্রের সময় রিগ্রেশন ধরার উদ্দেশ্যে করা হয়, এবং এটি চালানোর জন্য বিশেষ অনুমতির প্রয়োজন হতে পারে এবং বাস্তবায়নের বিবরণের উপর নির্ভরশীল হতে পারে (AOSP-তে প্রকাশিত), এটি শুধুমাত্র প্ল্যাটফর্ম পরীক্ষা হওয়া উচিত

ভেন্ডর টেস্ট স্যুট (VTS)

ভেন্ডর টেস্ট স্যুট (VTS) HAL এবং OS কার্নেল পরীক্ষা স্বয়ংক্রিয় করে। একটি অন্তর্নির্মিত Android সিস্টেম বাস্তবায়ন পরীক্ষা করতে VTS ব্যবহার করতে, একটি পরীক্ষার পরিবেশ সেট আপ করুন তারপর একটি VTS প্ল্যান ব্যবহার করে একটি প্যাচ পরীক্ষা করুন৷

ট্রেড ফেডারেশন টেস্টিং পরিকাঠামো

ট্রেড ফেডারেশন (সংক্ষেপে ট্রেডফেড বা TF) একটি ক্রমাগত পরীক্ষার কাঠামো যা অ্যান্ড্রয়েড ডিভাইসে পরীক্ষা চালানোর জন্য ডিজাইন করা হয়েছে। TF আপনার প্ল্যাটফর্ম চেকআউটের মধ্যে আপনার ডেস্কে স্থানীয়ভাবে কার্যকরী পরীক্ষা চালাতে পারে। TF-এ একটি পরীক্ষা চালানোর জন্য দুটি প্রয়োজনীয় ফাইল আছে, একটি জাভা পরীক্ষার উত্স এবং একটি XML কনফিগার৷ উদাহরণের জন্য RebootTest.java এবং reboot.xml দেখুন।

ডিবাগিং

ডিবাগিং বিভাগটি প্ল্যাটফর্ম-স্তরের বৈশিষ্ট্যগুলি বিকাশ করার সময় বিল্ট-ইন অ্যান্ড্রয়েড প্ল্যাটফর্ম কোড ডিবাগিং, ট্রেসিং এবং প্রোফাইলিংয়ের জন্য দরকারী সরঞ্জাম এবং সম্পর্কিত কমান্ডের সংক্ষিপ্ত বিবরণ দেয়।