অ্যাপ টেস্টিং এজেন্ট (অ্যান্ড্রয়েড)

The App Testing agent is a test case generation, management, and execution agent powered by Gemini in Firebase . You define test goals in natural language, and the agent uses AI to understand and navigate your app, simulate user interactions, and provide detailed test results.

অ্যাপ টেস্টিং এজেন্ট কীভাবে আপনার ডেটা ব্যবহার করে

App Testing agent is provided by Gemini in Firebase and is governed under the same terms. See How Gemini in Firebase uses your data for more information about how Gemini in Firebase uses your data.

শুরু করার আগে

যদি আগে থেকে না করে থাকেন, তাহলে Firebase-এ আপনার অ্যাপটি নিবন্ধন করুন

If you aren't using any other Firebase products, you only have to create a project and register your app. You don't need to add any SDKs to your app. However, if you decide to use additional products in the future, be sure to complete all of the steps in Add Firebase using the Firebase console .

একটি টেস্ট কেস তৈরি করুন

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

Each test case is broken down into steps, which will be executed in sequence. Steps allow you to break up your test case into phases, each with their own assertion. The agent may take many actions during any one step.

There are two ways to create a test case: using a YAML file or using the Firebase console. YAML files let you manage the test cases yourself, typically in a versioned source code repository. Alternatively, the Firebase console can store your test cases remotely along with your App Distribution data.

YAML ফাইল ব্যবহার করে

নিম্নলিখিত উদাহরণটি একটি YAML ফাইল দেখায় যা দুটি টেস্ট কেস সংজ্ঞায়িত করে:

tests:
- displayName: Login as guest
  id: login-as-guest
  steps:
  - goal: Log in as a guest
    finalScreenAssertion: The home screen is visible
- displayName: View biography card birth date
  prerequisiteTestCaseId: login-as-guest
  steps:
  - goal: Open the article on "Bob Dylan"
    hint: Use the search function to find it
    finalScreenAssertion: >-
      The article is opened and the title "Bob Dylan" is visible.
  - goal: Find Bob Dylan's birthday in the article
    hint: >-
      Look for the "Born" section in the infobox on the right side of the page.
    finalScreenAssertion: >-
      The text "May 24, 1941" is visible on the screen.

You can organize groups of tests in a single file and separate these test suites in multiple files. You can add a prerequisite test case by adding an ID to the test and then referencing that ID using prerequisiteTestCaseId .

App Distribution কনসোল ব্যবহার করে

বিকল্পভাবে, আপনি ফায়ারবেস কনসোলে আপনার টেস্ট কেসগুলো তৈরি ও পরিচালনা করতে পারেন। একটি টেস্ট কেস তৈরি করতে, Firebase কনসোলের App Distribution পেজটি খুলুন এবং নিম্নলিখিত ধাপগুলো অনুসরণ করুন:

  1. টেস্ট কেস ট্যাবে, নতুন টেস্ট কেস- এ ক্লিক করুন। আপনি যদি নিজের টেস্ট কেস তৈরি করতে না চান, তবে প্রদত্ত উদাহরণ টেস্ট কেসটি পরিবর্তন বা ব্যবহার করতে পারেন।
  2. 'অ্যাড টেস্ট কেস' ডায়ালগ বক্সে টেস্ট কেসটির একটি নাম দিন। এটি টেস্টটিকে শনাক্ত করতে ব্যবহৃত হয়, কিন্তু এজেন্ট এটিকে উপেক্ষা করে।
  3. (Optional) Select a Prerequisite test case that contains set-up steps to run before the main test. If the prerequisite test fails, the entire test will be marked as a failure. Steps and outcomes from the prerequisite and main tests will be shown together in the test results.
  4. 'Add another step' বোতামে ক্লিক করে আপনার পরীক্ষাটিকে একাধিক ধাপে ভাগ করার কথা বিবেচনা করুন।
  5. প্রতিটি ধাপের জন্য একটি লক্ষ্য নির্ধারণ করুন, যা বর্ণনা করবে যে সেই ধাপে অ্যাপ টেস্টিং এজেন্টকে কী করতে হবে।
  6. (ঐচ্ছিক) একটি ইঙ্গিত যোগ করুন যা অতিরিক্ত তথ্য প্রদান করবে এবং অ্যাপ টেস্টিং এজেন্টকে ঐ ধাপে আপনার অ্যাপটি বুঝতে ও পরিচালনা করতে সাহায্য করবে।
  7. ধাপটি কখন সফলভাবে সম্পন্ন হয়েছে তা অ্যাপ টেস্টিং এজেন্টকে নির্ধারণ করতে সাহায্য করার জন্য একটি চূড়ান্ত স্ক্রিন অ্যাসারশন যোগ করুন। এই অ্যাসারশনটি শুধুমাত্র স্ক্রিনে যা দৃশ্যমান, সেটিকেই নির্দেশ করবে।
  8. আপনার পরীক্ষাটি কাস্টমাইজ করা হয়ে গেলে সেভ-এ ক্লিক করুন।

