Firebase টেস্ট ল্যাবের মাধ্যমে Android এর জন্য পরীক্ষা শুরু করুন

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

Test Lab কোটা এবং মূল্য পরিকল্পনা সম্পর্কে তথ্যের জন্য, ব্যবহার, কোটা এবং মূল্য নির্ধারণ দেখুন।

মূল ধারণা

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

ডিভাইস × পরীক্ষা সম্পাদন = টেস্ট ম্যাট্রিক্স

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

ধাপ ১ : Test Lab আপলোড করার জন্য আপনার পরীক্ষাটি প্রস্তুত করুন।

উপলব্ধ পরীক্ষার প্রকার

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

  • ইন্সট্রুমেন্টেশন টেস্ট বা ইন্সট্রুমেন্টেড ইউনিট টেস্ট : এটি এমন একটি টেস্ট যা আপনি Espresso বা UI Automator ফ্রেমওয়ার্ক ব্যবহার করে লিখেছেন। এই টেস্টের মাধ্যমে, আপনি AndroidJUnitRunnerAPIs ব্যবহার করে আপনার অ্যাপের সঠিক কার্যকারিতা যাচাই করার জন্য এর অবস্থা সম্পর্কে সুস্পষ্ট অ্যাসারশন করতে পারেন।

  • রোবো টেস্ট : একটি স্বয়ংক্রিয় পরীক্ষা যা আপনার অ্যাপের UI বিশ্লেষণ করে এবং ব্যবহারকারীর কার্যকলাপ অনুকরণ করে পদ্ধতিগতভাবে তা পরীক্ষা করে, যার জন্য আপনাকে কোনো কোড লিখতে হয় না। আরও তথ্যের জন্য ‘রোবো টেস্ট সম্পর্কে’ দেখুন।

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

    • আপনার গেম ইঞ্জিনের নিজস্ব টেস্ট লিখুন

    • বিভিন্ন UI বা টেস্টিং ফ্রেমওয়ার্কের জন্য একই কোড লেখা পরিহার করুন।

    • ঐচ্ছিকভাবে একটিমাত্র টেস্ট এক্সিকিউশনে চালানোর জন্য একাধিক লুপ তৈরি করুন (আরও জানতে ‘গেম লুপ টেস্ট সম্পর্কে’ অংশটি দেখুন)। এছাড়াও, আপনি লেবেল ব্যবহার করে লুপগুলোকে সাজিয়ে রাখতে পারেন, যাতে সেগুলোর হিসাব রাখতে এবং নির্দিষ্ট লুপ পুনরায় চালাতে পারেন।

    Test Lab ব্যবহার করে এই টেস্টটি চালানোর নির্দেশাবলীর জন্য ‘রান এ গেম লুপ টেস্ট’ দেখুন।

আপনার পরীক্ষা চালানোর সরঞ্জাম

আপনার পরীক্ষাটি চালানোর জন্য আপনি নিম্নলিখিত সরঞ্জামগুলি বেছে নিতে পারেন:

  • প্রথমবার ব্যবহারকারীদের জন্য প্রস্তাবিত : Firebase কনসোল আপনাকে আপনার ওয়েব ব্রাউজার থেকে একটি অ্যাপ আপলোড করতে এবং টেস্টিং শুরু করতে দেয়। এই টুলটি ব্যবহার করে টেস্ট চালানোর নির্দেশাবলীর জন্য Firebase কনসোল দিয়ে টেস্ট করুন’ দেখুন।

  • অ্যান্ড্রয়েড স্টুডিও ইন্টিগ্রেশন আপনাকে আপনার ডেভেলপমেন্ট এনভায়রনমেন্ট থেকে বের না হয়েই অ্যাপ পরীক্ষা করার সুযোগ দেয়। এই টুলটি ব্যবহার করে পরীক্ষা চালানোর নির্দেশাবলীর জন্য ‘অ্যান্ড্রয়েড স্টুডিও দিয়ে পরীক্ষা’ দেখুন।

  • gcloud কমান্ড লাইন ইন্টারফেস আপনাকে কমান্ড লাইন থেকে ইন্টারেক্টিভভাবে টেস্ট চালানোর সুযোগ দেয় এবং এটি আপনার স্বয়ংক্রিয় বিল্ড ও টেস্টিং প্রক্রিয়ার অংশ হিসেবে স্ক্রিপ্টিংয়ের জন্যও বেশ উপযোগী। এই টুলটি ব্যবহার করে টেস্ট চালানোর নির্দেশাবলীর জন্য “Test with the gcloud CLI” দেখুন।

আলফা বা বিটা চ্যানেল ব্যবহার করে প্লে স্টোরে আপনার অ্যাপের APK ফাইল আপলোড ও প্রকাশ করার সময়, আপনি Test Lab মাধ্যমে বিনামূল্যে আপনার অ্যাপ পরীক্ষা করতে পারেন। আরও তথ্যের জন্য, ‘সমস্যা শনাক্ত করতে প্রি-লঞ্চ রিপোর্ট ব্যবহার করুন’ এবং ‘রোবো টেস্ট’ দেখুন।

ধাপ ২ : আপনার পরীক্ষার ডিভাইসটি বেছে নিন

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

ধাপ ৩ : পরীক্ষার ফলাফল পর্যালোচনা করুন

আপনি যেভাবেই আপনার পরীক্ষা শুরু করুন না কেন, আপনার সমস্ত পরীক্ষার ফলাফল Test Lab দ্বারা পরিচালিত হয় এবং অনলাইনে দেখা যায়।

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

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

আরও বিস্তারিত জানতে, 'Analyze Firebase Test Lab Results' দেখুন।

যখন আপনি অ্যান্ড্রয়েড স্টুডিও থেকে কোনো পরীক্ষা শুরু করেন, তখন আপনি আপনার ডেভেলপমেন্ট এনভায়রনমেন্টের ভেতর থেকেও পরীক্ষার ফলাফল পর্যালোচনা করতে পারেন।

ডিভাইস পরিষ্কার করা

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

Test Lab দ্বারা ব্যবহৃত ভার্চুয়াল ডিভাইসগুলোর ক্ষেত্রে, ব্যবহারের পর ডিভাইস ইনস্ট্যান্সগুলো মুছে ফেলা হয়, যাতে প্রতিটি টেস্ট রান একটি নতুন ভার্চুয়াল ডিভাইস ইনস্ট্যান্স ব্যবহার করে।


Test Lab এবং গুগল প্লে পরিষেবা

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

পরীক্ষার ডিভাইসগুলিকে ব্যক্তিগত ব্যাকএন্ড সার্ভারগুলিতে অ্যাক্সেস করার অনুমতি দেওয়া

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

মোবাইল বিজ্ঞাপন

Test Lab একটি পরিবর্ধনযোগ্য পরিকাঠামো প্রদান করে যা অ্যাপ টেস্টিং স্বয়ংক্রিয় করে তোলে, এবং দুর্ভাগ্যবশত, প্রতারণামূলক বিজ্ঞাপন থেকে আয় করার উদ্দেশ্যে তৈরি ক্ষতিকারক অ্যাপগুলো এই সক্ষমতার অপব্যবহার করতে পারে।

এই সমস্যাটি প্রশমিত করতে:

  • আপনি যদি তৃতীয় পক্ষের ডিজিটাল বিজ্ঞাপন সরবরাহকারীদের (যেমন, অ্যাড নেটওয়ার্ক বা ডিমান্ড-সাইড প্ল্যাটফর্ম) ব্যবহার করেন বা তাদের সাথে কাজ করেন, তাহলে অ্যাপ তৈরি ও পরীক্ষার সময় আসল বিজ্ঞাপনের পরিবর্তে পরীক্ষামূলক বিজ্ঞাপন ব্যবহার করার পরামর্শ দেওয়া হয়।

  • আপনার পরীক্ষায় যদি আসল বিজ্ঞাপন ব্যবহার করতেই হয়, তাহলে আপনার সহযোগী ডিজিটাল বিজ্ঞাপন সরবরাহকারীদেরকে নিচের আইপি অ্যাড্রেস ব্লকগুলো ব্যবহার করে Test Lab থেকে আসা আয় এবং সংশ্লিষ্ট সমস্ত ট্র্যাফিক ফিল্টার করে বাদ দেওয়ার জন্য অবহিত করুন। গুগল-এর নিজস্ব বিজ্ঞাপন সরবরাহকারীদের জানানোর প্রয়োজন নেই; Test Lab আপনার হয়ে সেই কাজটি করে দেয়।

Test Lab ডিভাইস দ্বারা ব্যবহৃত আইপি ঠিকানা

Test Lab ডিভাইসগুলো দ্বারা উৎপন্ন সমস্ত নেটওয়ার্ক ট্র্যাফিক নিম্নলিখিত আইপি অ্যাড্রেস ব্লকগুলো থেকে আসে। আপনি gcloud CLI-তে gcloud beta firebase test ip-blocks list কমান্ডটি ব্যবহার করেও এই তালিকাটি দেখতে পারেন। তালিকাটি বছরে গড়ে একবার আপডেট করা হয়।

