জেমিটার (JMeter) একটি শক্তিশালী ওপেন সোর্স টুল যা পারফরম্যান্স টেস্টিং, লোড টেস্টিং, এবং স্ট্রেস টেস্টিংয়ের জন্য ব্যবহৃত হয়। যখন বিভিন্ন ধরনের টেস্টের মধ্যে নির্দিষ্ট লজিক বা শর্তযুক্ত প্রবাহ (Flow) তৈরি করার প্রয়োজন হয়, তখন Logic Controller ব্যবহার করা হয়। এটি আপনাকে নির্দিষ্ট শর্ত বা কন্ডিশনের উপর ভিত্তি করে টেস্ট কেসের প্রবাহ নিয়ন্ত্রণ করতে সাহায্য করে।
Logic Controller কি?
Logic Controller হল জেমিটার এর একটি উপাদান যা আপনার টেস্ট প্ল্যানের মধ্যে রিকোয়েস্টের কার্যক্রম নিয়ন্ত্রণ এবং পরিচালনা করে। এটি টেস্টিং প্রবাহকে কাস্টমাইজ করার জন্য ব্যবহার হয়। Logic Controller এর মাধ্যমে আপনি টেস্টের মধ্যে লজিক্যাল প্রবাহ তৈরি করতে পারেন, যেমন রিকোয়েস্টের Reihenfolge (Order), কন্ডিশনাল এক্সিকিউশন, এবং র্যান্ডম রিকোয়েস্ট প্রক্রিয়া।
জেমিটার Logic Controller সাধারণত ব্যবহৃত হয় যখন আপনি কিছু নির্দিষ্ট শর্ত বা লজিক অনুসরণ করে একাধিক রিকোয়েস্ট প্রেরণ করতে চান। এটি সিমুলেটেড ইউজারদের জন্য টেস্ট কন্ডিশন তৈরি করতে সহায়ক।
Logic Controller এর বিভিন্ন ধরণ
জেমিটার বিভিন্ন ধরনের Logic Controller সরবরাহ করে, যেমন:
1. Simple Controller
এটি একটি বেসিক কন্ট্রোলার যা একে একে রিকোয়েস্ট পাঠানোর জন্য ব্যবহৃত হয়। এটি কোনো লজিক বা শর্ত ছাড়াই রিকোয়েস্ট পাঠায়।
2. Loop Controller
এই কন্ট্রোলার ব্যবহার করে আপনি নির্দিষ্ট সংখ্যক বার রিকোয়েস্ট পাঠাতে পারেন। এটি ইউজারের জন্য একটি নির্দিষ্ট লুপ চালাতে সক্ষম।
উদাহরণ:
ধরা যাক, আপনি ১০ বার একটি HTTP Request পাঠাতে চান, তাহলে Loop Controller সেট করা হবে যাতে সেই HTTP Requestটি ১০ বার চলতে থাকে।
3. If Controller
এই কন্ট্রোলার ব্যবহৃত হয় শর্ত অনুসারে রিকোয়েস্ট প্রেরণের জন্য। যদি নির্দিষ্ট শর্ত পূর্ণ হয়, তবে একটি নির্দিষ্ট রিকোয়েস্ট চালানো হবে।
উদাহরণ:
যদি কোনো পেজের স্ট্যাটাস কোড 200 হয়, তবে নির্দিষ্ট HTTP Request পাঠানো হবে।
4. While Controller
While Controller একটি শর্তের ভিত্তিতে কাজ করে। এই কন্ট্রোলার রিকোয়েস্ট চালাতে থাকে যতক্ষণ না নির্দিষ্ট শর্ত পূর্ণ হয়।
উদাহরণ:
যতক্ষণ না ইউজারের নির্দিষ্ট সংখ্যা পৌঁছায়, ততক্ষণ একটি HTTP Request পাঠানো হবে।
5. ForEach Controller
ForEach Controller ব্যবহার করে আপনি একাধিক ডাটা সেটের জন্য রিকোয়েস্ট চালাতে পারেন। এটি একটি লিস্ট বা অ্যারে থেকে ডাটা নিয়ে প্রতিটি ডাটার জন্য রিকোয়েস্ট প্রেরণ করে।
উদাহরণ:
আপনার কাছে যদি একাধিক ইউজার আইডি থাকে, তাহলে ForEach Controller ব্যবহার করে প্রতিটি ইউজার আইডি দিয়ে HTTP Request পাঠানো যাবে।
6. Random Controller
এই কন্ট্রোলার রিকোয়েস্টের জন্য এলোমেলোভাবে সিলেক্ট করতে ব্যবহৃত হয়। এটি আপনাকে নির্দিষ্ট রিকোয়েস্ট এলোমেলোভাবে চালানোর সুযোগ দেয়।
উদাহরণ:
একাধিক HTTP রিকোয়েস্ট থাকলে, Random Controller এলোমেলোভাবে তাদের পাঠাবে।
Logic Controller ব্যবহার করার পদ্ধতি
1. Logic Controller যোগ করা
- আপনার Test Plan অথবা Thread Group এর মধ্যে রাইট ক্লিক করুন।
- "Add" -> "Logic Controller" থেকে যে ধরনের কন্ট্রোলার আপনি ব্যবহার করতে চান তা সিলেক্ট করুন, যেমন Simple Controller, Loop Controller, If Controller, ইত্যাদি।
2. Logic Controller কনফিগার করা
- If Controller এর ক্ষেত্রে একটি শর্ত নির্ধারণ করতে পারেন। উদাহরণস্বরূপ, যদি আপনি চান যে একটি রিকোয়েস্ট তখনই এক্সিকিউট হোক যখন সার্ভার ২০০ স্ট্যাটাস কোড ফেরত দেয়, তবে
Ifকন্ডিশনে${statusCode} == 200শর্ত ব্যবহার করা যেতে পারে। - Loop Controller তে আপনি নির্দিষ্ট সংখ্যা (যেমন ১০ বার) সেট করতে পারেন, এবং প্রতিবার লুপের মধ্যে যে রিকোয়েস্ট আছে তা চলবে।
- While Controller তে শর্তের ভিত্তিতে লুপ চলতে থাকবে যতক্ষণ না শর্ত পূর্ণ হয়।
3. Test Plan এ Logic Controller যুক্ত করা
Logic Controller এর মাধ্যমে আপনি আপনার Test Plan বা Thread Group এর মধ্যে কীভাবে রিকোয়েস্টগুলি কার্যকর হবে তা নিয়ন্ত্রণ করতে পারেন।
উদাহরণ:
ধরা যাক, আপনি Loop Controller ব্যবহার করছেন এবং ৫ বার একটি HTTP Request চালাতে চান:
- Thread Group এ একটি Loop Controller যোগ করুন।
- Loop Controller এর মধ্যে একটি HTTP Request Sampler যোগ করুন।
- HTTP Request Sampler এ আপনার URL, Method, এবং অন্যান্য তথ্য প্রদান করুন।
- Loop Controller এর Loop Count সেট করুন ৫।
- যখন টেস্ট রান হবে, HTTP Request ৫ বার এক্সিকিউট হবে।
Logic Controller এর সুবিধা
- ডাইনামিক টেস্টিং: Logic Controller ব্যবহার করে আপনি টেস্টের মধ্যে ডাইনামিক বা শর্তভিত্তিক আচরণ তৈরি করতে পারেন।
- কমপ্লেক্স টেস্টিং: এটি আপনাকে বিভিন্ন পরিস্থিতিতে কমপ্লেক্স টেস্ট কনফিগারেশন করতে সাহায্য করে।
- ফ্লেক্সিবিলিটি: Logic Controller এর মাধ্যমে টেস্ট প্ল্যানকে আরও বেশি ফ্লেক্সিবল এবং কাস্টমাইজেবল করা যায়।
সারাংশ
জেমিটার (JMeter) এর Logic Controller একটি অত্যন্ত কার্যকরী টুল যা টেস্ট প্ল্যানের মধ্যে রিকোয়েস্টের প্রবাহ নিয়ন্ত্রণ করে। এটি বিভিন্ন শর্ত, লুপ, এলোমেলো রিকোয়েস্ট পাঠানো, এবং ডাইনামিক আচরণ সিমুলেট করার জন্য ব্যবহৃত হয়। বিভিন্ন ধরনের Logic Controller, যেমন Simple Controller, Loop Controller, If Controller, While Controller, ForEach Controller, এবং Random Controller, আপনাকে আপনার টেস্ট কেসের লজিক কাস্টমাইজ এবং পরিচালনা করতে সহায়তা করে।
Read more