লাভ:
- স্ট্যাটাস কোড, স্কিমা/চুক্তি, ব্যবসার নিয়ম এবং নেতিবাচক/অনুমোদন স্তরগুলিতে কৃত্রিম বুদ্ধিমত্তা সমর্থনের সাথে গভীরভাবে API পরীক্ষা পরিচালনা করার ক্ষমতা
- নমুনা প্রতিক্রিয়া থেকে JSON স্কিমা তৈরি করার ক্ষমতা এবং টাইপ এবং অপরিহার্য বৈধতা সহ শুধুমাত্র স্ট্যাটাস কোড দেখার ছদ্ম-আস্থা এড়াতে
- সিন্থেটিক ডেটা সহ অনুমোদন এবং IDOR এর মতো নিরাপত্তা পরিস্থিতি পরীক্ষা করার ক্ষমতা এবং শুধুমাত্র অনুমোদনের মধ্যেই প্রতিরক্ষামূলক উদ্দেশ্যে
বেশিরভাগ আধুনিক সফ্টওয়্যার API এর মাধ্যমে পটভূমিতে একে অপরের সাথে কথা বলে (অ্যাপ্লিকেশন প্রোগ্রামিং ইন্টারফেস - ইন্টারফেস যেখানে দুটি টুকরো সফ্টওয়্যার একটি নির্দিষ্ট চুক্তি অনুসারে কথা বলে)। যখন একটি মোবাইল অ্যাপ কার্টে আইটেম যোগ করে, এটি আসলে সার্ভারে একটি API-তে একটি অনুরোধ পাঠায়। API টেস্টিং চেক করে যে এই কথোপকথনটি সঠিক, সুরক্ষিত এবং সামঞ্জস্যপূর্ণ, ইন্টারফেস নির্বিশেষে; এটি UI পরীক্ষার চেয়ে দ্রুত, আরও স্থিতিশীল এবং গভীর। কৃত্রিম বুদ্ধিমত্তা (AI) API পরীক্ষায় অত্যন্ত দক্ষ: এটি একটি API সংজ্ঞা থেকে পরীক্ষা তৈরি করে, প্রতিক্রিয়া স্কিমা (চুক্তি যা ডেটার গঠন সংজ্ঞায়িত করে) বের করে, প্রান্ত কেস তালিকাভুক্ত করে। কিন্তু আবার কেন্দ্রীয় সতর্কতা প্রযোজ্য: AI আপনার API-এর প্রকৃত ব্যবসার নিয়মগুলি জানে না; সুপারফিশিয়াল পরীক্ষা তৈরি করে যা শুধুমাত্র "200 ফিরে এসেছে" নিশ্চিত করে। আপনার কাজ হল পরীক্ষাটি প্রকৃত চুক্তি এবং ব্যবসার যুক্তি যাচাই করে তা নিশ্চিত করা।
এই ইউনিটে, আপনি শিখবেন কিভাবে এআই-সমর্থিত, পোস্টম্যান, REST Assured এবং স্কিমা যাচাইকরণের মতো পদ্ধতির সাথে গভীর API পরীক্ষা সেট আপ করতে হয়।
API পরীক্ষার স্তরসমূহ
প্রতিটি স্তরে এআই ভিন্নভাবে সাহায্য করে, বেশ কয়েকটি গভীরতায় API পরীক্ষা বিবেচনা করুন:
1. স্ট্যাটাস কোড এবং মৌলিক প্রতিক্রিয়া। অনুরোধটি কি প্রত্যাশিত HTTP স্ট্যাটাস কোড ফেরত দেয় (সফলতার জন্য 200/201, ত্রুটির জন্য 400/401/404)? এটি সবচেয়ে উপরিভাগের স্তর; AI সহজেই উত্পাদন করে কিন্তু একা মিথ্যা-বিশ্বাস দেয়।
2. স্কিমা/চুক্তির বৈধতা। প্রতিক্রিয়ার কাঠামো কি চুক্তির সাথে খাপ খায় — প্রত্যাশিত ক্ষেত্রগুলি উপস্থিত রয়েছে, তাদের প্রকারগুলি কি সঠিক, প্রয়োজনীয় ক্ষেত্রগুলি কি অনুপস্থিত? এআই জেএসওএন স্কিমা তৈরি করতে পারে - একটি মানক যা একটি JSON নথির কাঠামোকে সংজ্ঞায়িত করে - একটি নমুনা প্রতিক্রিয়া থেকে, এবং পরীক্ষাগুলি সেই স্কিমার বিরুদ্ধে যাচাই করতে পারে। এটি একটি ক্ষেত্র-ভিত্তিক দাবি ম্যানুয়ালি লেখার চেয়ে অনেক বেশি শক্তিশালী।
3. ব্যবসায়িক নিয়মের বৈধতা। আসল মান এখানে: "একটি 1000 TL অর্ডারের জন্য, ডিসকাউন্ট ক্ষেত্রটি 100 হওয়া উচিত", "একটি বাতিল করা অর্ডার আবার বাতিল করা যাবে না"। AI শুধুমাত্র এইগুলি যাচাই করবে যদি আপনি এটিকে নিয়ম দেন; না দিলে লাফাবে।
4. নেতিবাচক এবং নিরাপত্তা. অবৈধ টোকেনের জন্য 401, অন্য কারও ডেটা অ্যাক্সেস করার জন্য 403, খারাপ শরীরের জন্য 400 সাফ করুন। অনুমোদন পরীক্ষা (যা যাচাই করে যে একজন ব্যবহারকারী শুধুমাত্র তাদের নিজস্ব ডেটা অ্যাক্সেস করতে পারে) API নিরাপত্তার কেন্দ্রবিন্দু এবং এটি প্রতিরক্ষামূলক উদ্দেশ্যে করা হয়।
টিপ: AI কে "শুধু স্ট্যাটাস কোড নয়, প্রতিক্রিয়া স্কিমা এবং সেই ব্যবসার নিয়মগুলিও যাচাই করতে" না বলে পরীক্ষার অনুরোধ করবেন না। অন্যথায়, আপনি "200 ফিরে এসেছেন, পাস করেছেন" বলে এমন পরীক্ষাগুলি রেখে যাবেন কিন্তু API-এর ক্ষতিগ্রস্থ ডেটা ফেরত দেওয়ার বিষয়টি লক্ষ্য করবেন না।
দুর্বল প্রম্পট / শক্তিশালী প্রম্পট
দুর্বল: "এই API এর জন্য পরীক্ষা লিখুন।"
স্ট্রং: "পোস্ট/অর্ডার এন্ডপয়েন্টের জন্য REST Assured (Java) পরীক্ষা লিখুন। চুক্তি: পণ্যের আইডি এবং পরিমাণ শরীরে বাধ্যতামূলক; 201 এবং {orderId, মোট, ডিসকাউন্ট, স্থিতি} সফল হলে ফেরত দেওয়া হয়। ব্যবসার নিয়ম: 1000 TL-এর উপর 10% ছাড়; যদি 4000 = 4000 হলে; টোকেন; 403 যখন অন্য ব্যবহারকারীর অর্ডার দেখুন: (1) স্ট্যাটাস কোড, (2) প্রতিক্রিয়া JSON স্কিমা বৈধতা, (4) প্রতিটি দাবিকে সুস্পষ্ট ব্যবসার নিয়মে আবদ্ধ করুন৷
শক্তিশালী প্রম্পট চুক্তি, ব্যবসার নিয়ম, নিরাপত্তা পরিস্থিতি এবং স্কিমা বৈধতা প্রত্যাশা দেয়।
চুক্তি পরীক্ষা: দলের মধ্যে বিচ্ছেদ প্রতিরোধ
মাইক্রোসার্ভিস আর্কিটেকচারে (যে কাঠামোতে অ্যাপ্লিকেশনটিকে ছোট ছোট পরিষেবাগুলিতে ভাগ করা হয় যা একে অপরের থেকে স্বাধীন এবং এপিআই-এর সাথে কথা বলে), একটি পরিষেবার প্রতিক্রিয়া বিন্যাস পরিবর্তন করা নীরবে এটির সাথে সংযুক্ত অন্যান্য পরিষেবাগুলিকে ব্যাহত করে। চুক্তি পরীক্ষা - যে পরীক্ষাটি যাচাই করে যে সরবরাহকারী পরিষেবা এবং ভোক্তা পরিষেবার মধ্যে API চুক্তি উভয় পক্ষের মধ্যে ভাঙা হয়নি - এই ধরনের বিরতিগুলি প্রথম দিকে ধরা পড়ে৷ ধারণাটি হল: ভোক্তা একটি "চুক্তি" হিসাবে প্রযোজকের কাছ থেকে যে প্রতিক্রিয়া আশা করেন তা সংজ্ঞায়িত করে; প্রতিটি পরিবর্তনের সাথে, প্রস্তুতকারক পরীক্ষা করে যে এটি এখনও এই চুক্তি মেনে চলছে। তাই যখন একটি ক্ষেত্রের নাম বা ধরন পরিবর্তিত হয়, তখন ভোক্তা পাইপলাইনটি ক্র্যাশ হওয়ার আগে অবহিত করে।
এআই এই প্রেক্ষাপটে দুটি কাজকে ত্বরান্বিত করে: একটি চুক্তির খসড়া তৈরি করা যা একটি বিদ্যমান API প্রতিক্রিয়া থেকে ভোক্তাদের প্রত্যাশা প্রতিফলিত করে এবং কোন চুক্তির ধারা পরিবর্তনটি ভাঙতে পারে তা পূর্ব-চিহ্নিত করা। কিন্তু চুক্তি নিজেই একটি ব্যবসায়িক সিদ্ধান্ত: বিশেষজ্ঞ নির্ধারণ করেন কোন ক্ষেত্রগুলি সত্যিই সমালোচনামূলক, কোন পরিবর্তনগুলি পশ্চাদগামী সামঞ্জস্যকে ভেঙে দেবে — পুরানো ভোক্তারা কাজ চালিয়ে যাচ্ছেন। AI চুক্তি লিখে; আপনিই এটি অনুমোদন করেন।
টিপ: একটি ক্ষেত্র মুছে ফেলা বা একটি API এ ক্ষেত্রের ধরন পরিবর্তন করা প্রায় সবসময়ই একটি ব্রেকিং পরিবর্তন। নতুন ক্ষেত্র যোগ করা সাধারণত নিরাপদ। AI-কে একটি পরিবর্তনকে "ব্রেকিং বা নিরাপদ" হিসাবে শ্রেণীবদ্ধ করা হলে তা দ্রুত প্রি-রিলিজ নিরাপত্তা পরীক্ষা প্রদান করে।
পোস্টম্যান নাকি কোড ভিত্তিক?
মানদণ্ড
পোস্টম্যান/নিউম্যান
REST Assured / code (Java, C#, JS)
শেখা
সহজ, চাক্ষুষ
কোড জ্ঞান প্রয়োজন
সংস্করণ নিয়ন্ত্রণ
সংগ্রহ JSON
সরাসরি সোর্স কোডে
জটিল যুক্তি
লিমিটেড (জেএস স্ক্রিপ্ট)
সম্পূর্ণ প্রোগ্রামিং ক্ষমতা
সিআই/সিডি ইন্টিগ্রেশন
নিউম্যানের সাথে
নির্মাণের উপর সরাসরি নির্ভরশীল
স্কিমা বৈধতা
পরীক্ষার স্ক্রিপ্ট সহ
লাইব্রেরি সহ শক্তিশালী
দল স্কেল
ছোট/মাঝারি
বড়, পরিপক্ক
এআই উভয়ের জন্য কোড তৈরি করে; আপনি কোনটি চান তা পরিষ্কার করুন।
চারটি অনুলিপিযোগ্য টেমপ্লেট
1) চুক্তি ভিত্তিক API পরীক্ষা:
আপনার ভূমিকা: সিনিয়র API পরীক্ষা প্রকৌশলী। [টুল/ভাষা] সহ নিম্নলিখিত শেষবিন্দুর জন্য পরীক্ষা লিখুন: [পদ্ধতি + পথ]। চুক্তি: [প্রয়োজনীয় ক্ষেত্র, সাফল্যের কোড, প্রতিক্রিয়া কাঠামো]। ব্যবসার নিয়ম: [বিধি]। পরীক্ষা স্তর: (1) স্ট্যাটাস কোড (2) প্রতিক্রিয়া স্কিমা বৈধতা (3) প্রতিটি ব্যবসায়িক অথরাইজেশনের নিয়ম (4) নেতিবাচক নিয়মে (4) নিয়ম মেনে ধারা
2) নমুনা প্রতিক্রিয়া থেকে স্কিমা জেনারেশন:
নীচের নমুনা API প্রতিক্রিয়া থেকে JSON স্কিমা তৈরি করুন। প্রয়োজনীয় ক্ষেত্র, প্রকার, বিন্যাস সীমাবদ্ধতা (তারিখ, ইমেল, নম্বর পরিসর) নির্দিষ্ট করুন। তারপর একটি পরীক্ষার উদাহরণ দিন যা এই স্কিমার বিরুদ্ধে বৈধ। নমুনা প্রতিক্রিয়া: [জেএসওএন পেস্ট করুন]
3) নেতিবাচক এবং অনুমোদনের পরিস্থিতি:
এন্ডপয়েন্ট [এন্ডপয়েন্ট] এর জন্য নেতিবাচক এবং নিরাপত্তা পরীক্ষার কেস তৈরি করুন। অন্তর্ভুক্ত: অনুপস্থিত/প্রয়োজনীয় ক্ষেত্র, ভুল প্রকার, খুব বড় মান, অবৈধ/মেয়াদ শেষ টোকেন, অননুমোদিত সংস্থানে অ্যাক্সেস (IDOR — আইডি পরিবর্তন করে অন্য কারও রেকর্ডে অ্যাক্সেস), হারের সীমা। প্রতিটি দৃশ্যের জন্য প্রত্যাশিত স্থিতি কোড এবং ত্রুটির মূল অংশ নির্দিষ্ট করুন। দ্রষ্টব্য: শুধুমাত্র আমার নিজস্ব API এ পরীক্ষা করা হবে, অনুমোদিত।
4) ছদ্ম-বিশ্বাস নিয়ন্ত্রণ:
এই API পরীক্ষা দেখুন. যদি সার্ভার সঠিক স্ট্যাটাস কোড কিন্তু FALSEbody/ডেটা ফেরত দেয় তাহলে কি এই পরীক্ষাটি ধরা পড়বে? যদি না হয়, স্কিমা এবং ব্যবসার নিয়মের বৈধতা যোগ করুন। পরীক্ষা: [পেস্ট পরীক্ষা]
তিনটি মিনি কেস
কেস 1 - স্কিমা বৈধকরণের ক্ষমতা। একটি দল শুধুমাত্র AI দিয়ে উত্পাদিত পরীক্ষায় স্ট্যাটাস কোড পরীক্ষা করছিল। একটি সংস্করণে, API ভুলভাবে মোট ক্ষেত্রটিকে পাঠ্য ("1200") হিসাবে ফিরিয়ে দিতে শুরু করেছে; পরীক্ষাগুলি সবুজ ছিল কারণ এটি এখনও 200 ফেরত দিচ্ছে৷ মোবাইল অ্যাপ্লিকেশন ক্র্যাশ হয়েছে৷ "নমুনা প্রতিক্রিয়া থেকে স্কিমা জেনারেশন" টেমপ্লেটের সাথে টাইপ বৈধতা যোগ করার পরে, একই ত্রুটি অবিলম্বে ধরা পড়ে।
কেস 2 — অথরিটি গ্যাপ (IDOR)। একজন বিশেষজ্ঞ AI দ্বারা উত্পন্ন "নেতিবাচক এবং অনুমোদনের পরিস্থিতির" মধ্যে IDOR পরীক্ষা চালিয়েছিলেন: তিনি ব্যবহারকারী A-এর টোকেন সহ ব্যবহারকারী B-এর অর্ডার আইডি অনুরোধ করেছিলেন। API 200 এবং B-এর ডেটা ফেরত দিয়েছে — এটি একটি গুরুতর অনুমোদনের দুর্বলতা। এই প্রতিরক্ষামূলক পরীক্ষাটি লাইভ হওয়ার আগে ডেটা ফাঁস বন্ধ করে দিয়েছে।
কেস 3 — ব্যবসার নিয়ম বাইপাস। এআই ডিসকাউন্ট এন্ডপয়েন্টের জন্য 8টি পরীক্ষা তৈরি করেছে; সবাই 200 চেক করছিল, কেউই ডিসকাউন্টের পরিমাণ যাচাই করছিল না। বিশেষজ্ঞ প্রম্পটে ব্যবসার নিয়ম যোগ করেছেন এবং তাদের পুনরুত্পাদন করেছেন। নতুন পরীক্ষায় দেখা গেছে যে ছাড়টি 1000 TL সীমাতে ভুলভাবে গণনা করা হয়েছিল (ছাড়টি 999-এও প্রয়োগ করা হয়েছিল)। চুক্তি নিয়ন্ত্রণ যথেষ্ট নয়; ব্যবসায়িক নিয়ম নিয়ন্ত্রণ আবশ্যক।
সাধারণ ভুল
- শুধু স্ট্যাটাস কোড দেখছি। বলতে "200 ফিরে এসেছে এবং পাস করেছে"; কলুষিত দেহকে না দেখা (মিথ্যা-বিশ্বাস)।
- স্কিমা বৈধতা বাইপাস। ক্ষেত্রের ধরন এবং বাধ্যবাধকতা পরীক্ষা না করা; টাইপ পরিবর্তন নীরবে পাস।
- ব্যবসার নিয়ম না দিয়ে পরীক্ষার অনুরোধ করা। AI নিয়ম জানে না; এটি শুধুমাত্র প্রযুক্তিগত নিয়ন্ত্রণ উত্পাদন করে।
- নেতিবাচক এবং এনটাইটেলমেন্ট পরিস্থিতিতে ভুলে যাওয়া. নিরাপত্তা দুর্বলতা (IDOR, অননুমোদিত অ্যাক্সেস) শুধুমাত্র এই পরীক্ষা দ্বারা ধরা হয়.
- বাস্তব/উৎপাদন টোকেন এবং ডেটা ব্যবহার করা। পরীক্ষার জন্য ডেডিকেটেড মিডিয়া এবং সিন্থেটিক ডেটা ব্যবহার করুন; গাড়িতে আসল চাবি আটকে রাখবেন না।
- অননুমোদিত নিরাপত্তা পরীক্ষা. শুধুমাত্র আপনার নিজস্ব API-এ এবং অনুমতি নিয়ে অনুমোদন পরীক্ষা চালান।
সংক্ষেপে
API টেস্টিং ইন্টারফেস নির্বিশেষে সফ্টওয়্যারের টুকরোগুলির স্পিচ দ্রুত এবং গভীরভাবে যাচাই করে। এআই; নমুনা প্রতিক্রিয়া থেকে JSON স্কিমা এবং নেতিবাচক/নিরাপত্তা পরিস্থিতি তৈরি করতে চুক্তি পরীক্ষাগুলি খুব দক্ষ। কিন্তু সুপারফিশিয়াল পরীক্ষা যা শুধুমাত্র স্ট্যাটাস কোড চেক করে তা ছদ্ম-আস্থা দেয়। চারটি স্তরেরই প্রয়োজন: স্থিতি কোড, স্কিমা বৈধতা, ব্যবসার নিয়ম, নেতিবাচক এবং অনুমোদন। প্রম্পটে ব্যবসার নিয়ম এবং চুক্তি রাখুন; সিন্থেটিক ডেটা এবং শুধুমাত্র অনুমোদনের সাথে নিরাপত্তা পরীক্ষা করুন।
আবেদন টাস্ক
আপনার নিজের প্রকল্প থেকে একটি API শেষ পয়েন্ট চয়ন করুন. AI-কে "চুক্তি-ভিত্তিক API টেস্টিং" টেমপ্লেট সহ চার-স্তর পরীক্ষা লিখতে দিন। তারপর "নমুনা প্রতিক্রিয়া থেকে স্কিমা জেনারেশন" সহ টাইপ/এনফোর্সমেন্ট বৈধতা যোগ করুন এবং "ছদ্ম-বিশ্বাস চেকিং" প্রয়োগ করুন। আপনার নিজস্ব পরীক্ষার পরিবেশে অন্তত একটি IDOR/অনুমোদন দৃশ্যকল্প চালান। কোন চুক্তি বা ব্যবসার নিয়ম লঙ্ঘন আপনি খুঁজে পান রিপোর্ট করুন; আপনি যদি কোনটি খুঁজে না পান তবে এটি ধরা পড়েছে তা প্রমাণ করতে ইচ্ছাকৃতভাবে বিকৃত প্রতিক্রিয়ার বিরুদ্ধে পরীক্ষা চালান।
চেকলিস্ট
- [ ] আমি পরীক্ষার চারটি স্তর কভার করেছি (কেস, স্কিমা, ব্যবসার নিয়ম, নেতিবাচক/অনুমোদন)।
- [ ] আমি স্পষ্টভাবে AI কে চুক্তি এবং ব্যবসার নিয়ম দিয়েছি।
- [ ] আমি পরীক্ষা সেট আপ করি যা প্রতিক্রিয়া স্কিমা (ক্ষেত্র, প্রকার, অপরিহার্য) বৈধ করে।
- [ ] আমি অন্তত একটি অনুমোদন/IDOR দৃশ্যকল্প আত্মরক্ষামূলকভাবে চেষ্টা করেছি।
- আমি বাস্তব টোকেন/ডেটার পরিবর্তে পরীক্ষার পরিবেশ এবং সিন্থেটিক ডেটা ব্যবহার করেছি।
- [ ] আমি একটি "ছদ্ম-আস্থা চেক" দিয়ে প্রমাণ করেছি যে প্রতিটি পরীক্ষায় দূষিত প্রতিক্রিয়া ধরা পড়ে।