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

আপনার Android অ্যাপে টেস্ট রান করার জন্য Firebase Test Lab ব্যবহার করার একাধিক উপায় আছে, যার মধ্যে কমান্ড লাইন ইন্টারফেস, Android Studio, Firebase কনসোলে Test Lab UI এবং 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 ১৯+
CPU-এর ব্যবহারAPI ২১+
মেমরি ব্যবহার
নেটওয়ার্ক অ্যাক্টিভিটি
প্রতি সেকেন্ডে ফ্রেম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 কমান্ড-লাইন বিকল্প ব্যবহার করতে পারেন।