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-এর মাধ্যমে পরীক্ষা করুন লিঙ্ক দেখুন।

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

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

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-এর নতুন ভার্সন প্রকাশের পরে কিছু ডিভাইসে আপডেট হতে কয়েকদিন সময় লাগতে পারে। মনে রাখবেন, কিছু ডিভাইসের সাথে মানানসই হওয়া সংক্রান্ত সমস্যা হতে পারে।

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

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

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

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 (added 02-2022)

108.177.6.0/23

108.177.18.192/26 (added 02-2022)

108.177.29.64/27 (expanded 02-2022)

108.177.31.160/27 (added 02-2022)

199.36.156.8/29 (added 02-2022)

199.36.156.16/28 (added 02-2022)

209.85.131.0/27 (added 02-2022)

2001:4860:1008::/48 (added 02-2022)

2001:4860:1018::/48 (added 02-2022)

2001:4860:1019::/48 (added 02-2022)

2001:4860:1020::/48 (added 02-2022)

2001:4860:1022::/48 (added 02-2022)

2001:4860:101d::/48 (added 10-2025)

2001:4860:101e::/48 (added 10-2025)

2001:4860:1031::/48 (added 10-2025)

70.32.128.48/28 (added 04-2024)

70.32.150.192/27 (added 09-2025)

108.177.6.0/27 (added 09-2025)

108.177.24.160/27 (added 09-2025)

108.177.29.0/27 (added 09-2025)

108.177.25.128/27 (added 05-2026)

108.177.26.128/26 (added 05-2026)

108.177.29.192/26 (added 05-2026)

172.217.120.64/26 (added 05-2026)

172.217.120.128/26 (added 05-2026)

2001:4860:1037::/48 (added 05-2026)

2001:4860:1038::/48 (added 05-2026)

2001:4860:103a::/48 (added 05-2026)

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

34.68.194.64/29 (added 11-2019)

34.69.234.64/29 (added 11-2019)

34.73.34.72/29 (added 11-2019)

34.73.178.72/29 (added 11-2019)

34.74.10.72/29 (added 02-2022)

34.136.2.136/29 (added 02-2022)

34.136.50.136/29 (added 02-2022)

34.145.234.144/29 (added 02-2022)

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 (added 7-2019)

35.245.243.240/29 (added 02-2022)

199.192.115.0/30

199.192.115.8/30

199.192.115.16/29

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

74.125.122.32/29 (removed 02-2022)

216.239.44.24/29 (removed 02-2022)