কম্প্যাটিবিলিটি টেস্ট স্যুট (সিটিএস) হল একটি বিনামূল্যের, বাণিজ্যিক-গ্রেডের পরীক্ষা স্যুট, বাইনারি হিসাবে বা অ্যান্ড্রয়েড ওপেন সোর্স প্রজেক্টে (AOSP) উৎস হিসাবে ডাউনলোডের জন্য উপলব্ধ৷ CTS সামঞ্জস্যের "মেকানিজম" প্রতিনিধিত্ব করে।
CTS একটি ডেস্কটপ মেশিনে চলে এবং সরাসরি সংযুক্ত ডিভাইস বা একটি এমুলেটরে টেস্ট কেস চালায়। CTS হল ইউনিট টেস্টের একটি সেট যা একটি ডিভাইস তৈরির প্রকৌশলীদের দৈনন্দিন কর্মপ্রবাহে (যেমন একটি ক্রমাগত বিল্ড সিস্টেমের মাধ্যমে) একত্রিত করার জন্য ডিজাইন করা হয়েছে। এর উদ্দেশ্য হল অসঙ্গতিগুলি প্রথম দিকে প্রকাশ করা, এবং নিশ্চিত করা যে সফ্টওয়্যারটি পুরো বিকাশ প্রক্রিয়া জুড়ে সামঞ্জস্যপূর্ণ থাকে৷
CTS হল একটি স্বয়ংক্রিয় টেস্টিং স্যুট যা দুটি প্রধান সফ্টওয়্যার উপাদান ব্যবহার করে:
- CTS ট্রেড ফেডারেশন পরীক্ষার জোতা আপনার ডেস্কটপ মেশিনে চলে এবং পরীক্ষা সম্পাদন পরিচালনা করে। এটি একাধিক ডিভাইস আন্ডার টেস্ট (DUTs) জুড়ে পরীক্ষা করার ক্ষমতা প্রদান করে। আপনি সম্পূর্ণ স্যুটগুলির পরিবর্তে ব্যর্থতাগুলি পুনরায় চেষ্টা করতে স্যুট পুনরায় চেষ্টা করার বৈশিষ্ট্যটি ব্যবহার করতে পারেন, পুনরায় চালানোর সময়কে ব্যাপকভাবে হ্রাস করে৷
- স্বতন্ত্র পরীক্ষার ক্ষেত্রে DUT-তে মৃত্যুদন্ড কার্যকর করা হয়। পরীক্ষার কেসগুলি জাভাতে JUnit পরীক্ষা হিসাবে লেখা হয় এবং প্রকৃত ডিভাইস লক্ষ্যে চালানোর জন্য প্যাকেজ করা Android .apk ফাইলগুলি।
কম্প্যাটিবিলিটি টেস্ট স্যুট ভেরিফায়ার (CTS ভেরিফায়ার) ডাউনলোডের জন্য উপলব্ধ CTS-এর একটি সম্পূরক। CTS ভেরিফায়ার এপিআই এবং ফাংশনগুলির জন্য পরীক্ষা প্রদান করে যা ম্যানুয়াল ইনপুট (উদাহরণস্বরূপ, অডিও গুণমান এবং অ্যাক্সিলোমিটার) বা ম্যানুয়াল পজিশনিং ছাড়া একটি স্থির ডিভাইসে পরীক্ষা করা যায় না।
CTS ভেরিফায়ার হল ম্যানুয়াল পরীক্ষার জন্য একটি টুল এবং এতে নিম্নলিখিত সফ্টওয়্যার উপাদান রয়েছে:
CTS যাচাইকারী অ্যাপ যা DUT (এবং দূরত্ব পরিমাপের প্রয়োজনীয়তার জন্য ২য় ডিভাইসে) কার্যকর করা হয় এবং ফলাফল সংগ্রহ করে।
এক্সিকিউটেবল(গুলি) বা স্ক্রিপ্ট(গুলি) যা CTS ভেরিফায়ার অ্যাপে কিছু পরীক্ষার ক্ষেত্রে ডেটা বা অতিরিক্ত নিয়ন্ত্রণ প্রদানের জন্য ডেস্কটপ মেশিনে চালানো হয়।
কর্মধারা