প্ল্যাটফর্ম এবং ডিভাইসের ধরন সিআইডিআর আইপি ঠিকানা ব্লক
অ্যান্ড্রয়েড এবং আইওএস ফিজিক্যাল ডিভাইস, আর্ম ভার্চুয়াল ডিভাইস

৭০.৩২.১২৮.০/১৯ (০২-২০২২ এ যোগ করা হয়েছে)

১০৮.১৭৭.৬.০/২৩

১০৮.১৭৭.১৮.১৯২/২৬ (০২-২০২২ এ যুক্ত)

১০৮.১৭৭.২৯.৬৪/২৭ (সম্প্রসারিত ০২-২০২২)

১০৮.১৭৭.৩১.১৬০/২৭ (০২-২০২২ এ যুক্ত করা হয়েছে)

১৯৯.৩৬.১৫৬.৮/২৯ (০২-২০২২ এ যুক্ত করা হয়েছে)

১৯৯.৩৬.১৫৬.১৬/২৮ (০২-২০২২ এ যুক্ত)

২০৯.৮৫.১৩১.০/২৭ (০২-২০২২ এ যুক্ত করা হয়েছে)

২০০১:৪৮৬০:১০০৮::/৪৮ (০২-২০২২ এ যোগ করা হয়েছে)

২০০১:৪৮৬০:১০১৮::/৪৮ (০২-২০২২ এ যোগ করা হয়েছে)

২০০১:৪৮৬০:১০১৯::/৪৮ (০২-২০২২ এ যোগ করা হয়েছে)

২০০১:৪৮৬০:১০২০::/৪৮ (০২-২০২২ এ যোগ করা হয়েছে)

২০০১:৪৮৬০:১০২২::/৪৮ (০২-২০২২ এ যোগ করা হয়েছে)

2001:4860:101d::/48 (10-2025 তারিখে যোগ করা হয়েছে)

2001:4860:101e::/48 (10-2025 তারিখে যোগ করা হয়েছে)

২০০১:৪৮৬০:১০৩১::/৪৮ (১০-২০২৫ এ যোগ করা হয়েছে)

৭০.৩২.১২৮.৪৮/২৮ (০৪-২০২৪ এ যোগ করা হয়েছে)

৭০.৩২.১৫০.১৯২/২৭ (সংযোজিত ০৯-২০২৫)

১০৮.১৭৭.৬.০/২৭ (সংযোজিত: ০৯-২০২৫)

১০৮.১৭৭.২৪.১৬০/২৭ (সংযোজিত: ০৯-২০২৫)

১০৮.১৭৭.২৯.০/২৭ (যোগ করা হয়েছে ০৯-২০২৫)

অ্যান্ড্রয়েড ভার্চুয়াল ডিভাইস (নন-আর্ম)

৩৪.৬৮.১৯৪.৬৪/২৯ (১১-২০১৯ এ যোগ করা হয়েছে)

৩৪.৬৯.২৩৪.৬৪/২৯ (১১-২০১৯ এ যোগ করা হয়েছে)

৩৪.৭৩.৩৪.৭২/২৯ (১১-২০১৯ এ যোগ করা হয়েছে)

৩৪.৭৩.১৭৮.৭২/২৯ (১১-২০১৯ এ যোগ করা হয়েছে)

৩৪.৭৪.১০.৭২/২৯ (০২-২০২২ এ যোগ করা হয়েছে)

৩৪.১৩৬.২.১৩৬/২৯ (সংযোজিত ০২-২০২২)

৩৪.১৩৬.৫০.১৩৬/২৯ (০২-২০২২ এ যোগ করা হয়েছে)

৩৪.১৪৫.২৩৪.১৪৪/২৯ (০২-২০২২ এ যুক্ত)

৩৫.১৯২.১৬০.৫৬/২৯

৩৫.১৯৬.১৬৬.৮০/২৯

৩৫.১৯৬.১৬৯.২৪০/২৯

৩৫.২০৩.১২৮.০/২৮

৩৫.২৩৪.১৭৬.১৬০/২৮

৩৫.২৪৩.২.০/২৭ (৭-২০১৯ এ যোগ করা হয়েছে)

৩৫.২৪৫.২৪৩.২৪০/২৯ (০২-২০২২ এ যুক্ত)

১৯৯.১৯২.১১৫.০/৩০

১৯৯.১৯২.১১৫.৮/৩০

১৯৯.১৯২.১১৫.১৬/২৯

ডিভাইস আইপি-ব্লক আর ব্যবহার করা হচ্ছে না

৭৪.১২৫.১২২.৩২/২৯ (০২-২০২২ এ অপসারণ করা হয়েছে)

২১৬.২৩৯.৪৪.২৪/২৯ (০২-২০২২ এ অপসারণ করা হয়েছে)