অ্যান্ড্রয়েড প্ল্যাটফর্ম পরীক্ষা

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

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

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

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

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

Google অ্যাপ এবং API-এর একটি সংগ্রহ যা ডিভাইসে আগে থেকে ইনস্টল করা যেতে পারে।

GoogleTest (GTest)

GTest হল একটি C++ টেস্টিং এবং মকিং ফ্রেমওয়ার্ক। GTest বাইনারিগুলি সাধারণত নিম্ন-স্তরের বিমূর্ত স্তরগুলি অ্যাক্সেস করে বা বিভিন্ন সিস্টেম পরিষেবার বিরুদ্ধে কাঁচা আইপিসি সম্পাদন করে। GTest-এর জন্য পরীক্ষার পদ্ধতি সাধারণত পরীক্ষা করা পরিষেবার সাথে শক্তভাবে মিলিত হয়। CTS-এ GTest ফ্রেমওয়ার্ক রয়েছে।

যন্ত্র পরীক্ষা

একটি ইন্সট্রুমেন্টেশন পরীক্ষা am instrument কমান্ড দ্বারা চালু করা একটি বিশেষ পরীক্ষা কার্যকর করার পরিবেশ প্রদান করে, যেখানে লক্ষ্যযুক্ত অ্যাপ্লিকেশন প্রক্রিয়াটি পুনরায় আরম্ভ করা হয় এবং প্রাথমিক অ্যাপ্লিকেশন প্রসঙ্গের সাথে শুরু করা হয় এবং অ্যাপ্লিকেশন প্রক্রিয়া ভার্চুয়াল মেশিনের ভিতরে একটি ইন্সট্রুমেন্টেশন থ্রেড শুরু হয়। CTS-এ ইন্সট্রুমেন্টেশন পরীক্ষা রয়েছে।

লগক্যাট

Logcat হল একটি কমান্ড-লাইন টুল যা সিস্টেম বার্তাগুলির একটি লগ তৈরি করে, যার মধ্যে ডিভাইসটি কখন একটি ত্রুটি এবং Log ক্লাসের মাধ্যমে আপনার অ্যাপ থেকে লেখা বার্তাগুলি ছুঁড়ে দেয় তার স্ট্যাক ট্রেস সহ।

লগিং

লগিং বলতে একটি লগ ব্যবহার করে কম্পিউটার সিস্টেমের ইভেন্টের ট্র্যাক রাখতে বোঝায়, যেমন ত্রুটি। Logcat টুলে ব্যবহৃত মানগুলির মিশ্রণের কারণে অ্যান্ড্রয়েডে লগিং করা জটিল।

পোস্ট জমা পরীক্ষা

একটি সাধারণ কার্নেল শাখায় একটি নতুন প্যাচ প্রতিশ্রুতিবদ্ধ হলে Android পোস্ট-সাবমিট পরীক্ষা করা হয়। একটি আংশিক শাখার নাম হিসাবে aosp_kernel প্রবেশ করার মাধ্যমে, আপনি উপলব্ধ ফলাফল সহ কার্নেল শাখাগুলির একটি তালিকা দেখতে পারেন। উদাহরণস্বরূপ, android-mainline এর ফলাফল https://ci.android.com/builds/branches/aosp_kernel-common-android-mainline/grid- এ পাওয়া যাবে।

পরীক্ষা জমা দিন

প্রি-সাবমিট পরীক্ষাগুলি সাধারণ কার্নেলগুলিতে প্রবর্তিত হওয়া থেকে ব্যর্থতা প্রতিরোধ করতে ব্যবহৃত হয়।

ট্রেড ফেডারেশন

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

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

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

প্ল্যাটফর্ম পরীক্ষার ধরন

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

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

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

এরপর কি?

নিম্নলিখিত নথিগুলির একটি তালিকা যা আপনি পড়তে পারেন: