এই বিভাগে Tradefed-এর ইন্টার্নাল ও তাদের পারস্পরিক সম্পর্ক বর্ণনা করা হয়েছে। আরও বিবরণের জন্য লিঙ্ক করা উপপৃষ্ঠা দেখুন।
টেস্ট কনফিগারেশন
Tradefed-এ টেস্ট কনফিগারেশন XML ফর্ম্যাটে বর্ণনা করা হয়। টেস্ট চালানো ও কাস্টমাইজ করার জন্য কনফিগারেশনের স্ট্রাকচার বোঝা খুব গুরুত্বপূর্ণ।
TF কনফিগারেশনের স্ট্রাকচার
গ্লোবাল TF কনফিগারেশন
গ্লোবাল কনফিগারেশন ফাইল হল একটি বিশেষ Tradefed XML কনফিগারেশন যা
Tradefed শুরু হলে TF_GLOBAL_CONFIG এনভায়রনমেন্ট ভেরিয়েবলের মাধ্যমে লোড হয়। এটি Tradefed ইনস্ট্যান্স স্কোপের সাথে সম্পর্কিত অবজেক্ট লোড করে যা
সামগ্রিক হার্নেস আচরণকে প্রভাবিত করবে।
কীস্টোর
কমান্ড লাইনে সরাসরি ভ্যালু রেফার করা এড়াতে, Keystore-এর মাধ্যমে Tradefed-এ কমান্ড লাইন বিকল্প ইনজেক্ট করা যায়। সরাসরি কীস্টোর থেকে পাসওয়ার্ড রিট্রিভ করে কমান্ড লাইন থেকে পাসওয়ার্ড লুকাতে এটি ব্যবহার করা যেতে পারে।
ডিভাইস ম্যানেজার
Tradefed-এর রানিং ইনস্ট্যান্সে ডিভাইসের স্ট্যাটাস ট্র্যাক করার দায়িত্ব ডিভাইস ম্যানেজারের। অ্যালোকেশন স্ট্যাটাস ও অনলাইন স্ট্যাটাসের মতো দিকগুলি মনিটর করা হয়।
কমান্ড শিডিউলার পরীক্ষা করুন
Tradefed-এ টেস্ট কমান্ড শিডিউলার রান করার জন্য কমান্ড নেয়, ডিভাইসের সাথে সেগুলিকে অ্যাসোসিয়েট করে এবং টেস্ট ইনভোকেশন শুরু করে।
প্রদানকারী তৈরি করা
যেকোনও টেস্ট ইনভোকেশনের প্রথম ধাপ হল বিল্ড প্রোভাইডার। এটি টেস্ট সেট-আপ ও রান করার জন্য প্রয়োজনীয় রিসোর্স ডাউনলোড করে (বিল্ড ইমেজ, টেস্ট APK এবং আরও অনেক কিছু)। এছাড়াও, এটি
BuildInfo অবজেক্টে সেগুলির রেফারেন্স দেয় যা টেস্টে পাস করা হবে। স্থানীয়ভাবে
উপলভ্য রিসোর্সও BuildInfo অবজেক্টে লিঙ্ক করা যেতে পারে।
টার্গেট প্রস্তুতকারী ও ক্লিনার
টার্গেট প্রিপেয়ারার ঐচ্ছিক অ্যাকশন অফার করে যা টেস্টের অধীনে থাকা টার্গেটকে নির্দিষ্ট অবস্থায় কনফিগার করার জন্য নেওয়া যেতে পারে, যেমন ডিভাইস ফ্ল্যাশ করা, নির্দিষ্ট প্রপার্টি সেট করা এবং ওয়াই-ফাইয়ের সাথে কানেক্ট করা।
টেস্ট রানার
Tradefed-এ টেস্ট রানার বলতে সেই অবজেক্টকে বোঝায় যা আসলে টেস্ট এক্সিকিউশনের জন্য দায়ী। আলাদা আলাদা টেস্ট রানার আলাদা আলাদা উপায়ে টেস্ট এক্সিকিউশন ড্রাইভ করে; যেমন, ইনস্ট্রুমেন্টেশন টেস্ট রানার JUnit টেস্ট রানার থেকে খুবই আলাদা হবে।
ফলাফল রিপোর্টার
Tradefed-এ ফলাফল রিপোর্টার বলতে সেই অবজেক্টকে বোঝায় যা কোনও নির্দিষ্ট গন্তব্যে ফলাফল পাঠাবে। প্রতিটি প্রয়োগ সাধারণত আলাদা আলাদা ফলাফল ব্যাক-এন্ডের জন্য বিশেষায়িত হয়। এবং ফলাফল রিপোর্টার Tradefed ফলাফল ফর্ম্যাটকে গন্তব্য ফর্ম্যাটে কনভার্ট করার জন্য দায়ী।
এই ফ্লেক্সিবল ডিজাইনের ফলে যেকোনও টেস্টের ফলাফল যেকোনও ডেস্টিনেশনে রিপোর্ট করা যায় এবং সহজেই আরও টেস্ট আলাদাভাবে যোগ করা যায়।
মেট্রিক কালেক্টর
মেট্রিক কালেক্টর হল Tradefed-এর একটি বিশেষ অবজেক্ট, যা টেস্ট এক্সিকিউশনের সাথে অর্থোগোনাল। এটি পরীক্ষার লাইফসাইকেলের বিভিন্ন পয়েন্টে তথ্য সংগ্রহ করার অনুমতি দেয় (যেমন, পরীক্ষা শুরু, পরীক্ষা শেষ)। যেহেতু কালেক্টর টেস্ট থেকে আলাদা, তাই টেস্টে কোনও পরিবর্তন না করেই পয়েন্ট সোয়্যাপ, যোগ ও সরানো যেতে পারে।
হোস্ট-লেভেল সেট-আপ
এই বিভাগে সম্পূর্ণ Tradefed ইনস্ট্যান্সের রানিংয়ের ক্ষেত্রে প্রযোজ্য সেট-আপের বিবরণ দেওয়া আছে। এইসব বিকল্প বিভিন্ন পরিবেশের সাথে মানিয়ে নেওয়ার জন্য সামগ্রিকভাবে হার্নেসের আচরণকে প্রভাবিত করে, যেমন কোনও সীমাবদ্ধ নেটওয়ার্কে থাকা।
অতিরিক্ত ফিচার
নিম্নলিখিত বিভাগে Tradefed অবজেক্টের পরিবর্তে Tradefed-এর সাধারণ ব্যবহার বর্ণনা করা হয়েছে।
Tradefed শার্ডিং
টেস্ট কর্পাস বড় হলে বা এটি এক্সিকিউট করতে অনেক সময় লাগলে, এটিকে একাধিক ডিভাইসে স্প্লিট করা সম্ভব। আমরা এই স্প্লিটকে শার্ডিং হিসেবে উল্লেখ করি। এই বিভাগে শার্ডিং কীভাবে কাজ করে এবং কীভাবে এটি কনফিগার করা হয় তা বর্ণনা করা হয়েছে।
SL4A ব্যবহার করা
Tradefed, Android-এর জন্য স্ক্রিপ্টিং লেয়ার, SL4A-কে সাপোর্ট করে; এটি হল একটি অটোমেশন টুলসেট যা প্ল্যাটফর্ম-নির্ভর না হয়ে Android API-কে কল করে।
ডায়নামিক @option ডাউনলোড
কিছু ক্ষেত্রে, কোনও পরীক্ষা বা নির্দিষ্ট অপারেশনের জন্য প্রয়োজনীয় ফাইলগুলি লোকাল স্টোরেজে উপলভ্য থাকে না। এই ফিচারটি Tradefed-কে বিল্ড প্রদানকারীর মাধ্যমে না গিয়েই রিমোট লোকেশন থেকে এইসব ফাইল পেতে দেয়।