চিত্র 1. কিভাবে CTS ব্যবহার করবেন
এই চিত্রটি CTS কর্মপ্রবাহের সংক্ষিপ্ত বিবরণ দেয়। বিস্তারিত নির্দেশাবলীর জন্য অনুগ্রহ করে সেটআপ দিয়ে শুরু হওয়া এই বিভাগের উপপৃষ্ঠাগুলি দেখুন।
পরীক্ষার মামলার ধরন
CTS নিম্নলিখিত ধরনের পরীক্ষার ক্ষেত্রে অন্তর্ভুক্ত:
- ইউনিট পরীক্ষাগুলি অ্যান্ড্রয়েড প্ল্যাটফর্মের মধ্যে কোডের পারমাণবিক ইউনিট পরীক্ষা করে; যেমন একটি একক ক্লাস, যেমন java.util.HashMap।
কার্যকরী পরীক্ষাগুলি উচ্চ-স্তরের ব্যবহারের ক্ষেত্রে একসাথে API-এর সংমিশ্রণ পরীক্ষা করে।
- দৃঢ়তা পরীক্ষা চাপের অধীনে সিস্টেমের স্থায়িত্ব পরীক্ষা করে।
- কর্মক্ষমতা পরীক্ষা সংজ্ঞায়িত বেঞ্চমার্কের বিরুদ্ধে সিস্টেমের কর্মক্ষমতা পরীক্ষা করে, উদাহরণস্বরূপ প্রতি সেকেন্ডে ফ্রেম রেন্ডারিং।
আচ্ছাদিত এলাকা
ইউনিট পরীক্ষার ক্ষেত্রে সামঞ্জস্য নিশ্চিত করতে নিম্নলিখিত ক্ষেত্রগুলিকে কভার করে:
এলাকা | বর্ণনা |
---|---|
স্বাক্ষর পরীক্ষা | প্রতিটি অ্যান্ড্রয়েড রিলিজের জন্য, রিলিজে থাকা সমস্ত পাবলিক API-এর স্বাক্ষর বর্ণনা করে XML ফাইল রয়েছে। ডিভাইসে উপলব্ধ APIগুলির বিপরীতে সেই API স্বাক্ষরগুলি পরীক্ষা করার জন্য CTS-এ একটি ইউটিলিটি রয়েছে। স্বাক্ষর চেকিংয়ের ফলাফলগুলি পরীক্ষার ফলাফল XML ফাইলে রেকর্ড করা হয়। |
প্ল্যাটফর্ম API পরীক্ষা | সঠিক শ্রেণী, বৈশিষ্ট্য এবং পদ্ধতি স্বাক্ষর, সঠিক পদ্ধতির আচরণ এবং ভুল প্যারামিটার পরিচালনার জন্য প্রত্যাশিত আচরণ নিশ্চিত করতে নেতিবাচক পরীক্ষা সহ API সঠিকতা নিশ্চিত করতে SDK ক্লাস সূচকে নথিভুক্ত প্ল্যাটফর্ম (কোর লাইব্রেরি এবং অ্যান্ড্রয়েড অ্যাপ্লিকেশন ফ্রেমওয়ার্ক) APIগুলি পরীক্ষা করুন৷ |
ডালভিক টেস্ট | পরীক্ষাগুলি ডালভিক এক্সিকিউটেবল ফরম্যাট পরীক্ষা করার উপর ফোকাস করে। |
প্ল্যাটফর্ম ডেটা মডেল | CTS কোর প্ল্যাটফর্ম ডেটা মডেল পরীক্ষা করে যেমন বিষয়বস্তু প্রদানকারীদের মাধ্যমে অ্যাপ্লিকেশন ডেভেলপারদের কাছে প্রকাশ করা হয়, যেমন SDK android.provider প্যাকেজে নথিভুক্ত করা হয়েছে: পরিচিতি, ব্রাউজার, সেটিংস ইত্যাদি। |
প্ল্যাটফর্মের উদ্দেশ্য | CTS মূল প্ল্যাটফর্মের অভিপ্রায়গুলি পরীক্ষা করে, যেমনটি SDK উপলব্ধ অভিপ্রায়ে নথিভুক্ত করা হয়েছে। |
প্ল্যাটফর্ম অনুমতি | CTS মূল প্ল্যাটফর্মের অনুমতিগুলি পরীক্ষা করে, যেমনটি SDK উপলব্ধ অনুমতিগুলিতে নথিভুক্ত রয়েছে। |
প্ল্যাটফর্ম সম্পদ | CTS মূল প্ল্যাটফর্ম রিসোর্স প্রকারের সঠিক পরিচালনার জন্য পরীক্ষা করে, যেমনটি SDK উপলভ্য রিসোর্স টাইপগুলিতে নথিভুক্ত করা হয়েছে। এটির জন্য পরীক্ষাগুলি অন্তর্ভুক্ত করে: সাধারণ মান, অঙ্কনযোগ্য, নয়-প্যাচ, অ্যানিমেশন, লেআউট, শৈলী এবং থিম এবং বিকল্প সংস্থানগুলি লোড করা। |