CTS FAQ

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

সাধারণ প্রশ্নাবলী

এই বিভাগে সাধারণ CTS FAQ প্রদান করা হয়েছে।

সিটিএস পরীক্ষা কোন ধরণের জিনিসের উপর নির্ভর করে?

CTS পরীক্ষা করে যে সমস্ত সমর্থিত Android শক্তিশালী টাইপ করা API গুলি উপস্থিত আছে এবং সঠিকভাবে আচরণ করে। CTS অন্যান্য নন-API সিস্টেম আচরণ যেমন অ্যাপ লাইফসাইকেল এবং কর্মক্ষমতাও পরীক্ষা করে।

সিটিএস কীভাবে লাইসেন্সপ্রাপ্ত হয়?

সিটিএস একই অ্যাপাচি সফটওয়্যার লাইসেন্স ২.০ এর অধীনে লাইসেন্সপ্রাপ্ত যা বেশিরভাগ অ্যান্ড্রয়েড ব্যবহার করে।

কোডেক কি CTS দ্বারা যাচাই করা হয়?

হ্যাঁ। সমস্ত বাধ্যতামূলক কোডেক CTS দ্বারা যাচাই করা হয়।

পরীক্ষা-নির্দিষ্ট প্রশ্ন

এই বিভাগে প্রায়শই জিজ্ঞাসিত প্রশ্নাবলী প্রদান করা হয়েছে যা CTS পরীক্ষাগুলি আরও দক্ষতার সাথে চালাতে সাহায্য করে।

সিটিএস শার্ডিং এবং টিএফ শার্ডিংয়ের মধ্যে পার্থক্য কী?

CTS Sharding এবং TF Sharding সম্পূর্ণ ভিন্ন টেস্ট প্ল্যান যা বিভিন্ন টেস্ট ইনফ্রাস্ট্রাকচার কোডবেস দ্বারা চালিত। বিভিন্ন ভার্সনে রান কমান্ড একই হলেও, sharding ফলাফল ভিন্নভাবে আচরণ করে। CTS Sharding স্ট্যাটিকভাবে ডিভাইস আন্ডার টেস্ট (DUTs) তে টেস্ট কেস নির্ধারণ করে নিম্নরূপ:

  • কমান্ড: cts চালান
  • অ্যান্ড্রয়েড ৮.১ এবং তার নিচের ভার্সনের জন্য কনফিগারেশন: /tools/cts-tradefed/res/config/cts.xml

টিএফ শারডিং গতিশীলভাবে উপলব্ধ ডিইউটিগুলিতে পরীক্ষার কেসগুলি নিম্নরূপ বরাদ্দ করে:

একাধিক ABI সমর্থনকারী একটি ডিভাইস থেকে কী আশা করা যায়?

ডিভাইসটিকে প্রতিটি ABI মোডের জন্য সমস্ত CTS এবং CTS যাচাইকারী পরীক্ষায় উত্তীর্ণ হতে হবে যা এটি সমর্থন করে বলে দাবি করে। অতএব, নির্দিষ্ট ABI-এর জন্য একটি অ্যাপ চালানো প্রয়োজন। একাধিক ABI-এর জন্য নির্দেশিকা নিম্নরূপ:

  • CTS এবং CTS Verifier-এর জন্য, প্রতিটি আর্কিটেকচারের জন্য ARM এবং x86 রিলিজ রয়েছে। তাদের প্রতিটি 32- বা 64-বিট মোড সমর্থন করতে পারে।
  • CTS পরীক্ষার জন্য, যদি কোনও ডিভাইস ARM এবং x86 উভয়কেই সমর্থন করে, তাহলে এটিকে যথাক্রমে ARM এবং x86 CTS উভয় পরীক্ষা চালাতে হবে এবং পাস করতে হবে।

ABI-তে CDD প্রয়োজনীয়তার জন্য CDD 3.3.1. অ্যাপ্লিকেশন বাইনারি ইন্টারফেস দেখুন।

