অ্যান্ড্রয়েড কম্প্যাটিবিলিটি টেস্ট স্যুট (CTS) লক্ষ লক্ষ স্বতন্ত্র পরীক্ষা প্রদান করে। সফটওয়্যার ডেভেলপমেন্ট পর্যায়ে ঘন ঘন CTS চালানো প্রয়োজনীয় হলেও, এই পরীক্ষাগুলো চালানোর জন্য প্রয়োজনীয় সময় কমানো সম্ভব।
এই পৃষ্ঠায় পরীক্ষা সম্পাদনের সময় কমানোর পদ্ধতি এবং এই প্রক্রিয়ায় হার্ডওয়্যার রিসোর্সকে কীভাবে সর্বোত্তমভাবে ব্যবহার করা যায়, তা বর্ণনা করা হয়েছে।
শার্ডিং ডিভাইস
সাইকেল টাইম কমাতে, একাধিক ডিভাইসে CTS চালানোর কথা বিবেচনা করুন (শার্ডিং)। শার্ডিং কীভাবে ব্যবহার করা যায় তা দেখতে, ‘Run CTS tests’ পর্যালোচনা করুন।
অ্যান্ড্রয়েড টেস্ট স্টেশন
স্ট্যান্ডার্ড অ্যান্ড্রয়েড টেস্ট স্যুটগুলো চালানোর জন্য একটি ইউজার ইন্টারফেস হিসেবে অ্যান্ড্রয়েড টেস্ট স্টেশন (ATS) ব্যবহার করুন। এই টুলটি ট্রেড ফেডারেশন (TF)- এর জন্য একটি ওয়েব ইন্টারফেস হিসেবে কাজ করে, যা আপনাকে ন্যূনতম সেটআপের মাধ্যমে একগুচ্ছ টেস্ট ডিভাইসে CTS চালাতে এবং সেইসাথে ক্রমাগত টেস্ট চালানোর জন্য একটি সময়সূচী নির্ধারণ করতে দেয়।
অ্যান্ড্রয়েড টেস্ট স্টেশন মাল্টি-হোস্ট মোড সমর্থন করে, যার মাধ্যমে একটিমাত্র এটিএস কন্ট্রোলার হোস্ট ব্যবহার করে একাধিক এটিএস ওয়ার্কার হোস্টে থাকা ডিভাইস এবং টেস্টগুলো পরিচালনা করা যায়।
এমুলেটর ক্রমাগত চলছে
উন্নয়ন পর্যায়ে CTS নিরবচ্ছিন্নভাবে চালানোর জন্য, হার্ডওয়্যারের বিকল্প হিসেবে অ্যান্ড্রয়েড ভার্চুয়াল ডিভাইস (AVD) ব্যবহার করা যেতে পারে। এর মাধ্যমে টেস্ট ব্যর্থতার রিগ্রেশনগুলো আগেভাগেই শনাক্ত করা যায়, ফলে মূল কারণগুলো বাছাই ও বিশ্লেষণ করার জন্য প্রয়োজনীয় অনেকটা সময় বেঁচে যায়। শার্ডিংয়ের জন্য এমুলেটরের একাধিক ইনস্ট্যান্স ব্যবহার করা যায় এবং অ্যান্ড্রয়েড টেস্ট স্টেশনের সাথে সেগুলোকে নিরবচ্ছিন্নভাবে চালানোর জন্য শিডিউল করা যায়।
ড্রএলিমেন্টস কোয়ালিটি প্রোগ্রাম (dEQP)
drawElements কোয়ালিটি প্রোগ্রাম (dEQP) অ্যান্ড্রয়েড CTS-এর অন্তর্ভুক্ত। CtsDepqTestCases নামে পরিচিত এই প্রোগ্রামটি অ্যান্ড্রয়েড গ্রাফিক্সের টেস্ট কভারেজের উপর আলোকপাত করে। এই মডিউলটি অ্যান্ড্রয়েড CTS-এর সমস্ত টেস্ট কেসের প্রায় ৮০% সম্পন্ন করে এবং মোট এক্সিকিউশন সময়ের ৬% ব্যয় করে।
যেহেতু অ্যান্ড্রয়েড গ্রাফিক্স ড্রাইভারগুলো অ্যান্ড্রয়েড ফার্মওয়্যার (বিএসপি)-এর অংশ এবং ডেভেলপমেন্টের সময় এতে খুব বেশি পরিবর্তন আসে না, তাই আপনি কৌশলগতভাবে এই মডিউলটি চালাতে পারেন। উদাহরণস্বরূপ, সফটওয়্যার ডেভেলপমেন্টের সময় যদি আপনি প্রতি দুই সপ্তাহে (বা তারও কম সময়ে) সিটিএস চালান, তাহলে ফার্মওয়্যার আপডেটের সময়সূচীর উপর ভিত্তি করে আপনি বেশ কয়েকটি চক্রের জন্য এই মডিউলটিকে বাদ দিতে পারেন।
একটি উপায় হলো, কয়েকটি ডিভাইসে আলাদাভাবে CtsDeqpTestCases চালানো এবং তারপর CTS রিপোর্টগুলো জমা দেওয়া। উদাহরণস্বরূপ, দুটি ভিন্ন হোস্টে।
আয়োজক ১:
cts-tf > run cts --max-log-size 100 --shard-count 6 -o -m CtsDeqpTestCases
আয়োজক ২:
cts-tf > run cts --max-log-size 100 --shard-count 6 -o --exclude-filter CtsDeqpTestCases
মিডিয়া টেস্ট কেস
মিডিয়া টেস্ট কেসগুলো অডিও, ভিডিও এবং মাল্টিমিডিয়া ড্রাইভারের মতো মাল্টিমিডিয়া পরিষেবাগুলো যাচাই করে। এই মাল্টিমিডিয়া টেস্ট মডিউলগুলোই CTS-এর এক্সিকিউশন টাইমে সবচেয়ে বেশি অবদান রাখে। নিম্নলিখিত ক্ষেত্রে বিলম্ব ঘটতে পারে:
- পরীক্ষার সময় মিডিয়া ফাইল ডাউনলোড করা বা বারবার মিডিয়া ফাইল চালানো।
- ব্যর্থ হওয়া টেস্ট কেসগুলো পুনরায় চেষ্টা করা হচ্ছে।
অ্যান্ড্রয়েড CTS-এ এই টেস্ট মডিউলগুলো রয়েছে:
-
CtsMediaStressTestCases -
CtsMediaPlayerTestCases -
CtsMediaAudioTestCases -
CtsVideoTestCases -
CtsMediaDecoderTestCases -
CtsMediaCodecTestCases -
CtsMediaV2TestCases
স্থানীয়ভাবে অথবা স্থানীয় সার্ভারে কিছু মিডিয়া পরীক্ষা চালানোর কথা বিবেচনা করুন। বিস্তারিত জানতে, ‘স্থানীয়ভাবে CTS মিডিয়া পরীক্ষা চালান’ দেখুন।
মাল্টিমিডিয়া ফ্রেমওয়ার্ক এবং এর ড্রাইভারগুলো (ডিকোডার ও এনকোডার) অ্যান্ড্রয়েড ফার্মওয়্যার (বিএসপি)-এর অংশ। ফার্মওয়্যার আপডেটের সময়সূচীর উপর ভিত্তি করে, আপনি কৌশলগতভাবে এই মডিউলটি চালাতে পারেন এবং কয়েকটি চক্রের জন্য এটিকে বাদও দিতে পারেন।