বিকাশকারী-চালিত CTS

এই পৃষ্ঠাটি বিকাশকারী-চালিত CTS (CTS-D) এর ব্যবহারের নির্দেশিকা রূপরেখা দেয়।

পরীক্ষার কভারেজ

CTS-D, যেমন CTS এবং CTS যাচাইকারী, শুধুমাত্র নিম্নলিখিতগুলি প্রয়োগ করতে পারে:

  • একটি নির্দিষ্ট API স্তরের জন্য ডেভেলপার SDK (developer.android.com)-এ বর্ণিত সমস্ত পাবলিক API।
  • একটি নির্দিষ্ট API স্তরের জন্য Android কম্প্যাটিবিলিটি ডেফিনিশন ডকুমেন্টে (CDD) অন্তর্ভুক্ত থাকা আবশ্যক সমস্ত প্রয়োজনীয়তা।

অ-প্রয়োজনীয় প্রয়োজনীয়তা, যেমন কঠোরভাবে সুপারিশ করা উচিত, মে, ঐচ্ছিক এবং CTS ব্যবহার করে পরীক্ষা করা যাবে না।

যেহেতু সমস্ত API এবং CDD প্রয়োজনীয়তা একটি নির্দিষ্ট API স্তরের সাথে আবদ্ধ, সমস্ত CTS পরীক্ষা (CTS, CTS-D, এবং CTS যাচাইকারী) তাদের সংশ্লিষ্ট API বা প্রয়োজনীয়তার মতো একই API স্তরের সাথে আবদ্ধ। যদি একটি নির্দিষ্ট API অবচয় বা পরিবর্তন করা হয়, তাহলে এর সংশ্লিষ্ট পরীক্ষা অবশ্যই অবচয় বা আপডেট করতে হবে।

CTS পরীক্ষা তৈরির নিয়ম

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

একটি অ্যাপ সীমাবদ্ধতা পরীক্ষা করার জন্য পরীক্ষার শর্তগুলির একটি উদাহরণ সেট নিচে দেওয়া হল:

  • ওয়াইফাই স্থিতিশীল (একটি পরীক্ষার জন্য যা ওয়াইফাই নির্ভর করে)।
  • পরীক্ষার সময় ডিভাইসটি স্থির থাকে (বা না, পরীক্ষার উপর নির্ভর করে)।
  • ডিভাইসটি ব্যাটারি স্তরের X শতাংশ সহ যেকোনো পাওয়ার উত্স থেকে আনপ্লাগ করা হয়েছে৷
  • CTS ছাড়া কোনো অ্যাপ, ফোরগ্রাউন্ড পরিষেবা বা ব্যাকগ্রাউন্ড পরিষেবা চলছে না।
  • CTS চালানোর সময় স্ক্রীন বন্ধ থাকে।
  • ডিভাইসটি isLowRamDevice নয়।
  • ব্যাটারি সেভার/অ্যাপ সীমাবদ্ধতা "আউট-অফ-দ্য-বক্স" অবস্থা থেকে পরিবর্তন করা হয়নি।

পরীক্ষার যোগ্যতা

আমরা নতুন পরীক্ষা গ্রহণ করি যা এমন একটি আচরণ প্রয়োগ করে যা বিদ্যমান CTS, CTS যাচাইকারী, বা CTS-D পরীক্ষা দ্বারা পরীক্ষা করা হয় না। আমাদের পরীক্ষার কভারেজের বাইরে কোনো আচরণ পরীক্ষা করে এমন কোনো পরীক্ষা প্রত্যাখ্যান করা হবে।

CTS জমা দেওয়ার প্রক্রিয়া

  1. একটি পরীক্ষার প্রস্তাব লিখুন: একজন অ্যাপ ডেভেলপার Google ইস্যু ট্র্যাকার ব্যবহার করে একটি পরীক্ষার প্রস্তাব জমা দেয়, যে সমস্যাটি চিহ্নিত করা হয়েছে তার বর্ণনা দেয় এবং এটি পরীক্ষা করার জন্য একটি পরীক্ষার প্রস্তাব দেয়। প্রস্তাবে অবশ্যই সংশ্লিষ্ট CDD প্রয়োজনীয়তা ID অন্তর্ভুক্ত করতে হবে। অ্যান্ড্রয়েড দল প্রস্তাবটি পর্যালোচনা করে।
  2. একটি CTS পরীক্ষা তৈরি করুন: একটি প্রস্তাব অনুমোদিত হওয়ার পরে, এর জমাকারী প্রধান (AOSP/প্রধান) শাখায় AOSP-এ একটি CTS পরীক্ষা তৈরি করে। অ্যান্ড্রয়েড দল কোড পর্যালোচনা করে।
  3. পরীক্ষা প্রকাশ করুন: AOSP/main এ আপনার CL জমা দিন এবং তারপর এটিকে সর্বশেষ androidx-tests-dev শাখায় চেরি-পিক করুন। পরীক্ষা এখন সর্বজনীনভাবে উপলব্ধ।