পরীক্ষার সময় কমাতে কি শুধুমাত্র প্রাথমিক ABI (উদাহরণস্বরূপ, 64 বিট) তে একটি পরীক্ষা চালানো যথেষ্ট?

না। একটি অ্যান্ড্রয়েড অ্যাপ তার নিজস্ব 32-বিট বা 64-বিট রানটাইমে চলে। প্রকৃত মেশিন কোড, কোড পাথ এবং অবস্থা 32 এবং 64 এর মধ্যে আলাদা। আপনি যদি একটি মোড এড়িয়ে যান, তাহলে আপনি ডিভাইস ABI এর মাত্র 50% কভার করছেন।

কেন এত বেশি পরীক্ষার ঘটনা কার্যকর করা হয়নি বলে রিপোর্ট করা হচ্ছে?

আপনার "নট এক্সিকিউটেড " নম্বরের পরিবর্তে "ডন মডিউল" নম্বরটি পরীক্ষা করা উচিত।

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

একটি মডিউল রান টু কমপ্লিশন রিপোর্ট করে যে মডিউলটি রিপোর্টের সাম্প্রতিকতম আমন্ত্রণে (done="false") নিম্নলিখিত সময়কালে সম্পন্ন হয়নি :

  • ডিভাইস সংযোগের সমস্যার কারণে মডিউলটির পরীক্ষামূলক কার্যক্রম ব্যাহত হয়েছে।
  • মডিউলটির জন্য প্রত্যাশিত সমস্ত পরীক্ষা চালানো হয়নি।
  • অতিরিক্ত ফিল্টারিং বিকল্প সহ (বিকল্প -r/--retry ব্যবহার করে) পুনরায় চেষ্টা করা হয়েছে, যেমন:

    • --অন্তর্ভুক্ত-ফিল্টার
    • --ছাড়ুন-ফিল্টার
    • -t/--পরীক্ষা (পুনরায় চেষ্টা করার সময় বিকল্পটি এখনও সমর্থিত নয়)
    • --পুনরায় চেষ্টা করার ধরণ ব্যর্থ হয়েছে
    • --সাবপ্ল্যান

এই মডিউলগুলির জন্য মডিউল Done (done="true") এর স্থিতি পেতে, সাম্প্রতিকতম আহ্বানের জন্য নিম্নলিখিতগুলি পুনরায় চেষ্টা করুন:

run retry --retry <session_id> for Android 9 and later versions
run cts --retry <session_id> for Android 8.1 and previous versions

পূর্বে উল্লেখিত কোনও সমস্যা ছাড়াই (যদিও 0 টি পরীক্ষা বাকি থাকলেও) একটি মডিউল কার্যকর করা হয়েছে, নতুন প্রতিবেদনে মডিউল সম্পন্ন হিসাবে চিহ্নিত করা হয়েছে।

ব্যতিক্রম

  • লিনাক্স/ওএসে সীমাবদ্ধ আর্গসের কারণে CtsNNAPITestCases-এর একটি পরিচিত সমস্যা রয়েছে। মডিউলটি সরাসরি run cts -m CtsNNAPITestCases মাধ্যমে বিচ্ছিন্নভাবে পুনরায় চালানো যেতে পারে।

কর্পোরেট ফায়ারওয়ালের পিছনে পরীক্ষার প্রস্তুতি ব্যর্থ হওয়া কীভাবে এড়াতে পারি?

সমস্ত স্বয়ংক্রিয় পরীক্ষা স্যুট রানটাইম চলাকালীন CTS মিডিয়া ফাইল অথবা ব্যবসায়িক লজিক ফাইল ডাউনলোড করার চেষ্টা করে। অনেক কর্পোরেট পরিবেশে, একটি ফায়ারওয়াল এবং প্রক্সি সাধারণত থাকে, যার ফলে পরীক্ষার প্রস্তুতি ব্যর্থ হয়। নিম্নলিখিত লাইনটি কার্যকর করুন অথবা এটি .profile এ যোগ করুন (উবুন্টুতে)।

export JAVA_TOOL_OPTIONS='-Djava.net.useSystemProxies=true'

