JMeter এ Parameterization এবং Correlation দুটি গুরুত্বপূর্ণ ধারণা যা লোড টেস্টিং ও ওয়েব অ্যাপ্লিকেশন স্ক্রিপ্টিংয়ের কার্যকারিতা বাড়াতে সাহায্য করে।
1. Parameterization (প্যারামিটারাইজেশন)
Parameterization হলো এমন একটি প্রক্রিয়া যার মাধ্যমে আপনি ডাইনামিক প্যারামিটার ব্যবহার করে টেস্টের আউটপুট পরিবর্তন করতে পারেন। সাধারণত, এটি ব্যবহার করা হয় যখন আপনি একাধিক ইউজার বা সেশনে ভিন্ন ভিন্ন ডেটা প্রদান করতে চান। উদাহরণস্বরূপ, আপনি যদি একাধিক ইউজার নিবন্ধন টেস্ট করতে চান, তবে আপনি নাম, ইমেইল বা পাসওয়ার্ডের মতো ডেটা পরিবর্তন করতে পারবেন।
Parameterization এর প্রয়োজনীয়তা
- একাধিক ভিন্ন ইনপুট: একাধিক ইউজারের জন্য বিভিন্ন ইনপুট ডেটা দিয়ে টেস্ট করার জন্য।
- ডাইনামিক ডেটা: প্রতিবার একই ডেটা পাঠানোর পরিবর্তে নতুন ডেটা পাঠানো।
উদাহরণ সহ Parameterization
ধরা যাক, আপনি একটি ওয়েব ফর্মের জন্য ইউজারনেম এবং পাসওয়ার্ড প্রেরণ করতে চান। এখানে, JMeter এর CSV Data Set Config ব্যবহার করে আপনি প্যারামিটারাইজেশন করতে পারেন।
উদাহরণ:
প্রথমে, একটি CSV ফাইল তৈরি করুন (যেমন
user_credentials.csv) যেখানে বিভিন্ন ইউজারনেম এবং পাসওয়ার্ড থাকবে:username,password user1,pass1 user2,pass2 user3,pass3- JMeter-এ CSV Data Set Config যোগ করুন:
- Right-click Test Plan > Add > Config Element > CSV Data Set Config।
- CSV ফাইলের পাথ দিন এবং প্যারামিটার নামগুলো উল্লেখ করুন (যেমন:
username,password)।
এখন, HTTP Request এর মধ্যে প্যারামিটারাইজেশন করুন:
- HTTP Request এর মধ্যে Username এবং Password প্যারামিটার হিসেবে দিন এবং সেখানে
${username}ও${password}ব্যবহার করুন।
username=${username} password=${password}- HTTP Request এর মধ্যে Username এবং Password প্যারামিটার হিসেবে দিন এবং সেখানে
এভাবে, প্রতিটি থ্রেড একে একে user1, user2, user3 ইউজারনেম এবং পাসওয়ার্ড সহ সাবমিট হবে।
2. Correlation (করিলেশন)
Correlation হলো সেই প্রক্রিয়া যার মাধ্যমে আপনি ডায়নামিকভাবে পরিবর্তিত ডেটা যেমন সেশন আইডি, টোকেন, বা কুকি ভ্যালু সরাসরি সংগ্রহ করে এবং পরবর্তী রিকোয়েস্টে সেগুলি ব্যবহার করেন। এটি জটিল অ্যাপ্লিকেশন বা সিস্টেমের জন্য খুবই গুরুত্বপূর্ণ, যেখানে একটি রিকোয়েস্টের আউটপুট পরবর্তী রিকোয়েস্টের ইনপুট হিসেবে ব্যবহৃত হয়।
Correlation এর প্রয়োজনীয়তা
- সেশন আইডি: লগইন হওয়ার পর সেশন আইডি সংগ্রহ করে পরবর্তী রিকোয়েস্টে ব্যবহার।
- ডাইনামিক টোকেন বা কুকি: API কল বা ফর্ম সাবমিশনের জন্য ডাইনামিক টোকেন বা কুকি প্রয়োজন হয়, যা এক রিকোয়েস্টে তৈরি হয়ে অন্য রিকোয়েস্টে ব্যবহার করতে হয়।
উদাহরণ সহ Correlation
ধরা যাক, আপনি একটি ওয়েব সাইটে লগইন করছেন এবং লগইন করার পর একটি সেশন আইডি বা টোকেন ফিরে আসছে। সেই টোকেনটি পরবর্তী রিকোয়েস্টে ব্যবহার করতে হবে।
উদাহরণ:
- প্রথমে, একটি HTTP Request ব্যবহার করে লগইন করুন এবং টোকেন সংগ্রহ করতে একটি Regular Expression Extractor যোগ করুন:
- Right-click HTTP Request > Add > Post Processors > Regular Expression Extractor।
Regular Expression Extractor কনফিগার করুন:
- Reference Name: token
- Regular Expression:
"token":"(.+?)" - Template:
$1$ - Match No.: 1
এখানে,
Regular Expressionব্যবহার করা হয়েছে যাতে লগইন রেসপন্সে থাকা টোকেনটি এক্সট্র্যাক্ট করা হয়।পরবর্তী HTTP Request-এ সেই টোকেনটি ব্যবহার করুন:
- HTTP Request-এর মধ্যে যেখানে টোকেন দরকার, সেখানে
${token}ব্যবহার করুন।
উদাহরণ:
Authorization: Bearer ${token}- HTTP Request-এর মধ্যে যেখানে টোকেন দরকার, সেখানে
এখন, প্রথম রিকোয়েস্টের আউটপুট (যেমন টোকেন) পরবর্তী রিকোয়েস্টে স্বয়ংক্রিয়ভাবে ব্যবহার হবে।
সারাংশ
Parameterization এবং Correlation হল JMeter এর গুরুত্বপূর্ণ কনসেপ্ট যা ডাইনামিক ডেটা এবং ডিপেনডেন্ট রিকোয়েস্টগুলি সঠিকভাবে হ্যান্ডেল করতে সাহায্য করে। Parameterization আপনাকে একাধিক ডেটা দিয়ে টেস্ট করতে সক্ষম করে, এবং Correlation আপনাকে ডায়নামিক ডেটা যেমন সেশন আইডি বা টোকেন সংগ্রহ করে এবং পরবর্তী রিকোয়েস্টে সেগুলি ব্যবহার করতে সহায়তা করে। JMeter এর এই দুই প্রক্রিয়া ওয়েব অ্যাপ্লিকেশন ও API পারফরম্যান্স টেস্টিংয়ের একটি অপরিহার্য অংশ।
Read more