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