সিকিউর এলিমেন্টের জন্য কি আমার CTS-এর জন্য সিম কার্ডের প্রয়োজন?

পরীক্ষার জন্য সিম কার্ডের প্রয়োজন কিনা তা নির্ভর করে পরীক্ষামূলক ডিভাইসে বৈশিষ্ট্যটি সমর্থিত কিনা তা বোঝার উপর।

  • যদি আপনার ডিভাইসে মোবাইল নেটওয়ার্ক অপারেটর (ক্যারিয়ার) দ্বারা বিতরণ করা UICC (যেমন, একটি SIM কার্ড) অথবা ডিভাইসে এমবেড করা সুরক্ষিত উপাদান অ্যাক্সেস করার জন্য Android অ্যাপগুলিকে সমর্থন করার প্রয়োজন না হয় , তাহলে আপনি android.hardware.secure_element HAL উপাদান অন্তর্ভুক্ত না করার জন্য HIDL ম্যানিফেস্ট কনফিগার করতে পারেন। এই ক্ষেত্রে, android.se.omapi.SEService.getReaders() API একটি খালি তালিকা রিপোর্ট করে এবং CTS পরীক্ষা স্বয়ংক্রিয়ভাবে পাস করে এবং CTS এর জন্য একটি পাস রিপোর্ট করে।
  • যদি আপনার ডিভাইসে মোবাইল নেটওয়ার্ক অপারেটর (ক্যারিয়ার) দ্বারা বিতরণ করা UICC (যেমন, একটি SIM কার্ড) অথবা ডিভাইসে এমবেড করা নিরাপদ উপাদান অ্যাক্সেস করার জন্য Android অ্যাপগুলিকে সমর্থন করার প্রয়োজন হয় , তাহলে আপনাকে নিরাপদ উপাদানটি সঠিকভাবে বাস্তবায়ন করতে হবে এবং এটি ঘরে বসে পরীক্ষা করতে হবে। নিরাপদ উপাদানের জন্য CTS পরীক্ষায় Android 9-এ যোগ করা android.se.omapi API প্যাকেজ কার্যকরী কিনা তা নিশ্চিত করার জন্য CTS পরীক্ষাগুলি চালানোর জন্য কীভাবে প্রস্তুতি নেওয়া যায় তা বর্ণনা করা হয়েছে। আমরা আপনাকে নিজে অতিরিক্ত পরীক্ষা করার পরামর্শও দিচ্ছি কারণ CTS পরীক্ষার কভারেজ ন্যূনতম।

সিকিউর এলিমেন্টের জন্য CTS-এর সিম কার্ডগুলি আমি কোথায় পেতে পারি?

আপনি আপনার পছন্দের সিম বিক্রেতার সাথে যোগাযোগ করতে পারেন।

টোকেন শারডিং সহ CTS কার্যকর করার সময় অরেঞ্জ সিম কেন লক স্ক্রিনে থাকে?

সিম কার্ড পরীক্ষা করা লক হওয়ায় টেস্ট কেস শুরু হচ্ছে না। টোকেন শারডিং দিয়ে CTS চালানোর আগে **সিম কার্ড লক সেটিংসে সিম কার্ড লক করুন অক্ষম করুন।

ডিভাইসে ফিচার ফ্ল্যাগগুলি অক্ষম থাকলে পরীক্ষা চালানো হয়

রিলিজ বিল্ডের সকল ফ্ল্যাগের জন্য, @RequiresFlagsEnabled অথবা @RequiresFlagsDisabled অ্যানোটেশনটি ডিভাইস রিলিজ কনফিগারেশন থেকে নয়, CTS বাইনারি রিলিজ কনফিগারেশন থেকে ফ্ল্যাগের মান ব্যবহার করে। ডিভাইসে ফ্ল্যাগগুলি অক্ষম করলে পরীক্ষাটি অক্ষম হয় না কারণ প্রদত্ত রিলিজের জন্য চালানো CTS পরীক্ষার সেটটি AOSP প্ল্যাটফর্ম রিলিজ কনফিগারেশনে স্থির থাকে।