জেমিটার (JMeter) একটি শক্তিশালী টুল যা ওয়েব অ্যাপ্লিকেশন এবং সার্ভিসের পারফরম্যান্স, লোড এবং স্ট্রেস টেস্টিংয়ের জন্য ব্যবহৃত হয়। API টেস্টিং-এর জন্যও এটি বেশ কার্যকরী, বিশেষ করে RESTful API এবং SOAP API টেস্টিংয়ে। জেমিটার API-এর মাধ্যমে HTTP রিকোয়েস্ট পাঠানো এবং তার রেসপন্স যাচাই করা যায়। এই গাইডে, আমরা API টেস্টিংয়ের জন্য জেমিটার ব্যবহার করার প্রক্রিয়া উদাহরণ সহ বিস্তারিত আলোচনা করব।
API Testing কী?
API (Application Programming Interface) Testing হলো সেই প্রক্রিয়া যার মাধ্যমে সফটওয়্যার অ্যাপ্লিকেশনগুলির মধ্যে ইন্টারঅ্যাকশন পরীক্ষা করা হয়। API টেস্টিংয়ের মাধ্যমে সিস্টেমের বিভিন্ন অংশের মধ্যে ডেটার সঠিক বিনিময় এবং সঠিক কার্যকারিতা নিশ্চিত করা হয়। API Testing সাধারণত রিকোয়েস্ট পাঠিয়ে এবং রেসপন্স যাচাই করে করা হয়।
জেমিটার দিয়ে API টেস্টিং কিভাবে করবেন?
1. Test Plan তৈরি করুন
প্রথমে, জেমিটার ওপেন করুন এবং একটি Test Plan তৈরি করুন।
- Test Plan-এ রাইট ক্লিক করুন এবং Add → Threads (Users) → Thread Group সিলেক্ট করুন।
- Thread Group-এ আপনি কতজন ইউজার সিমুলেট করবেন, সেটি নির্ধারণ করুন (যেমন: Number of Threads, Ramp-Up Period, Loop Count ইত্যাদি)।
2. HTTP Request Sampler যোগ করুন
API রিকোয়েস্ট পাঠানোর জন্য HTTP Request Sampler যোগ করতে হবে।
- Thread Group-এ রাইট ক্লিক করুন এবং Add → Sampler → HTTP Request সিলেক্ট করুন।
- HTTP Request এর কনফিগারেশন দিন:
- Server Name or IP: API সার্ভারের ডোমেন নাম (যেমন
api.example.comবাlocalhost) - Port Number: যদি API কনফিগারেশন পোর্ট 80 বা 443 না হয়, তাহলে পোর্ট নম্বর দিন।
- Method: রিকোয়েস্ট টাইপ (GET, POST, PUT, DELETE, ইত্যাদি)
- Path: API এর এন্ডপয়েন্টের পাথ (যেমন
/api/users,/v1/productsইত্যাদি) - Parameters: যদি API-তে প্যারামিটার প্রেরণ করতে হয়, তবে প্যারামিটার নাম এবং মান দিন।
- Server Name or IP: API সার্ভারের ডোমেন নাম (যেমন
উদাহরণ:
ধরা যাক, আপনি একটি GET রিকোয়েস্ট পাঠাতে চান, যা https://api.example.com/users API এন্ডপয়েন্টের জন্য।
- Server Name or IP:
api.example.com - Method:
GET - Path:
/users
3. Request Parameters নির্ধারণ করুন
অনেক API রিকোয়েস্টের জন্য প্যারামিটার প্রয়োজন হতে পারে, যেমন query parameters (URL এ যুক্ত করা হয়) বা body parameters (POST রিকোয়েস্টের ক্ষেত্রে)। এই প্যারামিটারগুলো আপনি HTTP Request Sampler-এ কনফিগার করতে পারেন।
উদাহরণ:
আপনি যদি একটি POST রিকোয়েস্ট পাঠাতে চান, যেটি একটি নতুন ইউজার তৈরি করবে, তাহলে প্যারামিটার হিসেবে ইউজারের নাম এবং ইমেইল প্রেরণ করতে হবে।
- Server Name or IP:
api.example.com - Method:
POST - Path:
/users - Body Data:
{ "name": "John Doe", "email": "john.doe@example.com" }
এটি POST রিকোয়েস্টে JSON ডেটা প্রেরণ করবে।
4. Listener যোগ করুন
API রিকোয়েস্টের রেসপন্স বিশ্লেষণ করার জন্য Listener যোগ করা প্রয়োজন।
- Thread Group-এ রাইট ক্লিক করুন এবং Add → Listener → View Results Tree সিলেক্ট করুন।
- এর মাধ্যমে আপনি রিকোয়েস্টের রেসপন্স এবং স্ট্যাটাস কোড দেখতে পারবেন।
5. Assertion যোগ করুন
API রেসপন্সের সঠিকতা নিশ্চিত করতে Assertion যোগ করা উচিত।
- HTTP Request Sampler-এ রাইট ক্লিক করুন এবং Add → Assertions → Response Assertion সিলেক্ট করুন।
- Response Assertion-এ আপনি নিচের মতো কনফিগার করতে পারেন:
- Text Response: নিশ্চিত করুন যে, রেসপন্সের মধ্যে নির্দিষ্ট টেক্সট উপস্থিত রয়েছে, যেমন
{"status": "success"}।
- Text Response: নিশ্চিত করুন যে, রেসপন্সের মধ্যে নির্দিষ্ট টেক্সট উপস্থিত রয়েছে, যেমন
উদাহরণ:
আপনি যদি নিশ্চিত করতে চান যে, API রেসপন্সের স্ট্যাটাস কোড 200 (OK) হবে, তবে Assertion এর মাধ্যমে এটি চেক করুন।
- Pattern to Test:
200 - Field to Test:
Response Code
উদাহরণ: একটি GET API টেস্টিং
ধরা যাক, আপনার একটি GET API আছে যা সার্ভারের ইউজার তথ্য ফেরত পাঠায়। API এন্ডপয়েন্ট হলো https://api.example.com/users।
কনফিগারেশন:
- Test Plan → Thread Group
- Thread Group → HTTP Request Sampler:
- Server Name or IP:
api.example.com - Method:
GET - Path:
/users
- Server Name or IP:
- Listener → View Results Tree: রেসপন্স বিশ্লেষণের জন্য
- Assertion → Response Assertion:
- Pattern to Test:
200 - Field to Test:
Response Code
- Pattern to Test:
এই কনফিগারেশন দিয়ে আপনি API টেস্ট করতে পারেন এবং রেসপন্স কোড, ডেটা, এবং অন্যান্য ইনফরমেশন চেক করতে পারবেন।
উদাহরণ: একটি POST API টেস্টিং
ধরা যাক, আপনি একটি POST API টেস্ট করতে চান যা একটি নতুন ইউজার তৈরি করবে। API এন্ডপয়েন্ট হলো https://api.example.com/users এবং JSON প্যারামিটার হিসেবে name এবং email পাঠানো হবে।
কনফিগারেশন:
- Test Plan → Thread Group
- Thread Group → HTTP Request Sampler:
- Server Name or IP:
api.example.com - Method:
POST - Path:
/users - Body Data:
{ "name": "John Doe", "email": "john.doe@example.com" }
- Server Name or IP:
- Listener → View Results Tree: রেসপন্স বিশ্লেষণের জন্য
- Assertion → Response Assertion:
- Pattern to Test:
"status": "success" - Field to Test:
Response Text
- Pattern to Test:
এই কনফিগারেশন দিয়ে আপনি POST রিকোয়েস্ট পাঠাতে পারেন এবং রেসপন্স টেক্সটের মধ্যে "status": "success" মেলানো হবে কিনা তা যাচাই করতে পারবেন।
সারাংশ
জেমিটার (JMeter) দিয়ে API টেস্টিং করতে হলে, প্রথমে Test Plan তৈরি করুন এবং Thread Group কনফিগার করুন। এরপর, HTTP Request Sampler ব্যবহার করে API রিকোয়েস্ট পাঠান, এবং Listener ও Assertion দিয়ে রেসপন্স বিশ্লেষণ করুন। API টেস্টিং-এর মাধ্যমে আপনি সার্ভিসের সঠিকতা, পারফরম্যান্স এবং রিলায়েবিলিটি যাচাই করতে পারবেন, এবং এটি নিশ্চিত করবে যে আপনার API বাস্তব পরিস্থিতিতে সঠিকভাবে কাজ করছে।
Read more