JMeter একটি শক্তিশালী টুল যা ওয়েব অ্যাপ্লিকেশন এবং সার্ভিসের পারফরম্যান্স টেস্টিংয়ের জন্য ব্যবহৃত হয়। JMeter-এ Logic Controllers বিভিন্ন রকমের কাজ সম্পাদন করতে ব্যবহৃত হয়, যেমন রিকোয়েস্টের স্ট্রাকচার কন্ট্রোল করা, কন্ডিশনাল ফ্লো তৈরি করা, বা সিকোয়েন্স নিয়ন্ত্রণ করা। Logic Controllers এর মাধ্যমে আপনি নির্দিষ্ট শর্তে রিকোয়েস্টগুলি চালনা করতে পারবেন এবং আপনার টেস্টের আচরণ কাস্টমাইজ করতে পারবেন।
এই টিউটোরিয়ালে আমরা দেখব Logic Controller এবং তার বাস্তবায়ন কীভাবে করা যায়, উদাহরণসহ।
Logic Controller কী?
JMeter-এ Logic Controllers মূলত রিকোয়েস্টের চালনা এবং কার্যকারিতা নিয়ন্ত্রণ করে। এগুলি রিকোয়েস্টের সিকোয়েন্স বা লজিক ঠিক করে, যেমন কোন রিকোয়েস্ট কবে চালাতে হবে বা কিভাবে চালানো হবে।
JMeter-এ বিভিন্ন ধরনের Logic Controllers রয়েছে:
- Simple Controller: কোনো নির্দিষ্ট লজিকের প্রয়োজন না হলে এটি ব্যবহার করা হয়।
- Loop Controller: একটি নির্দিষ্ট রিকোয়েস্ট একাধিকবার চালানোর জন্য ব্যবহৃত হয়।
- If Controller: কোনো শর্ত পুরণ হলে রিকোয়েস্ট চালানোর জন্য ব্যবহৃত হয়।
- While Controller: একটি শর্ত যতক্ষণ সঠিক থাকে ততক্ষণ রিকোয়েস্ট চালানোর জন্য ব্যবহৃত হয়।
- Switch Controller: নির্দিষ্ট কন্ডিশন অনুযায়ী রিকোয়েস্ট চালানোর জন্য ব্যবহৃত হয়।
- Transaction Controller: একাধিক রিকোয়েস্টকে একত্রে গ্রুপ করে টেস্টের সময় ট্রানজেকশন পরিমাপ করতে ব্যবহৃত হয়।
Logic Controller এর উদাহরণ
উদাহরণ: Loop Controller ব্যবহার করে একাধিক রিকোয়েস্ট রান করা
Loop Controller ব্যবহার করে আপনি একটি নির্দিষ্ট রিকোয়েস্টকে একাধিকবার চালাতে পারেন। ধরুন, আপনি চান যে একটি HTTP Request 5 বার রান করুক।
ধাপ ১: Loop Controller সেটআপ করা
- Test Plan তৈরি করুন এবং
Thread Groupযোগ করুন। Thread Groupএর অধীনে Loop Controller যোগ করুন:Thread Groupএ ডান ক্লিক করুন এবংAdd>Logic Controller>Loop Controllerনির্বাচন করুন।- Loop Count সেট করুন 5, যাতে রিকোয়েস্টটি 5 বার চালানো হয়।
- HTTP Request যোগ করুন:
Loop Controllerএর অধীনে ডান ক্লিক করুন এবংAdd>Sampler>HTTP Requestনির্বাচন করুন।- এখানে, আপনি যে URL এবং মেথড (GET বা POST) ব্যবহার করতে চান সেটি নির্ধারণ করুন।
এখন, Loop Controller 5 বার ওই HTTP Request চালাবে।
ধাপ ২: ফলাফল বিশ্লেষণ
এখন, আপনি Listener (যেমন View Results Tree বা Summary Report) যোগ করে টেস্টের ফলাফল দেখতে পারবেন।
কোড উদাহরণ
ধরা যাক, আপনি HTTP Request তৈরি করেছেন এবং চান যে এটি Loop Controller এর মাধ্যমে 5 বার রান করুক।
// HTTP Request Example: Request to a sample URL
// URL: http://example.com/api
Request:
GET http://example.com/api
এখানে, Loop Controller 5 বার এই রিকোয়েস্টটি চালাবে এবং প্রতিটি রান-এর ফলাফল আপনি Listener-এ দেখতে পারবেন।
উদাহরণ: If Controller ব্যবহার করে কন্ডিশনাল ফ্লো তৈরি করা
If Controller ব্যবহার করে আপনি একটি নির্দিষ্ট শর্তের উপর ভিত্তি করে রিকোয়েস্ট চালাতে পারেন। উদাহরণস্বরূপ, আপনি চান যে কিছু নির্দিষ্ট প্যারামিটার অনুযায়ী একটি HTTP Request চালানো হোক।
ধাপ ১: If Controller সেটআপ করা
- Thread Group তৈরি করুন।
- If Controller যোগ করুন:
Thread Groupএর অধীনে ডান ক্লিক করুন এবংAdd>Logic Controller>If Controllerনির্বাচন করুন।- Condition সেট করুন, যেমন:
${user_flag}(এটি একটি কাস্টম ভ্যারিয়েবল হতে পারে যা আপনার টেস্টের সময় ডিফাইন করা হয়)।
- HTTP Request যোগ করুন:
If Controllerএর অধীনে ডান ক্লিক করেAdd>Sampler>HTTP Requestনির্বাচন করুন।
এখন, যদি ${user_flag} ভ্যালু true হয়, তাহলে HTTP Request চালানো হবে।
ধাপ ২: ফলাফল বিশ্লেষণ
Listener যোগ করে ফলাফল দেখতে পারেন এবং শর্ত অনুসারে রিকোয়েস্ট চালানোর আচরণ পরীক্ষা করতে পারেন।
কোড উদাহরণ
ধরা যাক, আপনার একটি ভ্যারিয়েবল ${user_flag} রয়েছে এবং আপনি চান যে, এটি true হলে একটি রিকোয়েস্ট চালানো হোক:
Condition: ${user_flag} == true
এখন, user_flag যদি true হয়, তাহলে নির্দিষ্ট HTTP Request চালানো হবে।
Logic Controller এর অন্যান্য ব্যবহার
- Switch Controller: আপনি যদি একাধিক শর্তের মধ্যে থেকে কোনো একটি শর্ত অনুযায়ী রিকোয়েস্ট চালাতে চান, তবে Switch Controller ব্যবহার করতে পারেন।
- While Controller: এটি ব্যবহার করা হয় যখন আপনি চান যে কোনো শর্ত পূর্ণ না হওয়া পর্যন্ত রিকোয়েস্ট চলতে থাকবে। উদাহরণস্বরূপ, একটি নির্দিষ্ট সময় পর্যন্ত বা একটি নির্দিষ্ট প্যারামিটার পরিবর্তন না হওয়া পর্যন্ত রিকোয়েস্ট চালানো।
- Transaction Controller: একাধিক রিকোয়েস্টকে গ্রুপ করে একই ট্রানজেকশনের মধ্যে রাখতে পারবেন এবং ট্রানজেকশনের সময় পরিমাপ করতে পারবেন।
সারাংশ
JMeter-এ Logic Controllers ব্যবহার করে আপনি আপনার টেস্টের লজিক এবং কার্যকারিতা নিয়ন্ত্রণ করতে পারবেন। Loop Controller, If Controller, Switch Controller, এবং অন্যান্য Logic Controllers-এর মাধ্যমে আপনি রিকোয়েস্টের সিকোয়েন্স এবং শর্ত অনুযায়ী টেস্ট কাস্টমাইজ করতে পারেন। এগুলি পারফরম্যান্স টেস্টিং এবং লোড টেস্টিংয়ের জন্য অত্যন্ত কার্যকরী উপাদান।
Read more