Firebase Test Lab-এর মাধ্যমে Android-এর জন্য টেস্টিং শুরু করা

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

Test Lab কোটা ও দামের প্ল্যান সম্পর্কে তথ্য পেতে, ব্যবহার, কোটা ও দাম দেখুন।

মূল ধারণা

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

ডিভাইস × টেস্ট এক্সিকিউশন = টেস্ট ম্যাট্রিক্স

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

ধাপ ১: Test Lab-এ আপলোড করার জন্য আপনার টেস্ট প্রস্তুত করুন

উপলভ্য টেস্টের ধরন

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

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

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

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

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

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

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

    Test Lab-এর সাথে এই টেস্ট রান করার নির্দেশাবলীর জন্য গেম লুপ টেস্ট রান করুন দেখুন।

আপনার টেস্ট চালানোর টুল

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

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

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

  • gcloud কমান্ড লাইন ইন্টারফেস আপনাকে কমান্ড লাইন থেকে ইন্টার‍্যাক্টিভভাবে টেস্ট রান করার সুবিধা দেয় এবং আপনার অটোমেটেড বিল্ড ও টেস্টিং প্রসেসের অংশ হিসেবে স্ক্রিপ্টিংয়ের জন্য উপযুক্ত। এই টুল ব্যবহার করে টেস্ট চালানোর নির্দেশাবলীর জন্য gcloud CLI-এর মাধ্যমে টেস্ট করুন দেখুন।

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

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

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

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

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

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

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

আরও জানতে, Firebase Test Lab ফলাফল বিশ্লেষণ করুন দেখুন।

Android Studio থেকে টেস্ট শুরু করলে, আপনি ডেভেলপমেন্ট এনভায়রনমেন্টের মধ্যে থেকেও টেস্টের ফলাফল পর্যালোচনা করতে পারবেন।

ডিভাইস ক্লিন-আপ

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

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


Test Lab এবং Google Play পরিষেবা

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

টেস্ট ডিভাইসকে ব্যক্তিগত ব্যাকএন্ড সার্ভার অ্যাক্সেস করার অনুমতি দেওয়া হচ্ছে

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

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

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

এই সমস্যার সমাধান করতে:

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

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

Test Labটি ডিভাইসের মাধ্যমে ব্যবহার করা IP অ্যাড্রেস

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

প্ল্যাটফর্ম ও ডিভাইসের ধরন CIDR IP অ্যাড্রেস ব্লক
Android ও iOS ফিজিক্যাল ডিভাইস, Arm ভার্চুয়াল ডিভাইস

70.32.128.0/19 (০২-২০২২-এ যোগ করা হয়েছে)

108.177.6.0/23

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

108.177.29.64/27 (ফেব্রুয়ারি ২০২২-এ বাড়ানো হয়েছে)

108.177.31.160/27 (০২-২০২২-এ যোগ করা হয়েছে)

199.36.156.8/29 (০২-২০২২-এ যোগ করা হয়েছে)

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

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

2001:4860:1008::/48 (০২-২০২২-এ যোগ করা হয়েছে)

2001:4860:1018::/48 (০২-২০২২-এ যোগ করা হয়েছে)

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

2001:4860:1020::/48 (০২-২০২২-এ যোগ করা হয়েছে)

2001:4860:1022::/48 (০২-২০২২-এ যোগ করা হয়েছে)

2001:4860:101d::/48 (১০-২০২৫-এ যোগ করা হয়েছে)

2001:4860:101e::/48 (১০-২০২৫-এ যোগ করা হয়েছে)

2001:4860:1031::/48 (১০-২০২৫-এ যোগ করা হয়েছে)

70.32.128.48/28 (০৪-২০২৪-এ যোগ করা হয়েছে)

70.32.150.192/27 (০৯-২০২৫-এ যোগ করা হয়েছে)

108.177.6.0/27 (০৯-২০২৫-এ যোগ করা হয়েছে)

108.177.24.160/27 (০৯-২০২৫-এ যোগ করা হয়েছে)

108.177.29.0/27 (০৯-২০২৫-এ যোগ করা হয়েছে)

108.177.25.128/27 (05-2026-এ যোগ করা হয়েছে)

108.177.26.128/26 (05-2026-এ যোগ করা হয়েছে)

108.177.29.192/26 (০৫-২০২৬-এ যোগ করা হয়েছে)

172.217.120.64/26 (০৫-২০২৬-এ যোগ করা হয়েছে)

172.217.120.128/26 (05-2026-এ যোগ করা হয়েছে)

2001:4860:1037::/48 (০৫-২০২৬-এ যোগ করা হয়েছে)

2001:4860:1038::/48 (05-2026-এ যোগ করা হয়েছে)

2001:4860:103a::/48 (০৫-২০২৬-এ যোগ করা হয়েছে)

Android ভার্চুয়াল ডিভাইস (Non-Arm)

34.68.194.64/29 (১১-২০১৯-এ যোগ করা হয়েছে)

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

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

34.73.178.72/29 (১১-২০১৯-এ যোগ করা হয়েছে)

34.74.10.72/29 (০২-২০২২-এ যোগ করা হয়েছে)

34.136.2.136/29 (02-2022-এ যোগ করা হয়েছে)

34.136.50.136/29 (০২-২০২২-এ যোগ করা হয়েছে)

34.145.234.144/29 (০২-২০২২-এ যোগ করা হয়েছে)

35.192.160.56/29

35.196.166.80/29

35.196.169.240/29

35.203.128.0/28

35.234.176.160/28

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

35.245.243.240/29 (02-2022-এ যোগ করা হয়েছে)

199.192.115.0/30

199.192.115.8/30

199.192.115.16/29

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

৭৪.১২৫.১২২.৩২/২৯ (ফেব্রুয়ারি, ২০২২-এ সরানো হয়েছে)

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