Android ভার্চুয়াল ডিভাইস দিয়ে পরীক্ষা শুরু করা

এই ডকুমেন্টে Test Lab-এর জন্য AVD-এর বিবরণ দেওয়া হয়েছে, যার মধ্যে সুবিধা ও পরিচিত সীমাবদ্ধতাও অন্তর্ভুক্ত। এছাড়াও, ডেভেলপমেন্ট লাইফসাইকেল জুড়ে কীভাবে আপনার অ্যাপ টেস্ট করবেন সেই সম্পর্কে আমরা সাজেশন দিই। Test Lab AVDs, Android Studio-র জন্য AVDs-এর মতো হলেও, ক্লাউড টেস্টিংয়ের মাধ্যমে পারফর্ম্যান্সের জন্য অপ্টিমাইজ করা হয়, তাই দুটির মধ্যে কিছু পার্থক্য আছে।

Test Lab .arm বা (Arm) সাফিক্স সহ AVD হল উন্নত এমুলেটর যা নিম্নলিখিত সুবিধা প্রদান করে:

  • টেস্ট এক্সিকিউশনের জন্য কম সময় লাগে

  • সামঞ্জস্য বজায় রাখার জন্য Android Studio-র AVD-এর সাথে স্ক্রিন সাইজ ও ডেনসিটি অ্যালাইন করা হয়েছে

  • GPU সমর্থিত অ্যাক্সিলারেটেড গ্রাফিক্স

ভার্চুয়াল ডিভাইস ব্যবহার করার সুবিধাগুলি নিম্নলিখিত সারণীতে বর্ণনা করা হয়েছে:

সুবিধা বিবরণ ব্যবহারিক ক্ষেত্র
হাই অ্যাভেইলেবিলিটি ভার্চুয়াল ডিভাইসের মাধ্যমে টেস্ট করলে আপনি আরও দ্রুত টেস্ট রান করতে এবং টেস্টের ফলাফল পেতে পারবেন। ভার্চুয়াল ডিভাইস চাহিদা অনুযায়ী তৈরি করা হয় বলে, আপনার টেস্ট প্রায় সঙ্গে সঙ্গেই শুরু হয়ে যায় এবং আপনার অ্যাপের দ্রুত যাচাইকরণ প্রদান করে। আপনার অ্যাপে ছোটখাটো আপডেট বা রিগ্রেশন টেস্টিং করা।
আরও বেশি সময় ধরে পরীক্ষা করা ভার্চুয়াল ডিভাইসে টেস্টের সময়সীমা সর্বাধিক ৬০ মিনিট পর্যন্ত হতে পারে। ফিজিক্যাল ডিভাইসে টেস্ট করার সময়সীমা প্রতিটি ডিভাইসে ৪৫ মিনিটের মধ্যে সীমিত। আরও দীর্ঘ টেস্ট চালানো
খরচ কমানো আপনার অ্যাপ পরীক্ষা করার জন্য ব্যবহৃত প্রতিটি ভার্চুয়াল ডিভাইসের জন্য ঘণ্টা প্রতি $১ চার্জ করা হয়। কন্টিনিউয়াস ইন্টিগ্রেশন সিস্টেম ব্যবহার করে অথবা কোড চেক করার আগে প্রতিদিন পরীক্ষা করা। আরও জানতে, Test Lab-এর জন্য ব্যবহারের লেভেল, কোটা ও দাম দেখুন।

ভার্চুয়াল ডিভাইসের মাধ্যমে আপনার অ্যাপ টেস্ট করুন

আপনি ফিজিক্যাল ডিভাইসের মাধ্যমে যেভাবে অ্যাপ টেস্ট করেন, ঠিক একইভাবে ভার্চুয়াল ডিভাইসের মাধ্যমেও অ্যাপ টেস্ট করতে পারবেন। আপনি টেস্ট ম্যাট্রিক্স কনফিগার করার সময় আপনার পরীক্ষার জন্য ভার্চুয়াল ডিভাইস বেছে নিতে পারবেন। Test Lab-এর সাথে টেস্ট রান করা সম্পর্কে আরও জানতে, Firebase Test Lab-এর সাথে Android-এর জন্য টেস্ট শুরু করুনদেখুন।

কাজ করে এমন মডেল ও API দেখুন

Test Lab-এর মাধ্যমে কাজ করে এমন AVD মডেল ও API দেখতে, নিম্নলিখিত কমান্ড রান করুন:

gcloud firebase test android models list --filter=virtual

আপনার অ্যাপ পরীক্ষা করার পেশাদার পদ্ধতি

Test Lab-এর মাধ্যমে আপনার অ্যাপ পরীক্ষা করার সময় ভার্চুয়াল ডিভাইস আপনার বিকল্পের রেঞ্জ বাড়ায়। অ্যাপ ডেভেলপমেন্ট লাইফসাইকেল জুড়ে আপনার অ্যাপ টেস্ট করার জন্য আমরা নিম্নলিখিত পেশাদার পদ্ধতি ব্যবহার করার সাজেশন দিই:

Android Studio এমুলেটর বা অ্যাটাচ করা ফিজিক্যাল ডিভাইস ব্যবহার করা

