এই দস্তাবেজটি টেস্ট ল্যাবের জন্য AVD গুলি বর্ণনা করে, সুবিধা এবং পরিচিত সীমাবদ্ধতাগুলি সহ। আমরা ডেভেলপমেন্ট লাইফসাইকেল জুড়ে কীভাবে আপনার অ্যাপ পরীক্ষা করতে হয় সে সম্পর্কে সুপারিশও প্রদান করি।
যদিও টেস্ট ল্যাব AVDগুলি Android স্টুডিওর জন্য AVD- এর মতো, উভয়ের মধ্যে কিছু পার্থক্য রয়েছে৷ উদাহরণস্বরূপ, টেস্ট ল্যাবে AVD-তে Wi-Fi সংযোগের পরিবর্তে একটি অনুকরণ করা ডেটা সংযোগ রয়েছে৷
.arm
বা (আর্ম) প্রত্যয় সহ টেস্ট ল্যাব AVDগুলি হল উন্নত এমুলেটর যা নিম্নলিখিত সুবিধাগুলি প্রদান করে:
দ্রুত পরীক্ষা কার্যকর করার সময়
ধারাবাহিকতার জন্য স্ক্রীনের আকার এবং ঘনত্ব Android স্টুডিওর AVD-এর সাথে সারিবদ্ধ
.arm
বা (আর্ম) প্রত্যয় সহ AVD ব্যবহার করা অন্যান্য ধরণের শারীরিক ডিভাইসের তুলনায় নিম্নলিখিত সুবিধাগুলি প্রদান করে:
সুবিধা | বর্ণনা | ব্যবহারের ক্ষেত্রে) |
উচ্চ প্রাপ্যতা | ভার্চুয়াল ডিভাইসগুলির সাথে পরীক্ষা করার সময় আপনি পরীক্ষা চালাতে এবং পরীক্ষার ফলাফল আরও দ্রুত পেতে পারেন। যেহেতু ভার্চুয়াল ডিভাইসগুলি চাহিদা অনুযায়ী তৈরি করা হয়, তাই আপনার পরীক্ষাগুলি প্রায় অবিলম্বে শুরু হয়, আপনার অ্যাপের দ্রুত বৈধতা প্রদান করে। | আপনার অ্যাপে ছোট আপডেট পরীক্ষা করা, বা রিগ্রেশন পরীক্ষার জন্য। |
দীর্ঘ পরীক্ষার সময়কাল | শারীরিক ডিভাইসে পরীক্ষা প্রতিটি ডিভাইসে 45 মিনিটের পরীক্ষার সময়সীমার মধ্যে সীমাবদ্ধ। ভার্চুয়াল ডিভাইস 60 মিনিট পর্যন্ত একটি পরীক্ষার সময়কাল সমর্থন করে। | দীর্ঘ পরীক্ষা চলমান. |
কম দাম | আপনার অ্যাপ পরীক্ষা করার জন্য ব্যবহৃত প্রতিটি ভার্চুয়াল ডিভাইসের জন্য ভার্চুয়াল ডিভাইসের দাম প্রতি ঘন্টায় $1। | ক্রমাগত ইন্টিগ্রেশন সিস্টেম ব্যবহার করে বা কোড চেক করার আগে প্রতিদিনের পরীক্ষা। আরও জানতে, টেস্ট ল্যাবের ব্যবহারের মাত্রা, কোটা এবং মূল্য দেখুন। |
ভার্চুয়াল ডিভাইস দিয়ে আপনার অ্যাপ পরীক্ষা করুন
আপনি আপনার অ্যাপটিকে ভার্চুয়াল ডিভাইসগুলির সাথে পরীক্ষা করতে পারেন যেভাবে আপনি এটিকে শারীরিক ডিভাইসগুলির সাথে পরীক্ষা করেন৷ আপনি যখন একটি পরীক্ষা ম্যাট্রিক্স কনফিগার করতে পরীক্ষার মাত্রা নির্বাচন করেন তখন কেবল ভার্চুয়াল ডিভাইসগুলি নির্বাচন করুন৷ টেস্ট ল্যাবের সাথে পরীক্ষা চালানোর বিষয়ে আরও জানতে, Firebase টেস্ট ল্যাবের সাথে Android এর জন্য পরীক্ষা শুরু করুন দেখুন।
সমর্থিত মডেল এবং API দেখুন
টেস্ট ল্যাব দ্বারা সমর্থিত AVD মডেল এবং API দেখতে, নিম্নলিখিত কমান্ডটি চালান:
gcloud firebase test android models list --filter=virtual
আপনার অ্যাপ পরীক্ষা করার জন্য সর্বোত্তম অনুশীলন
আপনি যখন টেস্ট ল্যাব দিয়ে আপনার অ্যাপ পরীক্ষা করেন তখন ভার্চুয়াল ডিভাইসগুলি আপনার বিকল্পের পরিসর বাড়ায়। আমরা অ্যাপ ডেভেলপমেন্ট লাইফসাইকেল জুড়ে আপনার অ্যাপ পরীক্ষা করার জন্য এই বিভাগে সেরা অনুশীলনগুলি ব্যবহার করার পরামর্শ দিই।
অ্যান্ড্রয়েড স্টুডিও এমুলেটর বা একটি সংযুক্ত শারীরিক ডিভাইস ব্যবহার করুন
আপনার অ্যাপ বিকাশ করার সময়, প্রাথমিক বৈধতার জন্য প্রতিটি বিল্ড পরীক্ষা করতে Android স্টুডিও এমুলেটর বা একটি সংযুক্ত শারীরিক ডিভাইস ব্যবহার করুন। আপনার যদি ইন্সট্রুমেন্টেশন পরীক্ষা থাকে, তাহলে আপনি টেস্ট ল্যাব দ্বারা প্রদত্ত শারীরিক বা ভার্চুয়াল ডিভাইসগুলিতে অ্যান্ড্রয়েড স্টুডিও থেকে এই পরীক্ষাগুলি চালাতে পারেন।
শেয়ার্ড প্রজেক্টে কাজ করার সময় প্রতিটি কোড পরিবর্তনে CI সিস্টেম ব্যবহার করুন
আপনি যদি একটি বড় প্রকল্পে কাজ করেন, বা আপনি যদি GitHub বা অনুরূপ পরিষেবা ব্যবহার করে শেয়ার করা প্রকল্পগুলিতে অবদান রাখেন, তাহলে আমরা আপনাকে অবিচ্ছিন্ন ইন্টিগ্রেশন (CI) সিস্টেম ব্যবহার করার পরামর্শ দিই।
ভার্চুয়াল ডিভাইসগুলিতে আপনার অ্যাপগুলি পরীক্ষা করুন প্রতিবার যখন CI সিস্টেম চলে, বা প্রতিটি পুল অনুরোধের আগে। সিআই সিস্টেমের সাথে টেস্ট ল্যাব ব্যবহার সম্পর্কে আরও জানতে, ক্রমাগত ইন্টিগ্রেশন সিস্টেমের সাথে অ্যান্ড্রয়েডের জন্য টেস্ট ল্যাব ব্যবহার দেখুন।
আপনি উল্লেখযোগ্য অ্যাপ আপডেট প্রকাশ করার আগে টেস্ট ল্যাবের মাধ্যমে শারীরিক ডিভাইসে আপনার অ্যাপ পরীক্ষা করুন
আপনি উল্লেখযোগ্য UI এবং কার্যকারিতা পরিবর্তন সহ অ্যাপ আপডেট প্রকাশ করার আগে, আমরা আপনাকে শারীরিক ডিভাইসে আপনার অ্যাপ পরীক্ষা করার জন্য টেস্ট ল্যাব ব্যবহার করার পরামর্শ দিই। এটি নিশ্চিত করতে সাহায্য করবে যে আপনার অ্যাপটি স্থিতিশীল এবং জনপ্রিয় শারীরিক ডিভাইসের বিস্তৃত পরিসরে পারফরম্যান্ট। ভৌত ডিভাইসে পরীক্ষা করা ভার্চুয়াল ডিভাইস দ্বারা অনুকরণ করা হয় না এমন শারীরিক ডিভাইস বৈশিষ্ট্যগুলির উপর নির্ভর করে এমন কোনও অ্যাপ কার্যকারিতার জন্য পরীক্ষা কভারেজ নিশ্চিত করে। এই বৈশিষ্ট্যগুলি সম্পর্কে আরও জানতে, পরিচিত সীমাবদ্ধতাগুলি দেখুন।
ভার্চুয়াল ডিভাইস আপডেট
পর্যায়ক্রমে, অ্যান্ড্রয়েড টিম নতুন ভার্চুয়াল ডিভাইসের ছবি যোগ করে, পুরানোগুলিকে অবমূল্যায়ন করে এবং বিদ্যমানগুলি আপডেট করে৷ আপনি আপনার ব্যবহারকারীদের অভিজ্ঞতা প্রতিফলিত আপ-টু-ডেট Android সংস্করণগুলির বিরুদ্ধে পরীক্ষা করছেন তা নিশ্চিত করতে আমরা আমাদের ভার্চুয়াল ডিভাইস চিত্রগুলিতে এই আপডেটগুলি প্রয়োগ করি।
বিরল ক্ষেত্রে, এই আপডেটগুলি অপ্রত্যাশিতভাবে পরীক্ষা ব্যর্থ হতে পারে। যখন একটি পরিচিত সম্ভাব্য ব্রেকিং আপডেট থাকে, টেস্ট ল্যাব রিলিজ নোটে তথ্য অন্তর্ভুক্ত করবে। একটি সর্বোত্তম অনুশীলন হিসাবে, আমরা আপনাকে পরীক্ষার ফ্রেমওয়ার্ক ব্যবহার করার পরামর্শ দিই - উদাহরণস্বরূপ, এসপ্রেসো - যখনই সম্ভব এই পরিবর্তনগুলির জন্য শক্তিশালী। যখন এটি সম্ভব না হয়, তখন আমরা আপনাকে আর্ম ভার্চুয়াল ডিভাইসগুলি লক্ষ্য করার পরামর্শ দিই, যা আপনি কম ঘন ঘন আপডেট করার আশা করতে পারেন।
পরিচিত সীমাবদ্ধতা
কিছু ভৌত ডিভাইস বৈশিষ্ট্য বর্তমানে ভার্চুয়াল ডিভাইস দ্বারা অনুকরণ করা হয় না, বা কিছু সীমাবদ্ধতার সাথে সিমুলেট করা হয়। নিম্নলিখিত সারণীটি এমন বৈশিষ্ট্যগুলির সংক্ষিপ্ত বিবরণ দেয় যা বর্তমানে ভার্চুয়াল ডিভাইসগুলিতে অনুপলব্ধ, বা যেগুলি নির্দিষ্ট সীমাবদ্ধতার সাথে উপলব্ধ৷
বৈশিষ্ট্য | বিস্তারিত |
অ্যাপ্লিকেশন বাইনারি ইন্টারফেস (ABI) | সব ডিভাইস সব ABI সমর্থন করে না। আপনি যদি Android NDK এর সাথে বিকাশ করছেন, তাহলে আপনার লক্ষ্য করা ডিভাইসগুলির দ্বারা সমর্থিত ABI গুলির জন্য কোড তৈরি করতে ভুলবেন না। আরও তথ্যের জন্য, টেস্ট ল্যাবে উপলব্ধ ডিভাইসগুলি দেখুন। ABI ব্যবস্থাপনা সম্পর্কে আরও জানতে, Android ABIs দেখুন। কোন ডিভাইস দ্বারা কোন ABI সমর্থিত তা জানতে, উপলব্ধ পরীক্ষা ডিভাইসগুলি দেখুন। দ্রষ্টব্য: যদি আপনার পরীক্ষার ম্যাট্রিক্সে একটি পরীক্ষা অবৈধ হিসাবে চিহ্নিত করা হয়, তবে এটি ঘটতে পারে কারণ আপনার অ্যাপটির নেটিভ কোডের উপর নির্ভরশীলতা রয়েছে ABI ডিভাইস দ্বারা অসমর্থিত। |
গ্রাফিক্স কর্মক্ষমতা | নেক্সাস এবং পিক্সেল ভার্চুয়াল ডিভাইসগুলি সফ্টওয়্যার গ্রাফিক্স রেন্ডারিং ব্যবহার করে। গ্রাফিক্স-নিবিড় অ্যাপ্লিকেশনগুলি নিম্ন কর্মক্ষমতা অনুভব করবে। আপনার অ্যাপ যদি গ্রাফিক্স-নিবিড় হয়, তাহলে SmallPhone.arm এবং MediumPhone.arm মডেল বা শারীরিক ডিভাইস ব্যবহার করুন। |
স্ক্রীন রেকর্ডিং | Nexus এবং Pixel ডিভাইসে স্ক্রীন রেকর্ডিং প্রতি সেকেন্ডে 1 ফ্রেম। |
গ্রাফিক্স API | OpenGL ES 3.x API স্তর 29-এর নীচের ডিভাইসগুলিতে অসমর্থিত। নতুন ডিভাইসগুলি OpenGL/Vulkan API-এর সাথে 100% সামঞ্জস্যপূর্ণ নয়। আপনি গ্রাফিক্সে ছোট পার্থক্য লক্ষ্য করতে পারেন। |