- API টেস্টিং টিউটোরিয়ালের তালিকা
- এই API টেস্টিং সিরিজে টিউটোরিয়ালগুলির ওভারভিউ
- উপসংহার
- API টেস্টিং টিউটোরিয়াল
- আপনার সংস্থায় API টেস্টিং চালু করা হচ্ছে
এই ইন-ডেপথ এপিআই টেস্টিং টিউটোরিয়ালটি এপিআই টেস্টিং, ওয়েব সার্ভিস এবং কিভাবে আপনার প্রতিষ্ঠানে এপিআই টেস্টিং প্রবর্তন করতে হয় সে সম্পর্কে সমস্ত কিছু ব্যাখ্যা করে:
এপিআই টেস্টিং এর সাথে সাথে এপিআই টেস্টিং সম্পর্কে গভীর অন্তর্দৃষ্টি অর্জন করুন এই পরিচায়ক টিউটোরিয়াল থেকে শিফট-লেফট টেস্টিং এবং ওয়েব পরিষেবার ধারণা৷
ওয়েব API-এর মতো ধারণা, API কীভাবে কাজ করে (বাস্তব-বিশ্বের উদাহরণ সহ) এবং কীভাবে এটি ওয়েব পরিষেবাগুলির থেকে আলাদা তা এই উদাহরণগুলির সাহায্যে ভালভাবে ব্যাখ্যা করা হয়েছে৷ টিউটোরিয়াল।
API টেস্টিং টিউটোরিয়ালের তালিকা
টিউটোরিয়াল #1: API টেস্টিং টিউটোরিয়াল: নতুনদের জন্য একটি সম্পূর্ণ গাইড
টিউটোরিয়াল #2: ওয়েব সার্ভিস টিউটোরিয়াল: কম্পোনেন্ট, আর্কিটেকচার, টাইপস & উদাহরণ
টিউটোরিয়াল #3: উত্তর সহ শীর্ষ 35 ASP.Net এবং ওয়েব API ইন্টারভিউ প্রশ্ন
টিউটোরিয়াল #4: পোস্টম্যান টিউটোরিয়াল: API টেস্টিং পোস্টম্যান ব্যবহার করা
টিউটোরিয়াল #5: অ্যাপাচি এইচটিটিপি ক্লায়েন্ট ব্যবহার করে ওয়েব পরিষেবা পরীক্ষা করা
এই API টেস্টিং সিরিজে টিউটোরিয়ালগুলির ওভারভিউ
টিউটোরিয়াল # | আপনি যা শিখবেন | |
---|---|---|
টিউটোরিয়াল_#1: | API টেস্টিং টিউটোরিয়াল : নতুনদের জন্য একটি সম্পূর্ণ নির্দেশিকা এই ইন-ডেপ্থ API টেস্টিং টিউটোরিয়ালটি API টেস্টিং এবং ওয়েব পরিষেবা সম্পর্কে বিস্তারিতভাবে ব্যাখ্যা করবে এবং কীভাবে আপনার প্রতিষ্ঠানে API টেস্টিং চালু করতে হয় সে সম্পর্কে আপনাকে শিক্ষিত করবে৷ | |
টিউটোরিয়াল_#2: | ওয়েব সার্ভিস টিউটোরিয়াল: উপাদান, আর্কিটেকচার, প্রকার এবং উদাহরণ এই ওয়েববৈধ এবং অবৈধ প্রতিক্রিয়ার জন্য API থেকে প্রতিক্রিয়াগুলির সঠিকতা সত্যিই গুরুত্বপূর্ণ। যদি 200-এর একটি স্ট্যাটাস কোড (অর্থাৎ সব ঠিক আছে) পরীক্ষার API থেকে একটি প্রতিক্রিয়া হিসাবে প্রাপ্ত হয়, কিন্তু যদি প্রতিক্রিয়া পাঠ্য বলে যে একটি ত্রুটির সম্মুখীন হয়েছে, তাহলে এটি একটি ত্রুটি৷ অতিরিক্ত, যদি ত্রুটি বার্তা নিজেই ভুল, তাহলে শেষ গ্রাহক যারা এই API-এর সাথে একীভূত করার চেষ্টা করছেন তাদের কাছে এটি খুবই বিভ্রান্তিকর হতে পারে। নীচের স্ক্রিনশটে, ব্যবহারকারী অবৈধ ওজন লিখেছেন, যা গ্রহণযোগ্য 2267 কেজির চেয়ে বেশি। API ত্রুটি স্থিতি কোড এবং ত্রুটি বার্তা সহ প্রতিক্রিয়া. যাইহোক, ত্রুটি বার্তাটি কেজির পরিবর্তে ওজনের ইউনিটগুলিকে পাউন্ড হিসাবে ভুলভাবে উল্লেখ করেছে। এটি এমন একটি ত্রুটি যা শেষ গ্রাহককে বিভ্রান্ত করতে পারে৷ (ii) লোড এবং পারফরম্যান্স টেস্টিংএপিআইগুলি ডিজাইনের দ্বারা স্কেলযোগ্য হতে বোঝানো হয়৷ এর ফলে, লোড এবং পারফরম্যান্স টেস্টিংকে অপরিহার্য করে তোলে, বিশেষ করে যদি প্রত্যাশিত হয় যে সিস্টেমটি ডিজাইন করা হচ্ছে প্রতি মিনিটে বা ঘণ্টায় হাজার হাজার অনুরোধের প্রয়োজনের উপর নির্ভর করে। এপিআই-তে নিয়মিতভাবে লোড এবং পারফরম্যান্স টেস্ট করা কর্মক্ষমতা, পিক লোড এবং ব্রেকিং পয়েন্ট বেঞ্চমার্কে সাহায্য করতে পারে। কোনও অ্যাপ্লিকেশন স্কেল করার পরিকল্পনা করার সময় এই ডেটা দরকারী। এই তথ্য উপলব্ধ থাকা সিদ্ধান্ত এবং পরিকল্পনা সমর্থন করতে সাহায্য করবে বিশেষ করে যদি সংস্থাটি আরও গ্রাহকদের যোগ করার পরিকল্পনা করে থাকে, যার অর্থ আরও বেশি আগতঅনুরোধ। কিভাবে আপনার প্রতিষ্ঠানে এপিআই টেস্টিং প্রবর্তন করবেনযেকোন প্রতিষ্ঠানে এপিআই টেস্টিং প্রবর্তনের প্রক্রিয়াটি অন্য কোনো টেস্টিং টুল এবং ফ্রেমওয়ার্ক বাস্তবায়ন বা রোলআউট করার জন্য ব্যবহৃত প্রক্রিয়ার অনুরূপ। >>>>>> | প্রত্যাশিত ফলাফল |
সরঞ্জাম নির্বাচন | প্রয়োজনীয়তা সংগ্রহ করুন এবং সীমাবদ্ধতা চিহ্নিত করুন
| গবেষণার প্রয়োজনীয়তাগুলি বুঝুন উপযুক্ত API টেস্ট টুলের জন্য বাজার। যেমন কি ধরনের API পরীক্ষা করা হচ্ছে - SOAP বা REST? আমাদের কি এই ভূমিকার জন্য পরীক্ষক নিয়োগ করতে হবে বা বিদ্যমান পরীক্ষককে প্রশিক্ষণ দিতে হবে? কি ধরনের পরীক্ষা করা হবে - কার্যকরী, কর্মক্ষমতা পরীক্ষা ইত্যাদি। বাস্তবায়নের জন্য বাজেট কী? |
উপলব্ধ সরঞ্জামগুলির মূল্যায়ন করুন | উপলব্ধ সরঞ্জামগুলির তুলনা করুন এবং 1 বা 2 সরঞ্জামগুলিকে শর্টলিস্ট করুন যা সর্বোত্তম প্রয়োজনীয়তাগুলি পূরণ করে৷ | |
ধারণার প্রমাণ> | সংক্ষিপ্ত তালিকাভুক্ত টুলের সাহায্যে পরীক্ষার একটি উপসেট প্রয়োগ করুন৷ স্টেকহোল্ডারদের কাছে ফলাফল উপস্থাপন করুন৷ সরঞ্জামটি বাস্তবায়িত করার জন্য চূড়ান্ত করুন৷ | |
বাস্তবায়ন | শুরু করা | আপনার পছন্দের টুলের উপর নির্ভর করে, আপনাকে একটি পিসি, ভার্চুয়াল মেশিন বা সার্ভারে প্রয়োজনীয় টুলটি ইনস্টল করতে হবে। যদি পছন্দের টুলটি সাবস্ক্রিপশন ভিত্তিক হয় , প্রয়োজনীয় দল তৈরি করুনঅ্যাকাউন্ট। প্রয়োজন হলে দলকে প্রশিক্ষণ দিন। |
চলতে থাকুন | পরীক্ষা তৈরি করুন পরীক্ষা চালান ত্রুটিগুলি রিপোর্ট করুন |
সাধারণ চ্যালেঞ্জ এবং সেগুলি প্রশমিত করার উপায়
আসুন QA টিমের কয়েকটি সাধারণ চ্যালেঞ্জ নিয়ে আলোচনা করা যাক একটি প্রতিষ্ঠানে API টেস্টিং ফ্রেমওয়ার্ক বাস্তবায়নের চেষ্টা করার সময় মুখোমুখি হন।
#1) সঠিক টুল নির্বাচন করা
চাকরির জন্য সঠিক টুল নির্বাচন করা সবচেয়ে সাধারণ চ্যালেঞ্জ। বাজারে পাওয়া যায় এমন বেশ কিছু API টেস্ট টুল রয়েছে।
বাজারে উপলব্ধ সর্বশেষ, সবচেয়ে ব্যয়বহুল টুলটি বাস্তবায়ন করা খুবই আকর্ষণীয় মনে হতে পারে- কিন্তু যদি এটি পছন্দসই ফলাফল না আনে, তাহলে সেই টুলটি কোন কাজে আসে না।
অতএব, সর্বদা আপনার সাংগঠনিক প্রয়োজনের উপর ভিত্তি করে 'অবশ্যই' প্রয়োজনীয়তাগুলিকে সম্বোধন করে এমন টুল বেছে নিন।
এখানে একটি নমুনা টুল মূল্যায়ন ম্যাট্রিক্স রয়েছে উপলব্ধ API টুলস
টুল | মূল্য নির্ধারণ | নোটস |
---|---|---|
Soap UI | SoapUI ওপেন সোর্স (কার্যকরী পরীক্ষার) জন্য বিনামূল্যে সংস্করণ উপলব্ধ | * REST, SOAP এবং অন্যান্য জনপ্রিয় API এবং IoT প্রোটোকল। * বিনামূল্যে সংস্করণে অন্তর্ভুক্ত SOAP এবং REST অ্যাড-হক টেস্টিং মেসেজ অ্যাসারশন টেনে আনুন & ড্রপ টেস্ট ক্রিয়েশন টেস্ট লগ টেস্ট কনফিগারেশন রেকর্ডিং থেকে পরীক্ষা ইউনিট রিপোর্টিং। * বৈশিষ্ট্যগুলির সম্পূর্ণ তালিকা হতে পারে তাদের মধ্যে পাওয়া যায়ওয়েবসাইট৷ |
পোস্টম্যান | বিনামূল্যে পোস্টম্যান অ্যাপ উপলব্ধ | * REST-এর জন্য সর্বাধিক ব্যবহৃত৷ * বৈশিষ্ট্যগুলি তাদের ওয়েবসাইটে পাওয়া যাবে৷ |
Parasoft | এটি একটি অর্থপ্রদানের সরঞ্জাম, একটি লাইসেন্স কেনার প্রয়োজন এবং তারপরে ইনস্টলেশন প্রয়োজন টুলটি ব্যবহার করার আগে। | * বিস্তৃত API পরীক্ষা: কার্যকরী, লোড, নিরাপত্তা পরীক্ষা, পরীক্ষা ডেটা ব্যবস্থাপনা |
vREST | ব্যবহারকারীর সংখ্যার উপর ভিত্তি করে | * স্বয়ংক্রিয় REST API টেস্টিং। * রেকর্ড এবং রিপ্লে। * মক API ব্যবহার করে ফ্রন্টএন্ড এবং ব্যাকএন্ড থেকে নির্ভরতা সরিয়ে দেয়। * শক্তিশালী প্রতিক্রিয়া যাচাইকরণ। * লোকালহোস্ট/ইন্ট্রানেট/ইন্টারনেটে স্থাপন করা পরীক্ষামূলক অ্যাপ্লিকেশনের জন্য কাজ করে। * জিরা ইন্টিগ্রেশন, জেনকিন্স ইন্টিগ্রেশন সোয়াগার, পোস্টম্যান থেকে আমদানি। |
HttpMaster | এক্সপ্রেস সংস্করণ: বিনামূল্যে ডাউনলোড করুন পেশাদার সংস্করণ: ব্যবহারকারীর সংখ্যার উপর ভিত্তি করে
| * ওয়েবসাইট পরীক্ষার পাশাপাশি API পরীক্ষায় সহায়তা করে। * অন্যান্য বৈশিষ্ট্যগুলির মধ্যে রয়েছে বিশ্বব্যাপী প্যারামিটারগুলি সংজ্ঞায়িত করার ক্ষমতা, ব্যবহারকারীকে বৈধকরণ প্রকারের বড় সেট ব্যবহার করে ডেটা প্রতিক্রিয়া যাচাইকরণের জন্য চেক তৈরি করার ক্ষমতা প্রদান করে এটি সমর্থন করে৷ |
Runscope | ব্যবহারকারীর সংখ্যা এবং পরিকল্পনার প্রকারের উপর ভিত্তি করে
| * API-এর নিরীক্ষণ এবং পরীক্ষার জন্য। * সঠিক ডেটা ফেরত নিশ্চিত করতে ডেটা যাচাইকরণের জন্য ব্যবহার করা যেতে পারে। * এর বৈশিষ্ট্য রয়েছেকোনো API লেনদেন ব্যর্থতার ক্ষেত্রে ট্র্যাকিং এবং অবহিত করা (যদি আপনার অ্যাপ্লিকেশনটির অর্থপ্রদানের বৈধতা প্রয়োজন, তবে এই সরঞ্জামটি একটি ভাল পছন্দ হতে পারে)। |
লোডফোকাস | ব্যবহারকারীর সংখ্যা এবং প্ল্যান প্রকারের উপর ভিত্তি করে | * API লোড পরীক্ষার জন্য ব্যবহার করা যেতে পারে - একটি API সমর্থন করতে পারে এমন ব্যবহারকারীর সংখ্যা খুঁজে বের করতে কয়েকটি পরীক্ষা চালানোর অনুমতি দেয়। * ব্যবহার করা সহজ - ব্রাউজারের মধ্যে পরীক্ষা চালানোর অনুমতি দেয়। |
PingAPI | ১টি প্রকল্পের জন্য বিনামূল্যে (1,000 অনুরোধ ) | * স্বয়ংক্রিয় API পরীক্ষা এবং পর্যবেক্ষণের জন্য উপকারী৷ |
#2) পরীক্ষার স্পেসিফিকেশন অনুপস্থিত
পরীক্ষক হিসাবে, আমাদের জানতে হবে প্রত্যাশিত ফলাফল কার্যকরভাবে একটি অ্যাপ্লিকেশন পরীক্ষা. এটি প্রায়শই একটি চ্যালেঞ্জ, কারণ প্রত্যাশিত ফলাফল জানার জন্য, আমাদের স্পষ্ট সুনির্দিষ্ট প্রয়োজনীয়তা থাকতে হবে – যেটি হয় না।
উদাহরণস্বরূপ , নীচে দেওয়া প্রয়োজনীয়তাগুলি বিবেচনা করুন:
"আবেদনটি শুধুমাত্র একটি বৈধ শিপিং তারিখ গ্রহণ করা উচিত এবং সমস্ত অবৈধ প্রয়োজনীয়তা প্রত্যাখ্যান করা উচিত"
এই প্রয়োজনীয়তাগুলির মূল বিবরণ অনুপস্থিত এবং খুব অস্পষ্ট - আমরা কিভাবে একটি বৈধ তারিখ সংজ্ঞায়িত করছি? বিন্যাস সম্পর্কে কি? আমরা কি শেষ-ব্যবহারকারীর কাছে কোন প্রত্যাখ্যান বার্তা ফিরিয়ে দিচ্ছি, ইত্যাদি?
স্পষ্ট প্রয়োজনীয়তার উদাহরণ:
1) অ্যাপ্লিকেশনটি কেবলমাত্র করা উচিত একটি বৈধ শিপিং তারিখ গ্রহণ করুন৷
শিপিংয়ের তারিখটি বৈধ বলে বিবেচিত হয় যদি এটি হয়এটি
- অতীতে নয়
- আজকের তারিখের চেয়ে বড় বা সমান
- গ্রহণযোগ্য বিন্যাসে: DD/MM/YYYY
2 উপরের মানদণ্ড পূরণ করে না অবৈধ বলে বিবেচিত হবে৷ যদি একজন গ্রাহক একটি অবৈধ শিপিং তারিখ পাঠায়, তাহলে তাকে অবশ্যই নিম্নলিখিত ত্রুটি বার্তা(গুলি) দিয়ে প্রতিক্রিয়া জানাতে হবে:
3.1
প্রতিক্রিয়া স্ট্যাটাস কোড 200 নয়
ত্রুটি: প্রদত্ত শিপিং তারিখটি অবৈধ; অনুগ্রহ করে নিশ্চিত করুন যে তারিখটি DD/MM/YYYY ফর্ম্যাটে আছে
3.2
প্রতিক্রিয়া স্ট্যাটাস কোড 200 নয়
ত্রুটি: সরবরাহ করা শিপিংয়ের তারিখ অতীত
#3) লার্নিং কার্ভ
আগেই উল্লেখ করা হয়েছে, GUI ভিত্তিক অ্যাপ্লিকেশনগুলি পরীক্ষা করার সময় অনুসরণ করা পদ্ধতির তুলনায় API পরীক্ষার পদ্ধতি ভিন্ন।
যদি আপনি এপিআই পরীক্ষার জন্য ইন-হাউস বা কনসালট্যান্ট নিয়োগ করছেন, তাহলে এপিআই পরীক্ষার পদ্ধতির শেখার বক্ররেখা বা এপিআই পরীক্ষার টুল ন্যূনতম হতে পারে। এই ক্ষেত্রে যেকোন শেখার বক্ররেখা, পণ্য বা অ্যাপ্লিকেশন জ্ঞান অর্জনের সাথে যুক্ত হবে।
যদি কোনো বিদ্যমান দলের সদস্যকে এপিআই টেস্টিং শেখার জন্য নিয়োগ করা হয়, তাহলে পছন্দের টুলের উপর নির্ভর করে, শেখার বক্ররেখা হতে পারে মাঝারি থেকে উচ্চ, পরীক্ষার পদ্ধতি পরিবর্তন সহ। এই পরীক্ষক পরীক্ষা করেছেন কিনা তার উপর নির্ভর করে পণ্য বা অ্যাপ্লিকেশনের জন্য শেখার বক্ররেখা কম-মাঝারি হতে পারেসেই অ্যাপ্লিকেশনটি আগে বা না।
#4) বিদ্যমান দক্ষতা সেট
এটি শেখার বক্ররেখা সম্পর্কে পূর্ববর্তী পয়েন্টের সাথে সরাসরি সম্পর্কযুক্ত।
যদি একজন পরীক্ষক সেখান থেকে স্থানান্তরিত হয় GUI ভিত্তিক পরীক্ষা, তারপর পরীক্ষককে পরীক্ষার পদ্ধতি পরিবর্তন করতে হবে এবং প্রয়োজন অনুসারে নতুন টুল বা কাঠামো শিখতে হবে। যেমন যদি API JSON ফর্ম্যাটে অনুরোধগুলি গ্রহণ করে, তাহলে পরীক্ষাগুলি তৈরি করা শুরু করার জন্য পরীক্ষককে JSON কী তা শিখতে হবে।
কেস স্টাডি
টাস্ক
একটি বিদ্যমান অ্যাপ্লিকেশন স্কেল করার জন্য, একটি কোম্পানি API-তে একটি পণ্যের পাশাপাশি একটি মানক GUI অ্যাপ্লিকেশন অফার করতে চেয়েছিল। QA টিমকে একটি টেস্ট কভারেজ প্ল্যান প্রদান করতে বলা হয়েছিল যাতে তারা নিয়মিত GUI ভিত্তিক পরীক্ষার বাইরে এপিআই পরীক্ষার জন্য প্রস্তুত।
চ্যালেঞ্জস
- কোনটিই অন্যান্য সফ্টওয়্যার পণ্যগুলির মধ্যে এপিআই ভিত্তিক আর্কিটেকচার ছিল, তাই এই টাস্কের চারপাশে পরীক্ষার ব্যবস্থা করার জন্য, দলটিকে স্ক্র্যাচ থেকে API পরীক্ষা প্রক্রিয়াটি স্থাপন করতে হবে। এর মানে হল যে টুলগুলিকে মূল্যায়ন করতে হবে, সংক্ষিপ্ত তালিকাভুক্ত করতে হবে, চূড়ান্ত করতে হবে এবং টিমকে পরীক্ষার জন্য প্রশিক্ষণ দিতে হবে।
- টুলটি অর্জন এবং বাস্তবায়নের জন্য কোন অতিরিক্ত বাজেট বরাদ্দ করা হয়নি। এর মানে হল যে দলটিকে একটি বিনামূল্যে বা ওপেন-সোর্স API টেস্টিং টুল বেছে নিতে হয়েছিল এবং বিদ্যমান টিমের কাউকে এই কাজটি করার জন্য প্রশিক্ষিত হতে হয়েছিল৷
- এপিআই ক্ষেত্র এবং ডেটার জন্য কোনও প্রয়োজনীয়তা ছিল নাবৈধতা প্রয়োজনীয়তাগুলি ছিল "সংশ্লিষ্ট GUI অ্যাপ্লিকেশনের মতোই কাজ করা উচিত"৷
ঝুঁকি কমাতে এবং চ্যালেঞ্জগুলি মোকাবেলায় দলের দ্বারা অনুসরণ করা পদ্ধতি
- QA টিম নিম্নলিখিত প্রয়োজনীয়তাগুলি সনাক্ত করতে প্রকল্প দলের সাথে কাজ করেছে:
- API প্রকার (REST/SOAP): REST
- পরীক্ষার প্রয়োজন (কার্যকর, লোড, নিরাপত্তা): শুধুমাত্র কার্যকরী পরীক্ষা
- স্বয়ংক্রিয় পরীক্ষা প্রয়োজন (হ্যাঁ/না): আপাতত ঐচ্ছিক
- পরীক্ষা প্রতিবেদন (হ্যাঁ/না) ); পোস্টম্যান এপিআই টুলকে তাদের পছন্দের একটি টুল হিসেবে চূড়ান্ত করা হয়েছিল কারণ এটি বিনামূল্যে ছিল, এবং সেইসাথে ব্যবহার করা সহজ, এইভাবে শেখার বক্ররেখাকে কমিয়ে আনা হয়েছে, এবং পরীক্ষাগুলি স্বয়ংক্রিয় করার সম্ভাবনা ছিল, এবং ভাল ইনবিল্ট রিপোর্ট নিয়ে এসেছিল৷
- একই পরীক্ষক যিনি অ্যাপ্লিকেশনটি পরীক্ষা করেছিলেন তাকে পোস্টম্যান ব্যবহার করে প্রাথমিক পরীক্ষা তৈরি করার জন্য প্রশিক্ষণ দেওয়া হয়েছিল যাতে কোনও পণ্য জ্ঞানের ফাঁকগুলি দূর করা যায়।
- অনুপস্থিত প্রয়োজনীয়তাগুলি মোকাবেলা করার জন্য, প্রকল্প দলটি Swagger ব্যবহার করে উচ্চ-স্তরের ফিল্ড-লেভেল ডকুমেন্টেশন তৈরি করেছে। . এটি অবশ্য গ্রহণযোগ্য ডেটা ফরম্যাটের ক্ষেত্রে কিছু ফাঁক রেখেছিল এবং এটি প্রকল্প দলের সাথে নেওয়া হয়েছিল এবং প্রত্যাশিত ফর্ম্যাটগুলি সম্মত হয়েছিল এবং নথিভুক্ত হয়েছিল৷
উপসংহার
এপিআই ভিত্তিক অ্যাপ্লিকেশন রয়েছে সাম্প্রতিক সময়ে জনপ্রিয়তা অর্জন করেছে। এই অ্যাপ্লিকেশন আরো হয়প্রথাগত অ্যাপ্লিকেশন/সফ্টওয়্যারের তুলনায় মাপযোগ্য এবং অন্যান্য API বা অ্যাপ্লিকেশনগুলির সাথে সহজে একীকরণের অনুমতি দেয়।
এই API টেস্টিং টিউটোরিয়ালটি API টেস্টিং, শিফট লেফট টেস্টিং, ওয়েব পরিষেবা এবং ওয়েব API সম্পর্কে বিস্তারিতভাবে ব্যাখ্যা করেছে। আমরা উদাহরণ সহ ওয়েব পরিষেবা বনাম ওয়েব API-এর মধ্যে পার্থক্যগুলিও অন্বেষণ করেছি৷
টিউটোরিয়ালের দ্বিতীয় অংশে, আমরা API পরীক্ষার সম্পূর্ণ বর্ণালী, কীভাবে আপনার প্রতিষ্ঠানে API টেস্টিং চালু করতে হয় এবং কিছু সাধারণ চ্যালেঞ্জ নিয়ে আলোচনা করেছি৷ এই প্রক্রিয়াটি তাদের জন্য সমাধান সহ।
উদাহরণ সহ ওয়েব পরিষেবা সম্পর্কে আরও জানতে আমাদের আসন্ন টিউটোরিয়াল দেখুন!!
পরবর্তী টিউটোরিয়াল
সার্ভিস টিউটোরিয়াল ব্যাখ্যা করে আর্কিটেকচার, প্রকার এবং amp; গুরুত্বপূর্ণ পরিভাষা এবং SOAP বনাম REST এর মধ্যে পার্থক্য সহ ওয়েব পরিষেবাগুলির উপাদান৷টিউটোরিয়াল_#3: উত্তর সহ শীর্ষ 35 ASP.Net এবং ওয়েব API ইন্টারভিউ প্রশ্ন আপনি উত্তর সহ সর্বাধিক জনপ্রিয় প্রায়শ জিজ্ঞাসিত ASP.Net এবং ওয়েব API ইন্টারভিউ প্রশ্নগুলির তালিকাটি অন্বেষণ করতে পারেন & এই টিউটোরিয়ালটিতে নতুন এবং অভিজ্ঞ পেশাদারদের জন্য উদাহরণ৷
টিউটোরিয়াল_#4: পোস্টম্যান টিউটোরিয়াল: API টেস্টিং ব্যবহার করে POSTMAN এই ধাপে ধাপে টিউটোরিয়ালটি POSTMAN এর মৌলিক বিষয়, এর উপাদান এবং নমুনা অনুরোধের সাথে POSTMAN ব্যবহার করে API টেস্টিং ব্যাখ্যা করবে & আপনার সহজ বোঝার জন্য সহজ ভাষায় প্রতিক্রিয়া।
টিউটোরিয়াল_#5: অ্যাপাচি HTTP ক্লায়েন্ট ব্যবহার করে ওয়েব পরিষেবা পরীক্ষা এই API টিউটোরিয়ালটি ওয়েব পরিষেবাগুলিতে বিভিন্ন CRUD অপারেশন এবং অ্যাপাচি এইচটিটিপি ক্লায়েন্ট ব্যবহার করে ওয়েব পরিষেবা পরীক্ষা করার বিষয়ে
API টেস্টিং টিউটোরিয়াল
এই বিভাগটি আপনাকে ওয়েব পরিষেবা এবং ওয়েব API-এর একটি প্রাথমিক ধারণা পেতে সাহায্য করবে, যা এই API টেস্টিং সিরিজের আসন্ন টিউটোরিয়ালগুলির প্রধান ধারণাগুলি বুঝতে সহায়ক হবে৷
API ( অ্যাপ্লিকেশন প্রোগ্রামিং ইন্টারফেস) হল সমস্ত পদ্ধতি এবং ফাংশনের একটি সেট যা আমাদের ডেটা বা বৈশিষ্ট্যগুলি অ্যাক্সেস করে একটি অ্যাপ্লিকেশন তৈরি করতে দেয়অপারেটিং সিস্টেম বা প্ল্যাটফর্ম। এই ধরনের পদ্ধতির পরীক্ষাকে এপিআই টেস্টিং বলা হয়।
শিফট লেফট টেস্টিং
এপিআই টেস্টিং ইন্টারভিউতে আজকাল যে গুরুত্বপূর্ণ ধরনের পরীক্ষার প্রশ্ন করা হয় তা হল শিফট লেফট টেস্টিং। এই ধরনের পরীক্ষা প্রায় সব প্রকল্পে অনুশীলন করা হয় যেগুলি একটি চটপটে পদ্ধতি অনুসরণ করে৷
শিফট বাম পরীক্ষা চালু করার আগে, কোডিং সম্পূর্ণ হওয়ার পরে এবং পরীক্ষকদের কাছে কোড পৌঁছে দেওয়ার পরেই সফ্টওয়্যার পরীক্ষার চিত্র আসে৷ এই অনুশীলনটি সময়সীমা পূরণের জন্য শেষ মুহূর্তের তাড়াহুড়োর দিকে পরিচালিত করেছিল এবং এটি পণ্যের গুণমানকেও অনেকাংশে বাধাগ্রস্ত করেছিল।
তা ছাড়াও, করা প্রচেষ্টাগুলি (যখন উৎপাদনের আগে শেষ পর্যায়ে ত্রুটিগুলি রিপোর্ট করা হয়েছিল) ছিল অনেক বড় কারণ ডেভেলপারদের আবার ডিজাইন এবং কোডিং উভয় পর্যায়েই যেতে হয়েছে।
সফটওয়্যার ডেভেলপমেন্ট লাইফ সাইকেল (SDLC) বাম পরীক্ষা করার আগে
প্রথাগত SDLC প্রবাহ ছিল: প্রয়োজনীয়তা – > ডিজাইন –> কোডিং –> পরীক্ষা।
প্রথাগত পরীক্ষার অসুবিধা
- পরীক্ষা একেবারে ডানদিকে। শেষ মুহুর্তে একটি বাগ শনাক্ত করা হলে অনেক খরচ হয়।
- বাগটি সমাধান করতে এবং উৎপাদনে উন্নীত করার আগে এটিকে পুনরায় পরীক্ষা করতে সময় ব্যয় হয়।
অতএব, পরীক্ষার পর্যায়টি বাম দিকে স্থানান্তর করার জন্য একটি নতুন ধারণা পপ আপ হয়েছে যার ফলে বাম পরীক্ষা শিফট করা হয়েছে৷
প্রস্তাবিত পঠন => বাম পরীক্ষা শিফট করুন: Aসফ্টওয়্যার সাফল্যের গোপন মন্ত্র
বাম শিফট পরীক্ষার পর্যায়
বাম শিফট টেস্টিং ত্রুটি সনাক্তকরণ থেকে ত্রুটি প্রতিরোধে একটি সফল স্থানান্তর ঘটায়। এটি সফ্টওয়্যারটিকে দ্রুত ব্যর্থ হতে এবং দ্রুততম সময়ে সমস্ত ব্যর্থতার সমাধান করতে সহায়তা করে৷
ওয়েব API
সাধারণ ভাষায়, একটি ওয়েব API এমন কিছু হিসাবে সংজ্ঞায়িত করা যেতে পারে যা একটি ক্লায়েন্টের কাছ থেকে অনুরোধ গ্রহণ করে। সিস্টেম একটি ওয়েব সার্ভারে এবং একটি ওয়েব সার্ভার থেকে একটি ক্লায়েন্ট মেশিনে প্রতিক্রিয়া ফেরত পাঠায়৷
একটি API কীভাবে কাজ করে?
আসুন www.makemytrip.com-এ একটি ফ্লাইট বুক করার একটি খুব সাধারণ দৃশ্য ধরা যাক, এটি একটি অনলাইন ভ্রমণ পরিষেবা যা একাধিক এয়ারলাইন্সের তথ্য একত্রিত করে৷ আপনি যখন ফ্লাইট বুকিং করতে যান, তখন আপনি ভ্রমণের তারিখ/ফেরত তারিখ, ক্লাস ইত্যাদির মতো তথ্য লিখুন এবং অনুসন্ধানে ক্লিক করুন।
এটি আপনাকে একাধিক এয়ারলাইন্সের মূল্য এবং তাদের উপলব্ধতা দেখাবে। এই ক্ষেত্রে, অ্যাপ্লিকেশনটি একাধিক এয়ারলাইন্সের API-এর সাথে ইন্টারঅ্যাক্ট করে এবং এর ফলে এয়ারলাইন্সের ডেটা অ্যাক্সেস দেয়৷
আরেকটি উদাহরণ হল www.trivago.com যা বিভিন্ন হোটেলের মূল্য, প্রাপ্যতা ইত্যাদির তুলনা করে এবং তালিকাভুক্ত করে৷ একটি নির্দিষ্ট শহর থেকে। এই ওয়েবসাইটটি ডাটাবেস অ্যাক্সেস করার জন্য একাধিক হোটেলের API-এর সাথে যোগাযোগ করে এবং তাদের ওয়েবসাইট থেকে মূল্য এবং প্রাপ্যতা তালিকাভুক্ত করে৷
এইভাবে, একটি ওয়েব API-কে "একটি ইন্টারফেস হিসাবে সংজ্ঞায়িত করা যেতে পারে যা একটি ক্লায়েন্ট মেশিনের মধ্যে যোগাযোগের সুবিধা দেয় এবং দ্যওয়েব সার্ভার”।
ওয়েব পরিষেবাগুলি
ওয়েব পরিষেবাগুলি হল (ওয়েব API-এর মতো) এমন পরিষেবা যা এক মেশিন থেকে অন্য মেশিনে পরিষেবা দেয়। কিন্তু API এবং ওয়েব পরিষেবাগুলির মধ্যে প্রধান পার্থক্য হল যে ওয়েব পরিষেবাগুলি একটি নেটওয়ার্ক ব্যবহার করে৷
এটা বলা নিরাপদ যে সমস্ত ওয়েব পরিষেবাগুলি ওয়েব API কিন্তু সমস্ত ওয়েব APIগুলি ওয়েব পরিষেবা নয় (এতে ব্যাখ্যা করা হয়েছে৷ নিবন্ধের শেষ অংশ)। সুতরাং, ওয়েব পরিষেবাগুলি হল ওয়েব API-এর একটি উপসেট। ওয়েব API এবং ওয়েব পরিষেবাগুলি সম্পর্কে আরও জানতে নীচের চিত্রটি পড়ুন৷
ওয়েব API বনাম ওয়েব পরিষেবাগুলি
ওয়েব পরিষেবাগুলি বনাম ওয়েব API
ওয়েব API এবং ওয়েব পরিষেবা উভয়ই ক্লায়েন্ট এবং সার্ভারের মধ্যে যোগাযোগের সুবিধার্থে ব্যবহৃত হয়। প্রধান পার্থক্য শুধুমাত্র তারা যেভাবে যোগাযোগ করে তাতে আসে।
এদের প্রত্যেকের জন্য একটি অনুরোধের বডি প্রয়োজন যা একটি নির্দিষ্ট ভাষায় গ্রহণযোগ্য, একটি সুরক্ষিত সংযোগ প্রদানের ক্ষেত্রে তাদের পার্থক্য, সার্ভারের সাথে যোগাযোগ করার গতি এবং প্রতিক্রিয়া জানানো ক্লায়েন্ট, ইত্যাদি।
ওয়েব পরিষেবা এবং ওয়েব API-এর মধ্যে পার্থক্যগুলি আপনার রেফারেন্সের জন্য নীচে তালিকাভুক্ত করা হয়েছে৷
ওয়েব পরিষেবা
- ওয়েব পরিষেবাগুলি সাধারণত XML (এক্সটেনসিবল মার্কআপ ল্যাঙ্গুয়েজ) ব্যবহার করে, যার অর্থ তারা আরও সুরক্ষিত৷
- ওয়েব পরিষেবাগুলি আরও নিরাপদ কারণ ওয়েব পরিষেবা এবং API উভয়ই ডেটা ট্রান্সমিশনের সময় SSL (সিকিউর সকেট লেয়ার) প্রদান করে , কিন্তু এটি WSS (ওয়েব সার্ভিস সিকিউরিটি) প্রদান করে।
- ওয়েব সার্ভিস হল ওয়েব API এর একটি উপসেট। উদাহরণস্বরূপ, ওয়েব পরিষেবাগুলি শুধুমাত্র তিনটি ব্যবহারের শৈলীর উপর ভিত্তি করে যেমন SOAP, REST এবং XML-RPC৷
- ওয়েব পরিষেবাগুলি পরিচালনা করার জন্য সর্বদা একটি নেটওয়ার্কের প্রয়োজন৷
- ওয়েব পরিষেবাগুলি "একটি কোড ভিন্ন অ্যাপ্লিকেশন" সমর্থন করে। এর মানে হল বিভিন্ন অ্যাপ্লিকেশন জুড়ে আরও জেনেরিক কোড লেখা হয়৷
ওয়েব API
- একটি ওয়েব API সাধারণত JSON (জাভাস্ক্রিপ্ট অবজেক্ট নোটেশন) ব্যবহার করে, যার মানে ওয়েব API দ্রুততর৷
- ওয়েব API দ্রুততর কারণ JSON হালকা ওজনের, XML এর বিপরীতে৷
- ওয়েব APIগুলি ওয়েব পরিষেবাগুলির সুপারসেট৷ উদাহরণস্বরূপ, ওয়েব এপিআই-তেও ওয়েব পরিষেবার তিনটি শৈলী উপস্থিত রয়েছে, কিন্তু তা ছাড়াও, এটি JSON – RPC-এর মতো অন্যান্য স্টাইল ব্যবহার করে।
- ওয়েব API-এর প্রয়োজন হয় না। পরিচালনার জন্য একটি নেটওয়ার্ক।
- ওয়েব API সিস্টেম বা অ্যাপ্লিকেশনের প্রকৃতির উপর নির্ভর করে আন্তঃকার্যকারিতা সমর্থন করতে পারে বা নাও করতে পারে।
আপনার সংস্থায় API টেস্টিং চালু করা হচ্ছে
আমাদের দৈনন্দিন জীবনে, আমরা সকলেই API-এর সাথে অ্যাপগুলির সাথে ইন্টারঅ্যাক্ট করতে অভ্যস্ত এবং তবুও আমরা ব্যাক-এন্ড প্রক্রিয়াগুলি সম্পর্কে চিন্তাও করি না যা অন্তর্নিহিত কার্যকারিতা চালায়৷
উদাহরণ স্বরূপ , আমাদের বিবেচনা করা যাক যে আপনি Amazon.com-এ পণ্যগুলি ব্রাউজ করছেন এবং আপনি এমন একটি পণ্য/ডিল দেখতে পাচ্ছেন যা আপনি সত্যিই পছন্দ করেন এবং আপনি এটি আপনার Facebook নেটওয়ার্কের সাথে ভাগ করতে চান৷
যে মুহূর্তে আপনি ক্লিক করবেন পেজের শেয়ার সেকশনে ফেসবুক আইকনে এবং আপনার লিখুনশেয়ার করার জন্য Facebook অ্যাকাউন্টের শংসাপত্র, আপনি একটি API-এর সাথে ইন্টারঅ্যাক্ট করছেন যা নির্বিঘ্নে অ্যামাজন ওয়েবসাইটটিকে Facebook-এর সাথে সংযুক্ত করছে৷
এপিআই টেস্টিং-এ ফোকাস শিফট করুন
এপিআই পরীক্ষার বিষয়ে আরও আলোচনা করার আগে, আসুন কারণগুলি নিয়ে আলোচনা করি যার জন্য API ভিত্তিক অ্যাপ্লিকেশনগুলি সাম্প্রতিক সময়ে জনপ্রিয়তা অর্জন করেছে৷
অনেক কারণগুলির জন্য সংস্থাগুলি API ভিত্তিক পণ্য এবং অ্যাপ্লিকেশনগুলিতে রূপান্তরিত হচ্ছে৷ এবং তাদের মধ্যে কয়েকটি আপনার রেফারেন্সের জন্য নীচে তালিকাভুক্ত করা হয়েছে৷
#1) ঐতিহ্যগত অ্যাপ্লিকেশন/সফ্টওয়্যারের তুলনায় API ভিত্তিক অ্যাপ্লিকেশনগুলি আরও মাপযোগ্য৷ কোড ডেভেলপমেন্টের হার দ্রুত এবং একই API কোনো বড় কোড বা পরিকাঠামোগত পরিবর্তন ছাড়াই আরও বেশি অনুরোধ করতে পারে।
#2) ডেভেলপমেন্ট টিমদের প্রতি স্ক্র্যাচ থেকে কোডিং শুরু করতে হবে না যখন তারা একটি বৈশিষ্ট্য বা অ্যাপ্লিকেশন বিকাশে কাজ শুরু করে। APIগুলি প্রায়শই বিদ্যমান, পুনরাবৃত্তিযোগ্য ফাংশন, লাইব্রেরি, সংরক্ষিত পদ্ধতি ইত্যাদি পুনঃব্যবহার করে এবং তাই এই প্রক্রিয়াটি সামগ্রিকভাবে তাদের আরও বেশি উত্পাদনশীল করে তুলতে পারে৷
উদাহরণস্বরূপ, আপনি যদি একজন বিকাশকারী হন ই-কমার্স ওয়েবসাইট এবং আপনি একটি পেমেন্ট প্রসেসর হিসাবে Amazon যোগ করতে চান - তাহলে আপনাকে স্ক্র্যাচ থেকে কোড লিখতে হবে না।
আপনাকে যা করতে হবে তা হল আপনার ওয়েবসাইট এবং Amazon API ব্যবহার করে ইন্টিগ্রেশন সেট আপ করা চেকআউটের সময় পেমেন্ট প্রক্রিয়াকরণের জন্য ইন্টিগ্রেশন কী এবং অ্যামাজন API কল করুন৷
#3) APIগুলি অনুমতি দেয়সমর্থিত স্বতন্ত্র অ্যাপ্লিকেশনের পাশাপাশি API ভিত্তিক সফ্টওয়্যার পণ্যগুলির জন্য অন্যান্য সিস্টেমের সাথে সহজ ইন্টিগ্রেশন।
উদাহরণস্বরূপ , আসুন আমরা বিবেচনা করি যে আপনি টরন্টো থেকে নিউ ইয়র্ক একটি চালান পাঠাতে চান . আপনি অনলাইনে যান, একটি ভাল পরিচিত মালবাহী বা লজিস্টিক ওয়েবসাইটে নেভিগেট করুন এবং প্রয়োজনীয় তথ্য লিখুন।
অবশ্যকীয় তথ্য প্রদানের পর, আপনি যখন গেট রেট বোতামে ক্লিক করেন - পিছনের প্রান্তে, এই লজিস্টিক ওয়েবসাইটটি সংযোগ করতে পারে বিভিন্ন ক্যারিয়ার এবং পরিষেবা প্রদানকারী এপিআই এবং অ্যাপ্লিকেশনগুলির সাথে স্থানগুলির উৎপত্তি থেকে গন্তব্যের সংমিশ্রণে গতিশীল হারগুলি পেতে৷
API পরীক্ষার সম্পূর্ণ স্পেকট্রাম
এপিআইগুলির পরীক্ষা একটি অনুরোধ পাঠানোর মধ্যে সীমাবদ্ধ নয় API-এ এবং একা সঠিকতার জন্য প্রতিক্রিয়া বিশ্লেষণ করা। দুর্বলতার জন্য বিভিন্ন লোডের অধীনে তাদের কার্যক্ষমতার জন্য API গুলি পরীক্ষা করা দরকার৷
এটি বিস্তারিত আলোচনা করা যাক৷
(i) কার্যকরী পরীক্ষা
একটি GUI ইন্টারফেসের অভাবের কারণে কার্যকরী পরীক্ষা করা একটি চ্যালেঞ্জিং কাজ হতে পারে৷
আসুন দেখি কিভাবে API-এর জন্য কার্যকরী পরীক্ষার পদ্ধতি GUI ভিত্তিক অ্যাপ্লিকেশন থেকে আলাদা এবং আমরা এর চারপাশে কিছু উদাহরণও আলোচনা করব৷
a) সবচেয়ে স্পষ্ট পার্থক্য হল এর সাথে ইন্টারঅ্যাক্ট করার জন্য কোন GUI নেই। পরীক্ষকরা যারা সাধারণত GUI ভিত্তিক কার্যকরী পরীক্ষা করে থাকেন তাদের তুলনায় নন-GUI অ্যাপ্লিকেশন পরীক্ষায় রূপান্তর করা একটু কঠিন বলে মনে হয়কেউ যে ইতিমধ্যেই এর সাথে পরিচিত।
প্রাথমিকভাবে, এমনকি আপনি API পরীক্ষা শুরু করার আগে, আপনাকে প্রমাণীকরণ প্রক্রিয়া নিজেই পরীক্ষা এবং যাচাই করতে হবে। প্রমাণীকরণ পদ্ধতি এক API থেকে অন্য API-তে পরিবর্তিত হবে এবং প্রমাণীকরণের জন্য কিছু ধরণের কী বা টোকেন জড়িত থাকবে৷
আপনি সফলভাবে API-এর সাথে সংযোগ করতে অক্ষম হলে, পরবর্তী পরীক্ষাগুলি এগোতে পারবে না৷ এই প্রক্রিয়াটিকে স্ট্যান্ডার্ড অ্যাপ্লিকেশানগুলিতে ব্যবহারকারী প্রমাণীকরণের সাথে তুলনীয় হিসাবে বিবেচনা করা যেতে পারে যেখানে লগ ইন করতে এবং অ্যাপ্লিকেশনটি ব্যবহার করতে আপনার বৈধ প্রমাণপত্রের প্রয়োজন হয়৷
b) ক্ষেত্র যাচাইকরণ বা ইনপুট ডেটা যাচাইকরণ অত্যন্ত গুরুত্বপূর্ণ APIs পরীক্ষার সময়। যদি একটি প্রকৃত ফর্ম-ভিত্তিক (GUI) ইন্টারফেস পাওয়া যায়, তাহলে ক্ষেত্রের বৈধতা সামনের প্রান্তে বা পিছনের প্রান্তে প্রয়োগ করা যেতে পারে, যার ফলে ব্যবহারকারীকে অবৈধ ক্ষেত্রের মানগুলি প্রবেশ করার অনুমতি দেওয়া হয় না তা নিশ্চিত করা যায়৷
উদাহরণ স্বরূপ, যদি কোনো আবেদনের তারিখের বিন্যাসটি DD/MM/YYYY হতে হয়, তাহলে আবেদনটি একটি বৈধ তারিখ গ্রহণ করছে এবং প্রক্রিয়া করছে কিনা তা নিশ্চিত করতে আমরা তথ্য সংগ্রহের ফর্মে এই বৈধতা প্রয়োগ করতে পারি।
এটি, যাইহোক, API অ্যাপ্লিকেশনের জন্য একই নয়। আমাদের নিশ্চিত করতে হবে যে APIটি ভালভাবে লেখা আছে এবং এই সমস্ত বৈধতা প্রয়োগ করতে সক্ষম, বৈধ এবং অবৈধ ডেটার মধ্যে পার্থক্য করতে এবং একটি প্রতিক্রিয়ার মাধ্যমে শেষ-ব্যবহারকারীকে স্ট্যাটাস কোড এবং বৈধতা ত্রুটি বার্তা ফেরত দিতে হবে৷
গ) পরীক্ষা করা