জেমিটার (JMeter) পারফরম্যান্স টেস্টিং এবং লোড টেস্টিং-এর জন্য একটি জনপ্রিয় ওপেন সোর্স টুল। এটি HTTP রিকোয়েস্ট, ডেটাবেস কননেকশন, এবং বিভিন্ন ধরনের সার্ভিস টেস্ট করতে ব্যবহৃত হয়। User-Defined Variables এবং Functions জেমিটারের মধ্যে খুবই গুরুত্বপূর্ণ উপাদান, যা টেস্টের স্বাভাবিক কাজের জন্য কাস্টমাইজেশন এবং ডাইনামিক্যালি ডেটা পরিচালনা করার সুযোগ প্রদান করে।
এই গাইডে, আমরা জানবো কীভাবে User-Defined Variables এবং Functions ব্যবহার করা যায় জেমিটারে, যাতে টেস্টের কাস্টমাইজেশন এবং কার্যকারিতা বৃদ্ধি পায়।
User-Defined Variables কি?
User-Defined Variables হলো এমন ভেরিয়েবল, যেগুলি আপনি নিজে নির্ধারণ করেন এবং এগুলি জেমিটার টেস্ট প্ল্যানের মধ্যে বিভিন্ন উপাদানকে প্রভাবিত করতে ব্যবহৃত হয়। এই ভেরিয়েবলগুলি আপনি বিভিন্ন স্যাম্পলার বা কনফিগারেশন উপাদানে ব্যবহার করতে পারেন, যেমন URL, প্যারামিটার, হেডার, ইত্যাদি।
User-Defined Variables ব্যবহারের সুবিধা
- কাস্টম কনফিগারেশন: আপনি টেস্ট প্ল্যানের মধ্যে প্যারামিটারাইজড কনফিগারেশন তৈরি করতে পারেন, যা আপনার টেস্টকে আরও ডাইনামিক এবং কাস্টমাইজড করে তোলে।
- ডেটা রিপিটেবল: একই ভেরিয়েবল একাধিক রিকোয়েস্টে ব্যবহার করা যায়, যা টেস্টের পুনরাবৃত্তির সুবিধা দেয়।
- সহজ মান পরিবর্তন: আপনি সহজেই কোন মান পরিবর্তন করতে পারবেন এবং তা সরাসরি সমস্ত স্যাম্পলার ও কনফিগারেশনে প্রভাব ফেলবে।
User-Defined Variables কনফিগার করা:
১. Test Plan-এ রাইট ক্লিক করুন এবং Add → Config Element → User Defined Variables সিলেক্ট করুন। ২. এটি একটি নতুন User Defined Variables এলিমেন্ট যোগ করবে। ৩. ভেরিয়েবল নাম এবং মান (value) যোগ করুন।
উদাহরণ:
ধরা যাক, আপনি একটি API-এর URL এবং API কী কনফিগার করতে চান। তাহলে আপনি নিচের মতো ভেরিয়েবল সেট করতে পারেন:
| Variable Name | Variable Value |
|---|---|
api_url | https://api.example.com |
api_key | 123456789abcdef |
এখন, আপনি এই ভেরিয়েবলগুলোকে জেমিটার টেস্ট প্ল্যানে বিভিন্ন জায়গায় ব্যবহার করতে পারবেন, যেমন HTTP Request-এ।
HTTP Request Example:
GET ${api_url}/endpoint?key=${api_key}
এখানে, ${api_url} এবং ${api_key} ভেরিয়েবল দুটি ডায়নামিকভাবে আপনার কনফিগারেশনের ভ্যালু অনুযায়ী প্রতিস্থাপিত হবে।
Functions কি?
Functions হল পূর্বনির্ধারিত কাস্টম ফাংশন, যা জেমিটার দ্বারা সরবরাহিত এবং এটি টেস্টের মধ্যে ডাইনামিক ডেটা তৈরির জন্য ব্যবহৃত হয়। Functions বিভিন্ন ধরনের ডেটা তৈরি করতে ব্যবহৃত হতে পারে, যেমন:
- Random numbers
- UUID generation
- Date-time manipulation
- String manipulation
Functions এর মাধ্যমে আপনি স্বয়ংক্রিয়ভাবে ভেরিয়েবল ভ্যালু পেতে পারেন, যা টেস্টের মধ্যে ডাইনামিক্যালি ব্যবহৃত হয়।
Functions এর সুবিধা
- ডাইনামিক ডেটা তৈরি: Functions ব্যবহার করে আপনি ডায়নামিক ডেটা তৈরি করতে পারেন, যেমন র্যান্ডম নাম্বার, টাইমস্ট্যাম্প, অথবা অন্যান্য কাস্টম ডেটা।
- টেস্ট রিএলিটিক ডেটা: Functions ডাইনামিক ডেটা ইনপুট দিয়ে রিয়েল-টাইম পরিস্থিতি সিমুলেট করতে সাহায্য করে।
Functions ব্যবহার:
আপনি Functions ব্যবহার করতে পারেন জেমিটার টেস্ট প্ল্যানে কাস্টম ভেরিয়েবল হিসাবে, অথবা সরাসরি স্যাম্পলারগুলির মধ্যে।
উদাহরণ:
১. Random Number Generation: জেমিটার-এর __Random ফাংশন ব্যবহার করে আপনি র্যান্ডম নাম্বার তৈরি করতে পারেন। এই ফাংশনটি সাধারণত ডাইনামিক ডেটা প্রজন্মের জন্য ব্যবহৃত হয়।
${__Random(1000,9999)}
এটি 1000 থেকে 9999 পর্যন্ত একটি র্যান্ডম নাম্বার তৈরি করবে।
২. UUID Generation: UUID (Universally Unique Identifier) ফাংশন ব্যবহার করে একটি ইউনিক আইডেন্টিফায়ার তৈরি করতে পারেন, যা সাধারণত রিকোয়েস্টের জন্য ইউনিক ডেটা প্রদান করতে ব্যবহৃত হয়।
${__UUID()}
এটি একটি ইউনিক UUID তৈরি করবে, যা আপনি API কিউআইডি বা রিকোয়েস্ট আইডেন্টিফায়ারের জন্য ব্যবহার করতে পারেন।
৩. Current Time in Specific Format: আপনি __time ফাংশন ব্যবহার করে বর্তমান সময় একটি নির্দিষ্ট ফরম্যাটে পেতে পারেন।
${__time(Y-M-d H:m:s,)}
এটি বর্তমান সময়কে Year-Month-Day Hour:Minute:Second ফরম্যাটে প্রদান করবে।
User-Defined Variables এবং Functions এর মধ্যে পার্থক্য
| বৈশিষ্ট্য | User-Defined Variables | Functions |
|---|---|---|
| কাস্টমাইজেশন | সরাসরি ভেরিয়েবল দ্বারা কনফিগার করা হয়। | ডাইনামিক ডেটা তৈরি করে, যা পরিবর্তনশীল। |
| উদ্দেশ্য | রিকোয়েস্টের প্যারামিটার বা URL ইত্যাদি কনফিগার করতে। | র্যান্ডম নাম্বার, UUID, টাইমস্ট্যাম্প ইত্যাদি তৈরি করতে। |
| ব্যবহার | টেস্ট প্ল্যানে যেকোনো জায়গায় ভেরিয়েবল হিসেবে ব্যবহার করা যায়। | বিশেষ ফাংশন কল ব্যবহার করে ডাইনামিক ডেটা তৈরি করা। |
| একমাত্রিকতা | একটি নির্দিষ্ট মান সহ থাকে। | প্রতিবার নতুন মান তৈরি করে। |
সারাংশ
জেমিটার (JMeter) User-Defined Variables এবং Functions ব্যবহার করে আপনি টেস্ট প্ল্যানের কাস্টমাইজেশন এবং ডাইনামিক ডেটা সিমুলেশন করতে পারেন। User-Defined Variables ব্যবহার করে আপনি আপনার টেস্টের প্যারামিটার এবং কনফিগারেশন নির্ধারণ করতে পারেন, যা বারবার ব্যবহার করা যায়। অন্যদিকে, Functions আপনাকে ডাইনামিক্যালি র্যান্ডম ডেটা তৈরি করতে সাহায্য করে, যেমন র্যান্ডম নাম্বার, UUID, এবং টাইমস্ট্যাম্প, যা টেস্ট প্ল্যানের মধ্যে বিভিন্ন পরিস্থিতি সিমুলেট করতে কার্যকর।
Read more