Check out what’s new from Firebase at Google I/O 2022. Learn more

iOS এর জন্য Firebase টেস্ট ল্যাব দিয়ে শুরু করুন

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

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

মূল ধারণা এবং পদ

আপনি যখন একটি পরীক্ষা চালান বা আপনার নির্বাচিত ডিভাইস এবং কনফিগারেশনের বিরুদ্ধে টেস্ট কেসগুলির একটি সেট চালান, টেস্ট ল্যাব আপনার অ্যাপের বিরুদ্ধে একটি ব্যাচে পরীক্ষা চালায়, তারপর ফলাফলগুলিকে একটি টেস্ট ম্যাট্রিক্স হিসাবে প্রদর্শন করে৷

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

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

ধাপ 1 : টেস্ট ল্যাবে আপলোড করার জন্য আপনার পরীক্ষা প্রস্তুত করুন

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

  • XCTest (XCUITests সহ) : একটি ইউনিট পরীক্ষা যা আপনি XCTest ফ্রেমওয়ার্ক ব্যবহার করে লিখেছেন। টেস্ট ল্যাবের সাথে চালানোর জন্য একটি XCTest পরিবর্তন করার নির্দেশাবলীর জন্য একটি XCTest তৈরি করুন দেখুন।

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

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

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

    • ঐচ্ছিকভাবে একটি একক পরীক্ষা সম্পাদনে চালানোর জন্য একাধিক লুপ তৈরি করুন। আপনি লেবেল ব্যবহার করে লুপগুলিকে সংগঠিত করতে পারেন যাতে আপনি তাদের ট্র্যাক রাখতে পারেন এবং নির্দিষ্ট লুপগুলি পুনরায় চালাতে পারেন৷

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

ধাপ 2 : আপনার পরীক্ষা চালানোর জন্য একটি টুল চয়ন করুন

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

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

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

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

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

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

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

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

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

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

আরো বিস্তারিত জানার জন্য, ফায়ারবেস টেস্ট ল্যাবের ফলাফল বিশ্লেষণ দেখুন।

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

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

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


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

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

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

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

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

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

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

টেস্ট ল্যাব ডিভাইস দ্বারা ব্যবহৃত IP ঠিকানা

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

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

70.32.128.0/19 (02-2022 যোগ করা হয়েছে)

108.177.6.0/23

108.177.18.192/26 (02-2022 যোগ করা হয়েছে)

108.177.29.64/27 (প্রসারিত 02-2022)

108.177.31.160/27 (02-2022 যোগ করা হয়েছে)

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

199.36.156.16/28 (02-2022 যোগ করা হয়েছে)

209.85.131.0/27 (02-2022 যোগ করা হয়েছে)

2001:4860:1008::/48 (02-2022 যোগ করা হয়েছে)

2001:4860:1018::/48 (02-2022 যোগ করা হয়েছে)

2001:4860:1019::/48 (02-2022 যোগ করা হয়েছে)

2001:4860:1020::/48 (02-2022 যোগ করা হয়েছে)

2001:4860:1022::/48 (02-2022 যোগ করা হয়েছে)

অ্যান্ড্রয়েড ভার্চুয়াল ডিভাইস

34.68.194.64/29 (সংযোজিত 11-2019)

34.69.234.64/29 (যোগ করা হয়েছে 11-2019)

34.73.34.72/29 (যোগ করা হয়েছে 11-2019)

34.73.178.72/29 (যোগ করা হয়েছে 11-2019)

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

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

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

34.145.234.144/29 (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 (যোগ করা হয়েছে 7-2019)

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

199.192.115.0/30

199.192.115.8/30

199.192.115.16/29

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

74.125.122.32/29 (02-2022 সরানো হয়েছে)

216.239.44.24/29 (02-2022 সরানো হয়েছে)