Firebase Test Lab-এর ফলাফল বিশ্লেষণ করা

আপনার Android অ্যাপে পরীক্ষা চালানোর জন্য Firebase Test Lab ব্যবহার করার একাধিক উপায় আছে, এর মধ্যে কমান্ড লাইন ইন্টারফেস, Android Studio, Test Lab UI-এর মধ্যে Firebase কনসোল এবং Testing API অন্তর্ভুক্ত। আপনি যেভাবে টেস্ট শুরু করুন না কেন, ফলাফল আপনার নির্দিষ্ট করা Firebase প্রোজেক্টে সেভ করা হয়। উপরের যেকোনও টুলের পাশাপাশি আপনি ToolResults API ব্যবহার করে ফলাফল এক্সপ্লোর করতে পারবেন। এই পৃষ্ঠায় কীভাবে এইসব পরীক্ষার ফলাফল পর্যালোচনা ও বিশ্লেষণ করতে হয় তা বর্ণনা করা হয়েছে।

গুরুত্বপূর্ণ বিষয়

Firebase কনসোলে, DevOps ও এনগেজমেন্ট > Test Lab বিকল্পে গিয়ে আপনার আগের সব টেস্ট রান থেকে পাওয়া ফলাফল দেখতে পারবেন। এই পৃষ্ঠায়, Test Lab ব্যবহার করে আপনার প্রজেক্টের সাথে আপনি যেসব অ্যাপ পরীক্ষা করেছেন, সেগুলির টেস্ট রান থেকে পাওয়া সব বিস্তারিত ফলাফল দেখানো হয়।

পরীক্ষার ফলাফল পর্যালোচনা করতে, আপনাকে প্রথমে তিনটি বিষয় বুঝতে হবে:

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

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

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

কীভাবে পরীক্ষার ফলাফল নেভিগেট করতে হয় তা নিম্নলিখিত বিভাগ থেকে জানতে পারবেন।

টেস্ট ইতিহাসের ফলাফল ব্যাখ্যা করা

Test Lab বেছে নিয়ে পরীক্ষার ফলাফলে নেভিগেট করলে, আপনি এতদিন পর্যন্ত চালানো পরীক্ষার ফলাফল দেখতে পাবেন।

টেস্টিং ইতিহাস অ্যাপ অনুযায়ী গ্রুপ করা হয়। প্রতিটি অ্যাপের জন্য শুধুমাত্র সবচেয়ে সাম্প্রতিক পাঁচটি টেস্ট ম্যাট্রিক্স দেখানো হয়; আরও উপলভ্য থাকলে, আপনি অ্যাপ টেস্ট তালিকার নিচে থাকা সব ম্যাট্রিক্স লিঙ্কে ক্লিক করে সেই অ্যাপের সম্পূর্ণ তালিকা দেখতে পারবেন।

টেস্ট ম্যাট্রিক্সের ফলাফল ব্যাখ্যা করা

Test Lab UI-এর মাধ্যমে কোনও টেস্ট শুরু করলে, আপনাকে এমন একটি পৃষ্ঠায় রিডাইরেক্ট করা হবে যেখানে আপনি নিজের টেস্ট ম্যাট্রিক্স দেখতে পাবেন এবং টেস্টের ফলাফল দেখতে কোনও নির্দিষ্ট টেস্ট এক্সিকিউশনে ক্লিক করতে পারবেন। Android Studio এবং gcloud কমান্ডও টেস্ট ম্যাট্রিক্স ফলাফল পৃষ্ঠার জন্য URL প্রদান করে।

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

  • উত্তীর্ণ টেস্ট পাস করেছে: কোনও ব্যর্থতা হয়নি।
  • ব্যর্থ হয়েছে টেস্ট করা যায়নি: অন্তত একটি সমস্যা হয়েছে।
  • অনিশ্চিত টেস্ট পাস করেছে: পরীক্ষার ফলাফল অনিশ্চিত ছিল, সম্ভবত Test Lab সমস্যার কারণে।
  • টেস্ট পাস করেছে এড়িয়ে যাওয়া হয়েছে: ম্যাট্রিক্সের কিছু টেস্ট এক্সিকিউশনের জন্য বেছে নেওয়া ডাইমেনশন ভ্যালু মানানসই ছিল না। এটি তখন ঘটে যখন আপনার বেছে নেওয়া ডিভাইস, আপনার বেছে নেওয়া এক বা একাধিক Android API লেভেলের সাথে মানানসই হয় না।

আপনার Firebase প্রোজেক্টে কোনও নির্দিষ্ট অ্যাপের জন্য সব টেস্ট ম্যাট্রিক্সের একত্রিত টেস্ট ফলাফল পর্যালোচনা করতে, নিম্নলিখিত উদাহরণে দেখানো অ্যাপের নামে ক্লিক করুন:

মাত্র চারটি টেস্ট এক্সিকিউশন সহ টেস্ট ম্যাট্রিক্সের ফলাফল পৃষ্ঠার উদাহরণ টেস্ট ম্যাট্রিক্সের ফলাফল

এটি আপনাকে আপনার অ্যাপের জন্য টেস্ট ম্যাট্রিক্সের তালিকায় নিয়ে যায়, যেখানে আপনি টেস্ট ম্যাট্রিক্সের ফলাফল দেখতে যেকোনও টেস্ট ম্যাট্রিক্সের নামে ক্লিক করতে পারেন এবং যেখানে আপনি Firebase প্রোজেক্টের সাথে যুক্ত অন্যান্য অ্যাপের জন্য টেস্ট ম্যাট্রিক্সের তালিকা দেখতে (নিচে লাল বক্সে দেখানো) অ্যাপের নামে ক্লিক করতে পারেন।

