iOS-এর জন্য Firebase Test Lab ব্যবহার শুরু করা

Firebase Test Lab আপনাকে বিভিন্ন ডিভাইস ও কনফিগারেশনে আপনার অ্যাপের কোয়ালিটি টেস্ট করতে দেয়। এই গাইড Test Lab-এর মূল ধারণা, iOS অফার এবং কীভাবে টেস্টিং শুরু করতে হয় সেই সম্পর্কে নির্দেশাবলীর ওভারভিউ প্রদান করে।

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

মূল ধারণা ও শব্দ

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

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

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

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

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

  • XCTest (XCUITests সহ): XCTest ফ্রেমওয়ার্ক ব্যবহার করে আপনার লেখা ইউনিট টেস্ট। Test Lab-এর সাথে রান করার জন্য XCTest মডিফাই করার নির্দেশাবলী পেতে, XCTest তৈরি করুন লিঙ্কে যান।

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

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

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

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

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

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

ধাপ ২: আপনার টেস্ট রান করার জন্য একটি টুল বেছে নিন

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

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

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

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

ধাপ ৩: টেস্টিং ডিভাইস নির্দিষ্ট করুন

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

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

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

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

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

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

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

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

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


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

পরীক্ষা চলাকালীন কিছু মোবাইল অ্যাপকে সঠিকভাবে কাজ করার জন্য ব্যক্তিগত ব্যাকএন্ড পরিষেবার সাথে যোগাযোগ করতে হয়। আপনার ব্যাকএন্ড সার্ভার ফায়ারওয়াল নিয়মের মাধ্যমে সুরক্ষিত থাকলে, আপনি 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:1019::/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-ব্লক আর ব্যবহার করা হচ্ছে না

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

An IP address is a unique number assigned to every device connected to the internet. It helps devices identify and communicate with each other. IP addresses are usually written in a format like this: `192.168.1.1`. There are two main types of IP addresses: * **IPv4:** This is the older and more common format. It consists of four numbers separated by periods, with each number ranging from 0 to 255. * **IPv6:** This is a newer format designed to accommodate the growing number of devices on the internet. It consists of eight groups of hexadecimal digits separated by colons. IP addresses can be static (meaning they don't change) or dynamic (meaning they can change over time). They can also be public (visible to the entire internet) or private (only visible within a local network).