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 ডিভাইসকে প্রাইভেট ব্যাকএন্ড সার্ভার অ্যাক্সেস করার অনুমতি দেওয়া

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