পরীক্ষা ম্যাট্রিক্স তালিকা পৃষ্ঠার উদাহরণ পরীক্ষার মেট্রিক্স তালিকা

টেস্ট ম্যাট্রিক্স পাস, ফেল বা অসম্পূর্ণ হতে পারে। টেস্ট ম্যাট্রিক্সের কোনও টেস্ট এক্সিকিউশন ব্যর্থ হলে বা কোনও সিদ্ধান্তে পৌঁছানো না গেলে, টেস্ট ম্যাট্রিক্সটিকে ব্যর্থ বা কোনও সিদ্ধান্তে পৌঁছানো যায়নি হিসেবে দেখানো হয়।

রোবট টেস্টের ফলাফল ব্যাখ্যা করা

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

রোবো টেস্টের ফলাফলের ভিডিওর উদাহরণ

রোবো টেস্টের ফলাফল

একটি টেস্ট এক্সিকিউশন থেকে পাওয়া ফলাফল ব্যাখ্যা করা

টেস্ট ম্যাট্রিক্সের ফলাফল পৃষ্ঠা থেকে, কোনও একটি টেস্ট এক্সিকিউশনে ক্লিক করে সেই নির্দিষ্ট টেস্ট এক্সিকিউশনের ফলাফল দেখুন।

টেস্ট এক্সিকিউশনের ফলাফল পৃষ্ঠার উদাহরণ টেস্ট এক্সিকিউশনের ফলাফল

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

পার্টিশন করা ইন্সট্রুমেন্টেশন টেস্টের ফলাফল

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

টেস্টকেস ফলাফলের পৃষ্ঠার উদাহরণ টেস্টকেসের ফলাফল

অ্যাক্সেসিবিলিটি সংক্রান্ত ফলাফল ব্যাখ্যা করা

আপনার অ্যাপে অ্যাক্সেসিবিলিটি সংক্রান্ত সমস্যা শনাক্ত করতে রোবো টেস্ট Android অ্যাক্সেসিবিলিটি স্ক্যানার ব্যবহার করে (মনে রাখবেন, আপনি নিজের ডিভাইসেও লোকালি স্ক্যান চালাতে পারবেন)। আপনার রোবো টেস্টের অ্যাক্সেসিবিলিটি ফলাফল কীভাবে পর্যালোচনা ও ব্যাখ্যা করবেন সেই সংক্রান্ত নির্দেশাবলীর জন্য, অ্যাক্সেসিবিলিটি স্ক্যানার ব্যবহার করা শুরু করুন লিঙ্কে যান।

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

পারফর্ম্যান্স মেট্রিক

ফিজিক্যাল ডিভাইসে চালানো টেস্ট থেকেও পারফর্ম্যান্স মেট্রিক পাওয়া যায়:

মেট্রিকপ্রয়োজনীয় ডিভাইস কনফিগারেশন
অ্যাপ চালু হওয়ার সময়API 19+
সিপিইউ ব্যবহারAPI 21+
মেমরি ব্যবহার
নেটওয়ার্ক অ্যাক্টিভিটি
প্রতি সেকেন্ডে ফ্রেমAPI 21+ এবং SurfaceView অন্তর্ভুক্ত

পরীক্ষার বিস্তারিত ফলাফল

আপনি টেস্ট চালানোর পরে ৯০ দিন পর্যন্ত বিস্তারিত ফলাফল উপলভ্য থাকে এবং সেগুলি Google Cloud Storage বাকেটে (তবে Firebase কনসোলেও দেখা যায়) স্টোর করা হয়। টেস্ট এক্সিকিউশন ফলাফল পৃষ্ঠায় টেস্ট ফলাফল বিকল্পে ক্লিক করলে, আপনি Cloud Storage বাকেটে বিস্তারিত টেস্ট ফলাফল দেখতে পাবেন। পরীক্ষার বিস্তারিত ফলাফল আর উপলভ্য না থাকলেও, কোন পরীক্ষা পাস বা ফেল করেছে তা আপনি এখনও দেখতে পাবেন।

আপনি যদি ৯০ দিনের বেশি সময় ধরে বিস্তারিত পরীক্ষার ফলাফল রাখতে চান, তাহলে --results-bucket gcloud কমান্ড-লাইন বিকল্প ব্যবহার করে Cloud Storage আপনার মালিকানাধীন বাকেটে এই পরীক্ষার ফলাফল পাঠান। তারপরে, আপনার Cloud Storage বাকেটে কতদিন ফলাফল স্টোর করা হবে তা নির্ধারণ করতে বয়স সেটিং সেট করতে পারবেন। বয়স সেটিং কীভাবে পরিবর্তন করতে হয় সেই সম্পর্কে তথ্য পেতে লাইফসাইকেল কন্ডিশন দেখুন।

পরীক্ষা চালানোর সময়, আপনি যদি does not have storage.objects.create access to the Google Cloud Storage object. Permission 'storage.objects.create' denied on resource (or it may not exist).. সমস্যাটি দেখতে পান, তাহলে যে প্রিন্সিপাল পরীক্ষা চালাচ্ছেন তার কাছে প্রোজেক্টে সঠিক অনুমতি নাও থাকতে পারে। সাধারণত, Firebase আপনার জন্য Google Cloud Storage-এ একটি বাকেট তৈরি করে, তবে এটি পরীক্ষা চালানোর জন্য প্রিন্সিপালকে "roles/editor" হতে হবে, এটি একটি অনুমোদিত রোল। আপনি যদি প্রিন্সিপালকে সেই ভূমিকা দিতে না পারেন, তাহলে --results-bucket gcloud কমান্ড-লাইন বিকল্প ব্যবহার করতে পারেন।