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

এই পৃষ্ঠায় ডেভেলপার-চালিত CTS (CTS-D) ব্যবহারের নির্দেশিকাগুলি বর্ণনা করা হয়েছে।

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

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

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

অ-অবশ্যই প্রয়োজনীয়তা, যেমন STRONGLY RECOMMENDED, SHOULD, MAY, ঐচ্ছিক এবং CTS ব্যবহার করে পরীক্ষা করা যাবে না।

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

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

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

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

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

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

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

সিটিএস জমা দেওয়ার প্রক্রিয়া

  1. একটি পরীক্ষামূলক প্রস্তাব লিখুন: একজন অ্যাপ ডেভেলপার Google Issue Tracker ব্যবহার করে একটি পরীক্ষামূলক প্রস্তাব জমা দেন, যেখানে চিহ্নিত সমস্যাটি বর্ণনা করা হয় এবং এটি পরীক্ষা করার জন্য একটি পরীক্ষার প্রস্তাব দেওয়া হয়। প্রস্তাবে অবশ্যই সংশ্লিষ্ট CDD প্রয়োজনীয়তা আইডি অন্তর্ভুক্ত থাকতে হবে। অ্যান্ড্রয়েড টিম প্রস্তাবটি পর্যালোচনা করে।
  2. একটি CTS পরীক্ষা তৈরি করুন: একটি প্রস্তাব অনুমোদিত হওয়ার পর, এর জমাদাতা Android সর্বশেষ রিলিজ শাখায় ( android16-qpr1-release ) AOSP-তে একটি CTS পরীক্ষা তৈরি করে। Android টিম কোডটি পর্যালোচনা করে এবং গৃহীত হলে, পরিবর্তনটি চেরিপিক করে এবং এটিকে অভ্যন্তরীণ উন্নয়ন শাখায় মার্জ করে। বিস্তারিত জানার জন্য, AOSP-তে পরিবর্তনগুলি কোথায় প্রস্তাব করা উচিত? দেখুন।

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

  • জাভা কোড স্টাইল গাইড অনুসরণ করুন।
  • CTS ডেভেলপমেন্টে বর্ণিত সমস্ত ধাপ অনুসরণ করুন।
  • উপযুক্ত পরীক্ষা পরিকল্পনায় আপনার পরীক্ষাগুলি যুক্ত করুন:
    • 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 cts --plan cts-developer ব্যবহার করে CTS-D পরীক্ষা পরিকল্পনাটি চালান।

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

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

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

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

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