Firebase Test Lab আপনাকে বিভিন্ন ডিভাইস এবং কনফিগারেশনে আপনার অ্যাপটি পরীক্ষা করতে দেয়। এই শুরু করার নির্দেশিকাটি আপনাকে অনুসরণ করার জন্য একটি বাস্তবায়ন পথ প্রদান করে, পাশাপাশি Test Lab অ্যান্ড্রয়েড অফারগুলির একটি ভূমিকাও প্রদান করে।
Test Lab কোটা এবং মূল্য নির্ধারণের পরিকল্পনা সম্পর্কে তথ্যের জন্য, ব্যবহার, কোটা এবং মূল্য নির্ধারণ দেখুন।
মূল ধারণা
যখন আপনি আপনার নির্বাচিত ডিভাইস এবং কনফিগারেশনের বিরুদ্ধে একটি পরীক্ষা বা পরীক্ষার কেসের একটি সেট চালান, তখন Test Lab আপনার অ্যাপের বিরুদ্ধে একটি ব্যাচে পরীক্ষা চালায়, তারপর ফলাফলগুলিকে একটি পরীক্ষা ম্যাট্রিক্স হিসাবে প্রদর্শন করে।
ডিভাইস × পরীক্ষা সম্পাদন = পরীক্ষা ম্যাট্রিক্স
- যন্ত্র
- একটি ফিজিক্যাল বা ভার্চুয়াল ডিভাইস (শুধুমাত্র অ্যান্ড্রয়েড) যার মাধ্যমে আপনি পরীক্ষা চালান, যেমন একটি ফোন, ট্যাবলেট, অথবা পরিধেয় ডিভাইস। একটি টেস্ট ম্যাট্রিক্সের ডিভাইসগুলি ডিভাইস মডেল, OS সংস্করণ, স্ক্রিন ওরিয়েন্টেশন এবং লোকেল (যা ভূগোল এবং ভাষা সেটিংস নামেও পরিচিত) দ্বারা চিহ্নিত করা হয়।
- পরীক্ষা, পরীক্ষা সম্পাদন
- একটি ডিভাইসে চালানোর জন্য একটি পরীক্ষা (অথবা পরীক্ষার কেসের একটি সেট)। আপনি প্রতিটি ডিভাইসে একটি পরীক্ষা চালাতে পারেন, অথবা ঐচ্ছিকভাবে পরীক্ষাটি ভাগ করে বিভিন্ন ডিভাইসে এর পরীক্ষার কেস চালাতে পারেন।
- টেস্ট ম্যাট্রিক্স
- আপনার পরীক্ষা সম্পাদনের জন্য স্ট্যাটাস এবং পরীক্ষার ফলাফল ধারণ করে। যদি একটি ম্যাট্রিক্সে কোনও পরীক্ষা সম্পাদন ব্যর্থ হয়, তাহলে পুরো ম্যাট্রিক্স ব্যর্থ হয়।
ধাপ ১ : Test Lab আপলোড করার জন্য আপনার পরীক্ষা প্রস্তুত করুন।
উপলব্ধ পরীক্ষার ধরণ
আপনি Test Lab দিয়ে নিম্নলিখিত পরীক্ষাগুলি চালাতে পারেন। মনে রাখবেন যে সমস্ত পরীক্ষার ধরণগুলি ফিজিক্যাল ডিভাইসে 45 মিনিট এবং ভার্চুয়াল ডিভাইসে 60 মিনিট চালানোর মধ্যে সীমাবদ্ধ। যেকোনো অপ্রত্যাশিত ব্যতিক্রম পরীক্ষা ব্যর্থতার কারণ হতে পারে।
ইন্সট্রুমেন্টেশন টেস্ট বা ইন্সট্রুমেন্টেড ইউনিট টেস্ট : এসপ্রেসো বা ইউআই অটোমেটর ফ্রেমওয়ার্ক ব্যবহার করে আপনি যে পরীক্ষাটি লিখেছেন। এই পরীক্ষার মাধ্যমে, আপনি AndroidJUnitRunnerAPIs ব্যবহার করে সঠিক কার্যকারিতা যাচাই করার জন্য আপনার অ্যাপের অবস্থা সম্পর্কে স্পষ্টভাবে দাবি করতে পারেন।
Test Lab আপনার পরীক্ষাটি কীভাবে প্রস্তুত করবেন তার নির্দেশাবলীর জন্য "একটি যন্ত্র পরীক্ষা চালান" দেখুন।
একটি ইন্সট্রুমেন্টেশন পরীক্ষা কীভাবে তৈরি করবেন তার নির্দেশাবলীর জন্য অ্যান্ড্রয়েড ডেভেলপারদের ডকুমেন্টেশন দেখুন।
রোবো টেস্ট : একটি স্বয়ংক্রিয় পরীক্ষা যা আপনার অ্যাপের UI বিশ্লেষণ করে এবং তারপর ব্যবহারকারীর কার্যকলাপ অনুকরণ করে পদ্ধতিগতভাবে এটি অন্বেষণ করে, আপনাকে কোনও কোড লেখার প্রয়োজন ছাড়াই। আরও তথ্যের জন্য রোবো টেস্ট সম্পর্কে দেখুন।
গেম লুপ পরীক্ষা : গেমিং অ্যাপগুলিতে খেলোয়াড়দের অ্যাকশন সিমুলেট করার জন্য একটি "ডেমো মোড" ব্যবহার করে এমন একটি পরীক্ষা। এটি আপনার গেমটি ব্যবহারকারীদের জন্য ভাল পারফর্ম করে কিনা তা যাচাই করার একটি দ্রুত এবং স্কেলেবল উপায়। যখন আপনি একটি গেম লুপ পরীক্ষা চালানোর সিদ্ধান্ত নেন, তখন আপনি যা করতে পারেন:
আপনার গেম ইঞ্জিনের জন্য নেটিভ পরীক্ষা লিখুন
বিভিন্ন UI বা পরীক্ষার ফ্রেমওয়ার্কের জন্য একই কোড লেখা এড়িয়ে চলুন।
ঐচ্ছিকভাবে একটি একক পরীক্ষা সম্পাদনে চালানোর জন্য একাধিক লুপ তৈরি করুন (আরও জানতে গেম লুপ পরীক্ষা সম্পর্কে দেখুন)। আপনি লেবেল ব্যবহার করে লুপগুলি সংগঠিত করতে পারেন যাতে আপনি সেগুলি ট্র্যাক করতে পারেন এবং নির্দিষ্ট লুপগুলি পুনরায় চালাতে পারেন।
Test Lab দিয়ে এই পরীক্ষাটি চালানোর নির্দেশাবলীর জন্য একটি গেম লুপ পরীক্ষা চালান দেখুন।
আপনার পরীক্ষা চালানোর জন্য সরঞ্জামগুলি
আপনার পরীক্ষা চালানোর জন্য আপনি নিম্নলিখিত সরঞ্জামগুলি বেছে নিতে পারেন:
নতুন ব্যবহারকারীদের জন্য প্রস্তাবিত : Firebase কনসোল আপনাকে একটি অ্যাপ আপলোড করতে এবং আপনার ওয়েব ব্রাউজার থেকে পরীক্ষা শুরু করতে দেয়। এই টুলটি ব্যবহার করে পরীক্ষা চালানোর নির্দেশাবলীর জন্য Test with the Firebase কনসোলটি দেখুন।
অ্যান্ড্রয়েড স্টুডিও ইন্টিগ্রেশন আপনাকে আপনার ডেভেলপমেন্ট পরিবেশ ত্যাগ না করেই আপনার অ্যাপটি পরীক্ষা করতে দেয়। এই টুলটি ব্যবহার করে পরীক্ষা চালানোর নির্দেশাবলীর জন্য টেস্ট উইথ অ্যান্ড্রয়েড স্টুডিও দেখুন।
gcloud কমান্ড লাইন ইন্টারফেস আপনাকে কমান্ড লাইন থেকে ইন্টারেক্টিভভাবে পরীক্ষা চালাতে সক্ষম করে এবং আপনার স্বয়ংক্রিয় বিল্ড এবং টেস্টিং প্রক্রিয়ার অংশ হিসেবে স্ক্রিপ্টিংয়ের জন্যও উপযুক্ত। এই টুলটি ব্যবহার করে পরীক্ষা চালানোর নির্দেশাবলীর জন্য gcloud CLI দিয়ে পরীক্ষা দেখুন।
আপনি যখন আলফা বা বিটা চ্যানেল ব্যবহার করে প্লে স্টোরে আপনার অ্যাপের APK ফাইল আপলোড এবং প্রকাশ করেন তখন Test Lab মাধ্যমে বিনামূল্যে আপনার অ্যাপটি পরীক্ষা করতে পারেন। আরও তথ্যের জন্য, সমস্যা সনাক্ত করতে প্রাক-লঞ্চ রিপোর্ট ব্যবহার করুন এবং রোবো পরীক্ষা দেখুন।
ধাপ ২ : আপনার পরীক্ষার ডিভাইসটি বেছে নিন
Test Lab গুগল ডেটা সেন্টারে ইনস্টল এবং চলমান বিভিন্ন ব্র্যান্ড এবং মডেলের অ্যান্ড্রয়েড ডিভাইসের পরীক্ষা সমর্থন করে। Test Lab ডিভাইসের পরীক্ষা আপনাকে অ্যান্ড্রয়েড স্টুডিওতে এমুলেটর ব্যবহার করে আপনার অ্যাপ পরীক্ষা করার সময় নাও ঘটতে পারে এমন সমস্যাগুলি সনাক্ত করতে সহায়তা করে। আরও জানতে, উপলব্ধ ডিভাইসগুলি দেখুন।
ধাপ ৩ : পরীক্ষার ফলাফল পর্যালোচনা করুন
আপনি যেভাবেই পরীক্ষা শুরু করুন না কেন, আপনার সমস্ত পরীক্ষার ফলাফল Test Lab দ্বারা পরিচালিত হয় এবং অনলাইনে দেখা যেতে পারে।
পরীক্ষার ফলাফলের সারাংশ স্বয়ংক্রিয়ভাবে সংরক্ষণ করা হয় এবং Firebase কনসোলে দেখা যেতে পারে। এতে আপনার পরীক্ষার জন্য সবচেয়ে প্রাসঙ্গিক ডেটা থাকে, যার মধ্যে রয়েছে পরীক্ষার কেস-নির্দিষ্ট ভিডিও, স্ক্রিনশট, কতগুলি পরীক্ষায় উত্তীর্ণ, ব্যর্থ বা অকার্যকর ফলাফল পাওয়া গেছে এবং আরও অনেক কিছু।
কাঁচা পরীক্ষার ফলাফলে পরীক্ষার লগ এবং অ্যাপ ব্যর্থতার বিবরণ থাকে এবং এটি স্বয়ংক্রিয়ভাবে একটি Google ক্লাউড বাকেটে সংরক্ষণ করা হয়। আপনি যদি একটি বাকেট নির্দিষ্ট করেন, তাহলে স্টোরেজের খরচের জন্য আপনি দায়ী। আপনি যদি একটি বাকেট নির্দিষ্ট না করেন, Test Lab আপনার জন্য বিনামূল্যে একটি তৈরি করে।
আরও বিস্তারিত জানার জন্য, Firebase Test Lab ফলাফল বিশ্লেষণ দেখুন।
যখন আপনি Android Studio থেকে একটি পরীক্ষা শুরু করেন, তখন আপনি আপনার ডেভেলপমেন্ট পরিবেশের ভেতর থেকেও পরীক্ষার ফলাফল পর্যালোচনা করতে পারেন।
ডিভাইস পরিষ্কার করা
গুগল আপনার অ্যাপ ডেটার নিরাপত্তাকে অত্যন্ত গুরুত্ব সহকারে নেয়। আমরা প্রতিটি পরীক্ষা চালানোর পরে অ্যাপ ডেটা অপসারণ এবং ফিজিক্যাল ডিভাইসগুলির সিস্টেম সেটিংস রিসেট করার জন্য শিল্প-মানের সেরা অনুশীলনগুলি অনুসরণ করি যাতে নিশ্চিত করা যায় যে তারা নতুন পরীক্ষা চালানোর জন্য প্রস্তুত। যেসব ডিভাইসে আমরা কাস্টম পুনরুদ্ধার চিত্র দিয়ে ফ্ল্যাশ করতে পারি, তাদের জন্য আমরা পরীক্ষা চালানোর মধ্যে এই ডিভাইসগুলিকে ফ্ল্যাশ করে আরও এক ধাপ এগিয়ে যাই।
Test Lab দ্বারা ব্যবহৃত ভার্চুয়াল ডিভাইসগুলির জন্য, ডিভাইসের উদাহরণগুলি ব্যবহারের পরে মুছে ফেলা হয় যাতে প্রতিটি পরীক্ষা চালানো একটি নতুন ভার্চুয়াল ডিভাইসের উদাহরণ ব্যবহার করে।
Test Lab এবং গুগল প্লে পরিষেবা
Test Lab ডিভাইসগুলি সাধারণত Google Play পরিষেবা SDK-এর সর্বশেষ সংস্করণে চলে, তবে কিছু ডিভাইসের SDK-এর নতুন সংস্করণ প্রকাশের পরে আপডেট হতে কয়েক দিন সময় লাগতে পারে। মনে রাখবেন যে কিছু ডিভাইসের সাথে আপনার সামঞ্জস্যের সমস্যা হতে পারে।
পরীক্ষামূলক ডিভাইসগুলিকে ব্যক্তিগত ব্যাকএন্ড সার্ভারগুলিতে অ্যাক্সেসের অনুমতি দেওয়া হচ্ছে
পরীক্ষার সময় সঠিকভাবে কাজ করার জন্য কিছু মোবাইল অ্যাপের ব্যক্তিগত ব্যাকএন্ড পরিষেবার সাথে যোগাযোগের প্রয়োজন হয়। যদি আপনার ব্যাকএন্ড সার্ভারগুলি ফায়ারওয়াল নিয়ম দ্বারা সুরক্ষিত থাকে, তাহলে আপনি আপনার ফায়ারওয়ালের মাধ্যমে রুটগুলি খুলতে নীচের আইপি ঠিকানা ব্লকগুলি ব্যবহার করে Test Lab ভৌত এবং ভার্চুয়াল ডিভাইসগুলির জন্য অ্যাক্সেসের অনুমতি দিতে পারেন।
মোবাইল বিজ্ঞাপন
Test Lab একটি স্কেলেবল অবকাঠামো প্রদান করে যা অ্যাপ টেস্টিংকে স্বয়ংক্রিয় করে, এবং দুর্ভাগ্যবশত, এই ক্ষমতাটি জালিয়াতিপূর্ণ বিজ্ঞাপন আয় তৈরির জন্য ডিজাইন করা ক্ষতিকারক অ্যাপগুলি দ্বারা অপব্যবহার করা যেতে পারে।
এই সমস্যাটি কমাতে:
আপনি যদি তৃতীয় পক্ষের ডিজিটাল বিজ্ঞাপন প্রদানকারী (উদাহরণস্বরূপ, বিজ্ঞাপন নেটওয়ার্ক বা চাহিদা-সাইড প্ল্যাটফর্ম) ব্যবহার করেন বা তাদের সাথে কাজ করেন, তাহলে অ্যাপ ডেভেলপমেন্ট এবং পরীক্ষার সময় আপনাকে আসল বিজ্ঞাপনের পরিবর্তে পরীক্ষামূলক বিজ্ঞাপন ব্যবহার করার পরামর্শ দেওয়া হচ্ছে।
যদি আপনার পরীক্ষায় বাস্তব বিজ্ঞাপন ব্যবহার করতেই হয়, তাহলে নিচের আইপি অ্যাড্রেস ব্লক ব্যবহার করে Test Lab থেকে উৎপন্ন আয় এবং সংশ্লিষ্ট সমস্ত ট্র্যাফিক ফিল্টার করার জন্য আপনার সাথে কাজ করা ডিজিটাল বিজ্ঞাপন প্রদানকারীদের অবহিত করুন। আপনাকে গুগলের মালিকানাধীন বিজ্ঞাপন প্রদানকারীদের অবহিত করার প্রয়োজন নেই; Test Lab আপনার জন্য এটির যত্ন নেয়।
Test Lab ডিভাইসগুলিতে ব্যবহৃত আইপি ঠিকানাগুলি
Test Lab ডিভাইস দ্বারা উৎপন্ন সমস্ত নেটওয়ার্ক ট্র্যাফিক নিম্নলিখিত আইপি অ্যাড্রেস ব্লকগুলি থেকে আসে। আপনি gcloud CLI-তে gcloud beta firebase test ip-blocks list কমান্ড ব্যবহার করেও এই তালিকাটি অ্যাক্সেস করতে পারেন। তালিকাটি গড়ে বছরে একবার আপডেট করা হয়।
| প্ল্যাটফর্ম এবং ডিভাইসের ধরণ | CIDR আইপি অ্যাড্রেস ব্লক |
|---|---|
| অ্যান্ড্রয়েড এবং আইওএস ফিজিক্যাল ডিভাইস, আর্ম ভার্চুয়াল ডিভাইস | ৭০.৩২.১২৮.০/১৯ (যোগ করা হয়েছে ০২-২০২২) ১০৮.১৭৭.৬.০/২৩ ১০৮.১৭৭.১৮.১৯২/২৬ (০২-২০২২ তারিখে যোগ করা হয়েছে) ১০৮.১৭৭.২৯.৬৪/২৭ (০২-২০২২ তারিখে সম্প্রসারিত) ১০৮.১৭৭.৩১.১৬০/২৭ (০২-২০২২ তারিখে যোগ করা হয়েছে) ১৯৯.৩৬.১৫৬.৮/২৯ (যোগ করা হয়েছে ০২-২০২২) ১৯৯.৩৬.১৫৬.১৬/২৮ (যোগ করা হয়েছে ০২-২০২২) ২০৯.৮৫.১৩১.০/২৭ (যোগ করা হয়েছে ০২-২০২২) ২০০১:৪৮৬০:১০০৮::/৪৮ (যোগ করা হয়েছে ০২-২০২২) ২০০১:৪৮৬০:১০১৮::/৪৮ (যোগ করা হয়েছে ০২-২০২২) ২০০১:৪৮৬০:১০১৯::/৪৮ (যোগ করা হয়েছে ০২-২০২২) ২০০১:৪৮৬০:১০২০::/৪৮ (যোগ করা হয়েছে ০২-২০২২) ২০০১:৪৮৬০:১০২২::/৪৮ (যোগ করা হয়েছে ০২-২০২২) ২০০১:৪৮৬০:১০১d::/৪৮ (১০-২০২৫ তারিখে যোগ করা হয়েছে) ২০০১:৪৮৬০:১০১ই::/৪৮ (১০-২০২৫ তারিখে যোগ করা হয়েছে) ২০০১:৪৮৬০:১০৩১::/৪৮ (১০-২০২৫ তারিখে যোগ করা হয়েছে) ৭০.৩২.১২৮.৪৮/২৮ (০৪-২০২৪ তারিখে যোগ করা হয়েছে) ৭০.৩২.১৫০.১৯২/২৭ (০৯-২০২৫ তারিখে যোগ করা হয়েছে) ১০৮.১৭৭.৬.০/২৭ (০৯-২০২৫ তারিখে যোগ করা হয়েছে) ১০৮.১৭৭.২৪.১৬০/২৭ (০৯-২০২৫ তারিখে যোগ করা হয়েছে) ১০৮.১৭৭.২৯.০/২৭ (০৯-২০২৫ তারিখে যোগ করা হয়েছে) |
| অ্যান্ড্রয়েড ভার্চুয়াল ডিভাইস (নন-আর্ম) | ৩৪.৬৮.১৯৪.৬৪/২৯ (১১-২০১৯ তারিখে যোগ করা হয়েছে) ৩৪.৬৯.২৩৪.৬৪/২৯ (১১-২০১৯ তারিখে যোগ করা হয়েছে) ৩৪.৭৩.৩৪.৭২/২৯ (১১-২০১৯ তারিখে যোগ করা হয়েছে) ৩৪.৭৩.১৭৮.৭২/২৯ (১১-২০১৯ তারিখে যোগ করা হয়েছে) ৩৪.৭৪.১০.৭২/২৯ (যোগ করা হয়েছে ০২-২০২২) ৩৪.১৩৬.২.১৩৬/২৯ (যোগ করা হয়েছে ০২-২০২২) ৩৪.১৩৬.৫০.১৩৬/২৯ (যোগ করা হয়েছে ০২-২০২২) ৩৪.১৪৫.২৩৪.১৪৪/২৯ (যোগ করা হয়েছে ০২-২০২২) ৩৫.১৯২.১৬০.৫৬/২৯ ৩৫.১৯৬.১৬৬.৮০/২৯ ৩৫.১৯৬.১৬৯.২৪০/২৯ ৩৫.২০৩.১২৮.০/২৮ ৩৫.২৩৪.১৭৬.১৬০/২৮ ৩৫.২৪৩.২.০/২৭ (৭-২০১৯ তারিখে যোগ করা হয়েছে) ৩৫.২৪৫.২৪৩.২৪০/২৯ (যোগ করা হয়েছে ০২-২০২২) ১৯৯.১৯২.১১৫.০/৩০ ১৯৯.১৯২.১১৫.৮/৩০ ১৯৯.১৯২.১১৫.১৬/২৯ |
| ডিভাইসের আইপি-ব্লকগুলি আর ব্যবহার করা হচ্ছে না | ৭৪.১২৫.১২২.৩২/২৯ (০২-২০২২ তারিখে সরানো হয়েছে) ২১৬.২৩৯.৪৪.২৪/২৯ (০২-২০২২ তারিখে সরানো হয়েছে) |