উদাহরণ পরীক্ষার কেস

অ্যাপ টেস্টিং এজেন্ট ব্যবহার করে কীভাবে একটি টেস্ট কেস তৈরি করতে হয়, তার একটি উদাহরণ নিচে দেওয়া হলো:

পরীক্ষার শিরোনাম

হোম পেজ লোড হয়

লক্ষ্য

হোম পেজ লোড করুন

ইঙ্গিত

যেকোনো অনবোর্ডিং স্ক্রিন এড়িয়ে যান। যেকোনো পপআপ বাতিল করুন। সাইন ইন করবেন না।

চূড়ান্ত স্ক্রিন অ্যাসারশন

স্ক্রিনে অ্যাপের মূল হোম পেজটি দেখা যাচ্ছে, সব ছবি লোড হয়ে গেছে এবং কোনো ত্রুটি প্রদর্শিত হচ্ছে না।

একটি পরীক্ষা চালান

How you run your tests depends on how you create and manage your test cases. If you define test cases using YAML files, you will run those tests using the Firebase CLI. If you create your test cases in the App Distribution console, you will run them from the console or through one of the App Distribution CLI tools.

YAML ফাইল ব্যবহার করে

YAML ফাইলে সংজ্ঞায়িত টেস্ট কেসগুলো Firebase CLI ব্যবহার করে চালানো যায়।

  1. Firebase CLI- এর সর্বশেষ সংস্করণটি ইনস্টল বা আপডেট করুন। আমরা আপনার OS-এর জন্য নির্দিষ্ট CLI-এর স্বতন্ত্র বাইনারিটি ডাউনলোড করার পরামর্শ দিই।
  2. সাইন ইন করুন এবং পরীক্ষা করে দেখুন যে আপনি আপনার প্রজেক্টগুলো অ্যাক্সেস করতে পারছেন কিনা। উল্লেখ্য যে, আপনি যদি একটি CI পরিবেশে Firebase CLI ব্যবহার করেন, তাহলে আপনি একটি সার্ভিস অ্যাকাউন্ট দিয়ে অথবা login:ci ব্যবহার করেও অথেন্টিকেট করতে পারেন।
  3. apptesting:execute কমান্ডটি চালান। উদাহরণস্বরূপ:

    firebase apptesting:execute \
      --app=1:1234567890:android:0a1b2c3d4e5f67890 \
      --test-dir=./mytests \
      ./app/build/outputs/apk/debug/app-debug.apk
    
অ্যাপটেস্টিং:এক্সিকিউট [বিকল্পসমূহ] [/অ্যাপ/বাইনারির/পথ]
--app

প্রয়োজনীয়: আপনার অ্যাপের ফায়ারবেস অ্যাপ আইডি। আপনি Firebase কনসোলের জেনারেল সেটিংস পেজে অ্যাপ আইডিটি খুঁজে পাবেন।

--app 1:1234567890:android:0a1b2c3d4e5f67890

--test-dir

Path to a directory that contains test case YAML files. The command will search recursively under this directory, so the files can optionally be organized into subdirectories. If unset, "./tests" is used by default.