আপনার অ্যাপ ডেভেলপ করার সময়, প্রাথমিক যাচাইকরণের জন্য প্রতিটি বিল্ড পরীক্ষা করতে Android Studio এমুলেটর বা অ্যাটাচ করা ফিজিক্যাল ডিভাইস ব্যবহার করুন। আপনার কাছে ইনস্ট্রুমেন্টেশন টেস্ট থাকলে, আপনি Android Studio থেকে Test Lab-এর দেওয়া ফিজিক্যাল বা ভার্চুয়াল ডিভাইসেও এই টেস্ট চালাতে পারবেন।

শেয়ার করা প্রোজেক্টে কাজ করার সময় প্রতিটি কোড পরিবর্তনের ক্ষেত্রে CI সিস্টেম ব্যবহার করুন

আপনি যদি কোনও বড় প্রোজেক্টে কাজ করেন বা GitHub বা একই ধরনের সাইট ব্যবহার করে শেয়ার করা প্রোজেক্টে কন্ট্রিবিউট করেন, তাহলে আমরা আপনাকে কন্টিনিউয়াস ইন্টিগ্রেশন (CI) সিস্টেম ব্যবহার করার সাজেশন দিই। প্রতিবার CI সিস্টেম রান করার সময় অথবা প্রতিটি পুল রিকোয়েস্টের আগে ভার্চুয়াল ডিভাইসে আপনার অ্যাপ পরীক্ষা করুন। CI সিস্টেমের সাথে Test Lab ব্যবহার করার ব্যাপারে আরও জানতে, কন্টিনিউয়াস ইন্টিগ্রেশন সিস্টেমের সাথে Android-এর জন্য Test Lab ব্যবহার করা দেখুন।

অ্যাপের গুরুত্বপূর্ণ আপডেট রিলিজ করার আগে Test Lab-এর মাধ্যমে ফিজিক্যাল ডিভাইসে আপনার অ্যাপ টেস্ট করুন

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

ভার্চুয়াল ডিভাইস আপডেট

Android টিম নির্দিষ্ট সময় অন্তর নতুন ভার্চুয়াল ডিভাইসের ছবি যোগ করে, পুরনো ছবি সরিয়ে দেয় এবং আগে থেকে থাকা ছবি আপডেট করে। আমরা ভার্চুয়াল ডিভাইসের ছবিতে এইসব আপডেট প্রয়োগ করি যাতে আপনি আপ-টু-ডেট Android ভার্সনে পরীক্ষা করতে পারেন এবং আপনার ব্যবহারকারীর অভিজ্ঞতা বুঝতে পারেন।

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

পরিচিত সীমাবদ্ধতা

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

ফিচার বিবরণ
অ্যাপ্লিকেশন বাইনারি ইন্টারফেস (ABI) সব ডিভাইসে সব ABI কাজ করে না। আপনি Android NDK ব্যবহার করে ডেভেলপ করলে, আপনার টার্গেট করা ডিভাইসের দ্বারা সমর্থিত ABI-এর জন্য কোড জেনারেট করতে ভুলবেন না (Test Lab-এ উপলভ্য ডিভাইস দেখুন)। ABI ম্যানেজমেন্ট সম্পর্কে আরও জানতে, Android ABI দেখুন।

মনে রাখবেন: আপনার টেস্ট ম্যাট্রিক্সের কোনও টেস্ট 'ভুল' হিসেবে চিহ্নিত করা হলে, এটি হতে পারে কারণ আপনার অ্যাপ নেটিভ কোডের উপর নির্ভরশীল যা ডিভাইস ABI-এর সাথে কম্প্যাটিবল নয়।

গ্রাফিক্স পারফর্ম্যান্স Nexus এবং Pixel ভার্চুয়াল ডিভাইস সফ্টওয়্যার গ্রাফিক্স রেন্ডারিং ব্যবহার করে। গ্রাফিক্স ইনটেনসিভ অ্যাপ্লিকেশনের পারফর্ম্যান্স কম হতে পারে। আপনার অ্যাপে গ্রাফিক্সের ব্যবহার বেশি হলে, SmallPhone.arm, MediumPhone.arm বা ফিজিক্যাল ডিভাইস ব্যবহার করার কথা বিবেচনা করুন।
গ্রাফিক্স API API লেভেল ২৯-এর নিচের ডিভাইসে OpenGL ES 3.x কাজ করে না। নতুন ডিভাইস OpenGL/Vulkan API-এর সাথে ১০০% মানানসই নয়, আপনি গ্রাফিক্সে সামান্য পার্থক্য লক্ষ্য করতে পারেন।
Google Play Store অ্যাপ Google Play Store অ্যাপ Arm ভার্চুয়াল ডিভাইসে কাজ করে না।
অগমেন্টেড রিয়েলিটি (AR) কার্যকারিতা ভার্চুয়াল ডিভাইসে অগমেন্টেড রিয়ালিটি (AR) কার্যকারিতা পরীক্ষা করা যায় না।
পুরনো API লেভেল Test Lab Arm ভার্চুয়াল ডিভাইসে ২৬-এর কম API লেভেল কাজ করে না।

পরবর্তী ধাপ