CTS-D পরীক্ষা লেখার নির্দেশিকা

  • জাভা কোড স্টাইল গাইড অনুসরণ করুন।
  • সিটিএস ডেভেলপমেন্টে বর্ণিত সমস্ত ধাপ অনুসরণ করুন।
  • উপযুক্ত পরীক্ষার পরিকল্পনায় আপনার পরীক্ষাগুলি যোগ করুন:
    • CTS-D পরীক্ষা পরিকল্পনায় আপনার নতুন পরীক্ষা যোগ করতে include-filters ব্যবহার করুন: platform/cts/tools/cts-tradefed/res/config/cts-developer.xml
    • প্রধান CTS পরীক্ষা পরিকল্পনা থেকে আপনার নতুন পরীক্ষাগুলি বাদ দিতে exclude-filters ব্যবহার করুন: platform/cts/tools/cts-tradefed/res/config/cts-developer-exclude.xml
  • build_error.log এ সমস্ত errorprone সতর্কতা এবং পরামর্শগুলি পরিচালনা করুন।
  • আপনার পরিবর্তনগুলিকে head রাখুন। এর মধ্যে cts-developer.xml এবং cts-developer-exclude.xml পরীক্ষার পরিকল্পনা রয়েছে৷
  • আপনার টেস্ট কেস বিদ্যমান CTS মডিউলে অন্তর্ভুক্ত করা যেতে পারে কিনা তা নির্ধারণ করতে আপনার Google ইঞ্জিনিয়ারিং পরিচিতির সাথে কাজ করুন। যদি তা না হয়, তারা আপনাকে একটি নতুন মডিউল তৈরি করতে সাহায্য করবে।
  • প্রতিটি নতুন পরীক্ষা মডিউল তৈরি করার জন্য, নতুন পরীক্ষা মডিউল ডিরেক্টরিতে একটি OWNERS ফাইল তৈরি করুন।
    • আপনার OWNERS ফাইলে নিম্নলিখিত তথ্য থাকা উচিত, যে Google পরীক্ষার মালিকের সাথে আপনি কাজ করছেন তার কাছ থেকে প্রাপ্ত:
    • # Bug component: xxx
    • গুগল পরীক্ষার মালিক ldap
  • AndroidTest.xml এ, নিম্নলিখিত পরামিতিগুলি নির্দিষ্ট করুন৷ উদাহরণের জন্য নমুনা ফাইল ( 1 , 2 ) পড়ুন:
    • Instant_app বা not_instant_app
    • secondary_user বা not_secondary_user
    • all_foldable_states বা no_foldable_states
  • সঠিক minSDK নির্দিষ্ট করতে, <uses-sdk> ডকুমেন্টেশন পড়ুন।
  • নতুন পরীক্ষার পদ্ধতি, ক্লাস বা মডিউল চেক করার সময়, সেগুলিকে CTS-D পরীক্ষার পরিকল্পনায় যুক্ত করুন এবং নতুন পরীক্ষার মতো একইভাবে মূল CTS পরীক্ষার পরিকল্পনা থেকে বাদ দিন।

আপনার CTS-D পরীক্ষা চালান

run run cts --plan cts-developer ব্যবহার করে কমান্ড লাইন থেকে CTS-D পরীক্ষা পরিকল্পনা চালান।

একটি নির্দিষ্ট পরীক্ষার ক্ষেত্রে চালানোর জন্য, run cts --include-filter "test_module_name test_name" ব্যবহার করুন।

সম্পূর্ণ CTS চালানোর তথ্যের জন্য, CTS পরীক্ষা চালান দেখুন।

গ্রহণ এবং মুক্তি

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

CTS রিলিজ সময়সূচীর বিস্তারিত জানার জন্য রিলিজের সময়সূচী এবং শাখার তথ্য দেখুন।