--test-devices অথবা
--test-devices-file

যে টেস্ট ডিভাইসগুলোতে আপনি অ্যাপ টেস্টিং এজেন্ট ফিচারের মাধ্যমে বিল্ডগুলো বিতরণ করতে চান।

আপনি সেমিকোলন দ্বারা পৃথক করা পরীক্ষার ডিভাইসগুলির একটি তালিকা হিসাবে পরীক্ষার ডিভাইসগুলি নির্দিষ্ট করতে পারেন:

--test-devices "model=tokay,version=36,locale=en,orientation=portrait;model=b0q,version=33,locale=en,orientation=portrait"

অথবা, আপনি একটি সাধারণ টেক্সট ফাইলের পাথ নির্দিষ্ট করে দিতে পারেন, যেখানে সেমিকোলন দ্বারা পৃথক করা টেস্ট ডিভাইসগুলোর একটি তালিকা থাকবে:

--test-devices-file "/path/to/test-devices.txt"

আপনি gcloud CLI ব্যবহার করে উপলব্ধ ডিভাইস মডেলগুলো দেখে নিতে পারেন।

--test-non-blocking

If set, the command will start the tests and then return immediately instead of waiting for them to complete. To see the test results, visit the Firebase console. If this flag is not set, the command will block until the tests are complete, and exit with a failure code if any of the tests fail.

--test-file-pattern

একটি রেগুলার এক্সপ্রেশন প্যাটার্ন। শুধুমাত্র এই প্যাটার্নের সাথে মেলে এমন ফাইলগুলিতে থাকা টেস্টগুলিই চালানো হবে।

--test-name-pattern

একটি রেগুলার এক্সপ্রেশন প্যাটার্ন। শুধুমাত্র সেইসব টেস্টই চালানো হবে, যেগুলোর ডিসপ্লে নেম এই প্যাটার্নের সাথে মিলবে।

/path/to/app/binary

ঐচ্ছিক: আপনার অ্যাপের বাইনারি ফাইলের পাথ। এটি উল্লেখ না করলে, এজেন্ট নির্দিষ্ট অ্যাপটির জন্য App Distribution আপলোড করা সর্বশেষ রিলিজটি ব্যবহার করবে।

App Distribution কনসোল ব্যবহার করে

অ্যাপ ডিস্ট্রিবিউশনে সংরক্ষিত টেস্ট কেসগুলো চালানোর জন্য, আপনি Firebase কনসোল, ফায়ারবেস সিএলআই, অথবা App Distribution গ্রেডল বা ফাস্টলেন প্লাগইন ব্যবহার করতে পারেন।

YAML ফাইল সহ টেস্ট কেস আমদানি ও রপ্তানি করুন

যখন আপনি Firebase কনসোলের বাইরে টেস্ট কেস পরিচালনা করতে চান, তখন YAML ফাইল থেকে টেস্ট কেস ইম্পোর্ট করা বেশ কার্যকর। প্রজেক্টের মধ্যে টেস্ট কেস স্থানান্তর করার জন্য এক্সপোর্ট করাও দরকারি হতে পারে। আপনি বিদ্যমান টেস্ট কেস পরিমার্জন করতে বা নতুন টেস্ট কেস তৈরি করতে একটি LLM ব্যবহার করতে পারেন। আপনি Firebase কনসোলের টেস্ট কেস পেজ থেকে অথবা ফায়ারবেস CLI ব্যবহার করে প্রোগ্রাম্যাটিকভাবে টেস্ট কেস ইম্পোর্ট এবং এক্সপোর্ট করতে পারেন। একটি YAML টেস্ট কেসের উদাহরণের জন্য, "একটি YAML টেস্ট কেস তৈরি করুন" দেখুন।

আপনার পরীক্ষার ফলাফল দেখুন

You can view the results of your tests from the Releases page in the App Testing agent tab of a release. The View details button will open the Test Results dialog and show you any issues, screenshots of the app, and the actions that Gemini took during the test.

