এই ডকুমেন্টে Test Lab জন্য এভিডি (AVD) সম্পর্কে বর্ণনা করা হয়েছে, যার মধ্যে এর সুবিধা এবং জ্ঞাত সীমাবদ্ধতাগুলো অন্তর্ভুক্ত রয়েছে। এছাড়াও, ডেভেলপমেন্ট লাইফসাইকেল জুড়ে আপনার অ্যাপটি কীভাবে পরীক্ষা করবেন সে সম্পর্কে আমরা কিছু সুপারিশ প্রদান করেছি। Test Lab এভিডিগুলো অ্যান্ড্রয়েড স্টুডিওর এভিডিগুলোর মতোই, তবে এগুলো ক্লাউড টেস্টিংয়ের জন্য পারফরম্যান্স অপ্টিমাইজ করা হয়েছে, তাই উভয়ের মধ্যে কিছু পার্থক্য রয়েছে।
.arm বা (Arm) সাফিক্সযুক্ত Test Lab এভিডিগুলো হলো উন্নত এমুলেটর, যা নিম্নলিখিত সুবিধাগুলো প্রদান করে:
দ্রুততর পরীক্ষা সম্পাদনের সময়
সামঞ্জস্য রক্ষার জন্য স্ক্রিনের আকার ও ঘনত্ব অ্যান্ড্রয়েড স্টুডিওর এভিডি-র সাথে মেলানো হয়েছে।
জিপিইউ সমর্থিত ত্বরান্বিত গ্রাফিক্স
নিম্নলিখিত সারণিতে ভার্চুয়াল ডিভাইস ব্যবহারের সুবিধাগুলো বর্ণনা করা হয়েছে:
| সুবিধা | বর্ণনা | ব্যবহারের ক্ষেত্র(গুলি) |
| উচ্চ প্রাপ্যতা | ভার্চুয়াল ডিভাইস ব্যবহার করে পরীক্ষা করলে আপনি আরও দ্রুত পরীক্ষা চালাতে এবং পরীক্ষার ফলাফল পেতে পারেন। যেহেতু ভার্চুয়াল ডিভাইসগুলো চাহিদা অনুযায়ী তৈরি হয়, আপনার পরীক্ষাগুলো প্রায় সঙ্গে সঙ্গেই শুরু হয়ে যায়, যা আপনার অ্যাপের দ্রুত যাচাইকরণ নিশ্চিত করে। | আপনার অ্যাপের ছোটখাটো আপডেট পরীক্ষা করার জন্য, অথবা রিগ্রেশন টেস্টিংয়ের জন্য। |
| দীর্ঘ পরীক্ষার সময়কাল | ভার্চুয়াল ডিভাইসগুলোতে সর্বোচ্চ ৬০ মিনিট পর্যন্ত পরীক্ষা করা যায়। ফিজিক্যাল ডিভাইসগুলোতে প্রতিটি পরীক্ষার সময়সীমা ৪৫ মিনিটে সীমাবদ্ধ। | দীর্ঘ পরীক্ষা চালানো |
| কম খরচ | আপনার অ্যাপ পরীক্ষা করার জন্য ব্যবহৃত প্রতিটি ভার্চুয়াল ডিভাইসের মূল্য প্রতি ঘণ্টায় ১ ডলার। | কন্টিনিউয়াস ইন্টিগ্রেশন সিস্টেম ব্যবহার করে দৈনিক টেস্টিং, অথবা কোড চেক ইন করার আগে। আরও জানতে, Test Lab ব্যবহারের স্তর, কোটা এবং মূল্য দেখুন। |
ভার্চুয়াল ডিভাইস দিয়ে আপনার অ্যাপ পরীক্ষা করুন
আপনি ফিজিক্যাল ডিভাইসের মতোই ভার্চুয়াল ডিভাইস দিয়ে আপনার অ্যাপ পরীক্ষা করতে পারেন। একটি টেস্ট ম্যাট্রিক্স কনফিগার করার সময় আপনি আপনার পরীক্ষার জন্য ভার্চুয়াল ডিভাইস নির্বাচন করতে পারেন। Test Lab দিয়ে পরীক্ষা চালানো সম্পর্কে আরও জানতে, Firebase Test Lab দিয়ে অ্যান্ড্রয়েডের জন্য টেস্টিং শুরু করুন” দেখুন।
সমর্থিত মডেল এবং এপিআই দেখুন
Test Lab দ্বারা সমর্থিত AVD মডেল এবং API-গুলো দেখতে, নিম্নলিখিত কমান্ডটি চালান:
gcloud firebase test android models list --filter=virtual
আপনার অ্যাপ পরীক্ষা করার সেরা পদ্ধতি
Test Lab দিয়ে আপনার অ্যাপ পরীক্ষা করার সময় ভার্চুয়াল ডিভাইসগুলো আপনার বিকল্পের পরিসর বাড়িয়ে দেয়। অ্যাপ ডেভেলপমেন্ট লাইফসাইকেল জুড়ে আপনার অ্যাপ পরীক্ষা করার জন্য আমরা নিম্নলিখিত সেরা পদ্ধতিগুলো ব্যবহার করার পরামর্শ দিই:
অ্যান্ড্রয়েড স্টুডিও এমুলেটর অথবা সংযুক্ত কোনো ভৌত ডিভাইস ব্যবহার করুন
আপনার অ্যাপ তৈরি করার সময়, প্রাথমিক যাচাইয়ের জন্য প্রতিটি বিল্ড পরীক্ষা করতে অ্যান্ড্রয়েড স্টুডিও এমুলেটর অথবা একটি সংযুক্ত ফিজিক্যাল ডিভাইস ব্যবহার করুন। আপনার যদি ইন্সট্রুমেন্টেশন টেস্ট থাকে, তবে আপনি Test Lab দ্বারা সরবরাহকৃত ফিজিক্যাল বা ভার্চুয়াল ডিভাইসে অ্যান্ড্রয়েড স্টুডিও থেকেও এই টেস্টগুলো চালাতে পারেন।
শেয়ার্ড প্রজেক্টে কাজ করার সময় প্রতিটি কোড পরিবর্তনে CI সিস্টেম ব্যবহার করুন।
আপনি যদি কোনো বড় প্রজেক্টে কাজ করেন, অথবা গিটহাব বা এই ধরনের কোনো সাইটে শেয়ার করা প্রজেক্টে অবদান রাখেন, তাহলে আমরা আপনাকে কন্টিনিউয়াস ইন্টিগ্রেশন (CI) সিস্টেম ব্যবহার করার পরামর্শ দিই। প্রতিবার CI সিস্টেম চলার সময়, অথবা প্রতিটি পুল রিকোয়েস্টের আগে ভার্চুয়াল ডিভাইসে আপনার অ্যাপগুলো পরীক্ষা করুন। CI সিস্টেমের সাথে Test Lab ব্যবহার সম্পর্কে আরও জানতে, “Using Test Lab for Android with Continuous Integration Systems” দেখুন।
গুরুত্বপূর্ণ অ্যাপ আপডেট প্রকাশ করার আগে Test Lab মাধ্যমে ফিজিক্যাল ডিভাইসে আপনার অ্যাপটি পরীক্ষা করে নিন।
UI এবং কার্যকারিতায় উল্লেখযোগ্য পরিবর্তনসহ অ্যাপ আপডেট প্রকাশ করার আগে, আমরা আপনাকে Test Lab ব্যবহার করে বাস্তব ডিভাইসে আপনার অ্যাপটি পরীক্ষা করার পরামর্শ দিই। এটি নিশ্চিত করতে সাহায্য করবে যে আপনার অ্যাপটি বিভিন্ন জনপ্রিয় বাস্তব ডিভাইসে স্থিতিশীল এবং ভালো পারফর্ম করে। বাস্তব ডিভাইসে পরীক্ষা করা এমন যেকোনো অ্যাপ কার্যকারিতার জন্য টেস্ট কভারেজও নিশ্চিত করে, যা বাস্তব ডিভাইসের এমন সব ফিচারের উপর নির্ভর করে যা ভার্চুয়াল ডিভাইসে অনুকরণ করা যায় না। এই ফিচারগুলো সম্পর্কে আরও জানতে, ‘Known limitations’ দেখুন।
ভার্চুয়াল ডিভাইস আপডেট
অ্যান্ড্রয়েড টিম নির্দিষ্ট সময় অন্তর নতুন ভার্চুয়াল ডিভাইস ইমেজ যোগ করে, পুরোনো সংস্করণগুলো বাতিল করে এবং বিদ্যমান সংস্করণগুলো আপডেট করে। আমরা আমাদের ভার্চুয়াল ডিভাইস ইমেজগুলোতে এই আপডেটগুলো প্রয়োগ করি, যাতে আপনি আপনার ব্যবহারকারীদের অভিজ্ঞতার প্রতিফলন ঘটানো হালনাগাদ অ্যান্ড্রয়েড সংস্করণের সাথে পরীক্ষা চালাচ্ছেন তা নিশ্চিত করতে সাহায্য করা যায়।
বিরল ক্ষেত্রে, এই আপডেটগুলির কারণে টেস্ট অপ্রত্যাশিতভাবে ব্যর্থ হতে পারে। যখন কোনো পরিচিত এবং সম্ভাব্য সমস্যা সৃষ্টিকারী আপডেট আসে, তখন Test Lab রিলিজ নোটে সেই তথ্য অন্তর্ভুক্ত করবে। সর্বোত্তম অনুশীলন হিসেবে, আমরা সুপারিশ করি যে আপনি যখনই সম্ভব, এমন টেস্ট ফ্রেমওয়ার্ক—যেমন এসপ্রেসো —ব্যবহার করুন যা এই পরিবর্তনগুলির ক্ষেত্রে শক্তিশালী। যখন তা সম্ভব নয়, তখন আমরা আপনাকে আর্ম ভার্চুয়াল ডিভাইসগুলিকে টার্গেট করার পরামর্শ দিই, যেগুলি তুলনামূলকভাবে কম ঘন ঘন আপডেট হবে বলে আশা করা যায়।
জ্ঞাত সীমাবদ্ধতা
কিছু ভৌত ডিভাইসের বৈশিষ্ট্য বর্তমানে ভার্চুয়াল ডিভাইস দ্বারা অনুকরণ করা হয় না, অথবা কিছু সীমাবদ্ধতা সহ অনুকরণ করা হয়। নিম্নলিখিত সারণিতে সেইসব বৈশিষ্ট্যের সারসংক্ষেপ দেওয়া হলো যা বর্তমানে ভার্চুয়াল ডিভাইসে অনুপলব্ধ, অথবা নির্দিষ্ট সীমাবদ্ধতা সহ উপলব্ধ:
| বৈশিষ্ট্য | বিস্তারিত |
| অ্যাপ্লিকেশন বাইনারি ইন্টারফেস (ABI) | সব ডিভাইস সব ABI সমর্থন করে না। আপনি যদি Android NDK ব্যবহার করে ডেভেলপ করেন, তবে আপনার টার্গেট করা ডিভাইসগুলো দ্বারা সমর্থিত ABI-গুলোর জন্য কোড জেনারেট করতে ভুলবেন না ( Test Lab উপলব্ধ ডিভাইসগুলো দেখুন)। ABI ম্যানেজমেন্ট সম্পর্কে আরও জানতে, Android ABIs দেখুন। দ্রষ্টব্য: আপনার টেস্ট ম্যাট্রিক্সের কোনো টেস্টকে যদি ‘অবৈধ’ (Invalid) হিসেবে চিহ্নিত করা হয়, তবে এর কারণ হতে পারে যে আপনার অ্যাপটি এমন নেটিভ কোডের উপর নির্ভরশীল যা ডিভাইস ABI দ্বারা সমর্থিত নয়। |
| গ্রাফিক্স পারফরম্যান্স | নেক্সাস এবং পিক্সেল ভার্চুয়াল ডিভাইসগুলো সফটওয়্যার গ্রাফিক্স রেন্ডারিং ব্যবহার করে। গ্রাফিক্স-নির্ভর অ্যাপ্লিকেশনগুলোর পারফরম্যান্স কমে যেতে পারে। আপনার অ্যাপটি যদি গ্রাফিক্স-নির্ভর হয়, তবে এর পরিবর্তে SmallPhone.arm, MediumPhone.arm, বা ফিজিক্যাল ডিভাইস ব্যবহার করার কথা বিবেচনা করুন। |
| গ্রাফিক্স এপিআই | এপিআই লেভেল ২৯-এর নিচের ডিভাইসগুলোতে OpenGL ES 3.x সমর্থিত নয়। নতুন ডিভাইসগুলো OpenGL/Vulkan এপিআই-এর সাথে শতভাগ সামঞ্জস্যপূর্ণ নয়, ফলে আপনি গ্রাফিক্সে সামান্য পার্থক্য লক্ষ্য করতে পারেন। |
| গুগল প্লে স্টোর অ্যাপ | আর্ম ভার্চুয়াল ডিভাইসে গুগল প্লে স্টোর অ্যাপটি সমর্থিত নয়। |
| অগমেন্টেড রিয়েলিটি (AR) কার্যকারিতা | ভার্চুয়াল ডিভাইসে অগমেন্টেড রিয়ালিটি (AR) কার্যকারিতা পরীক্ষা করা সমর্থিত নয়। |
| পুরানো এপিআই স্তরগুলি | Test Lab আর্ম ভার্চুয়াল ডিভাইসগুলো ২৬-এর কম এপিআই লেভেল সমর্থন করে না। |