যদি কোনো টেস্টে পুনরায় চালানো অ্যাকশন অন্তর্ভুক্ত থাকে, তাহলে আপনি মূল এআই-নির্দেশিত টেস্ট রানটি দেখতে পারেন অথবা ক্যাশে পরিষ্কার করতে পারেন।

আপনার পরীক্ষার ফলাফল সম্পর্কে আরও জানতে নিচের সারণিটি ব্যবহার করুন:

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

আপনার পরীক্ষার ফলাফল ডিবাগ করুন

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

এছাড়াও, আপনার পরীক্ষার ফলাফলের সমস্ত ভিডিও, লগ এবং অন্যান্য ক্লাউড আর্টিফ্যাক্ট দেখার জন্য আপনি টেস্ট রেজাল্টস পেজে থাকা ‘ভিউ আর্টিফ্যাক্টস’ বাটনটি ব্যবহার করতে পারেন।

জ্ঞাত সমস্যা এবং সীমাবদ্ধতা

অ্যাপ টেস্টিং এজেন্ট প্রিভিউটির কিছু জ্ঞাত সীমাবদ্ধতা রয়েছে:

  • এআই-নির্দেশিত টেস্টগুলোর জন্য ৫ মিনিটের একটি টাইমআউট থাকে। টেস্ট শুরু হওয়ার পর সেটিকে অবশ্যই এই সময়ের মধ্যে সফল হতে হবে, অন্যথায় এটি সময়ের আগেই শেষ হয়ে যাবে এবং টেস্টটি ব্যর্থ হিসেবে গণ্য হবে।
  • যেহেতু অ্যাপ টেস্টিং এজেন্ট আপনার অ্যাপ পরীক্ষা করার জন্য জেনারেটিভ এআই ব্যবহার করে, তাই এটি একই নির্দেশাবলী অনুসরণ করার পরেও মাঝে মাঝে ভিন্ন ভিন্ন পদক্ষেপ নিতে পারে।
  • অ্যাপ টেস্টিং এজেন্ট শুধুমাত্র নিম্নলিখিত অ্যাকশনগুলো সমর্থন করে: ট্যাপ, টেক্সট প্রবেশ করানো, উপরে/নিচে/বামে/ডানে সোয়াইপ করা, লং প্রেস, ড্র্যাগ-অ্যান্ড-ড্রপ, ব্যাক এবং অপেক্ষা করা।
  • The App Testing agent has trouble executing tests containing only a single step that takes many actions to accomplish. It performs better when complex tasks are broken up into multiple shorter steps.
  • The App Testing agent sometimes won't scroll to expose other elements off screen. This happens more often when there is no visual indication of scrollability. As a workaround, the "hints" field can be used to suggest scrolling.
  • অ্যাপ টেস্টিং এজেন্টের মাঝে মাঝে গণনা করতে সমস্যা হয়, যেমন কোনো একটি কাজ একটি নির্দিষ্ট সংখ্যক বার সম্পাদন করার ক্ষেত্রে।
  • FLAG_SECURE সক্রিয় থাকলে অ্যাপ টেস্টিং এজেন্ট আপনার অ্যাপে নেভিগেট করতে পারবে না। আপনার অ্যাপের স্ক্রিনশটের পরিবর্তে, এটি কেবল একটি ফাঁকা স্ক্রিন দেখতে পাবে।

পরীক্ষার কোটা

প্রিভিউ চলাকালীন, একটি কোটা সীমার মধ্যে এআই-নির্দেশিত পরীক্ষাগুলো বিনামূল্যে করার সুযোগ দেওয়া হবে। প্রতিটি ফায়ারবেস প্রজেক্টের জন্য প্রতি মাসে ডিফল্ট কোটা সীমা হলো ২০০টি পরীক্ষা।

Note that if you choose to run multiple test cases, or run the same test case, on multiple devices, this counts as multiple tests. For example, if you run 2 test cases on 2 devices, this counts as a total of 4 tests.

ডিফল্ট সীমার উপরে আপনার কোটা বাড়াতে, আপনার ব্যবহারের ক্ষেত্রটি উল্লেখ করে ফায়ারবেস সাপোর্টের সাথে যোগাযোগ করুন।