বিগত 2 বছরে, AI এর অগ্রগতি, বিশেষ করে LLMs (বড় ভাষা মডেল), প্রথাগত সমস্যাগুলিকে আরও দক্ষতার সাথে সমাধান করতে পরিণত হয়েছে, এবং এমন একটি প্রভাব যা এলএলএম তৈরি করতে পারে তা হল আমাদের সফ্টওয়্যার পরীক্ষার স্বয়ংক্রিয় সহায়তার মাধ্যমে। অনেক সফ্টওয়্যার টিমের জন্য অটোমেশন কখনই SDLC চক্রের প্রথম-শ্রেণীর নাগরিক ছিল না এবং দলগুলি " টেস্ট অটোমেশন ডেট " তৈরি করে এমন পরীক্ষার কেসগুলিকে স্বয়ংক্রিয় করতে লড়াই করে। পরীক্ষার অটোমেশনের এই ফাঁকের কারণে, মানসম্পন্ন দলগুলিকে ম্যানুয়ালি যাচাই করতে এবং এই পরীক্ষার কেসগুলি লেখার জন্য অনেক সময় যায় যার ফলস্বরূপ প্রকৌশল দলের শিপিং বেগ কমে যায়।
এই ধরনের পিষে এড়াতে একমাত্র পালানোর পথটি হল পরীক্ষার কেসগুলিকে উচ্চতর বেগে স্বয়ংক্রিয় করা কিন্তু প্রায়শই আমরা তা করতে পারি না কারণ:
যদিও উপরে উল্লিখিত সমস্ত সমস্যাগুলির জন্য সফ্টওয়্যার টিমগুলিকে কীভাবে মোকাবেলা করা উচিত সে সম্পর্কে একটি পৃথক নিবন্ধের প্রয়োজন, এই বিভাগে আমরা আলোচনা করব কীভাবে QA ইঞ্জিনিয়াররা ChatGPT বা LLMগুলিকে তাদের সহ-পাইলট হিসাবে BDD (আচরণ-চালিত পরীক্ষা) হিসাবে ব্যবহার করতে পারে।
BDD কি?
আচরণ-চালিত বিকাশ (BDD) হল একটি চটপটে সফ্টওয়্যার বিকাশের পদ্ধতি যেখানে একটি অ্যাপ্লিকেশন নথিভুক্ত করা হয় এবং এটির সাথে ইন্টারঅ্যাক্ট করার সময় ব্যবহারকারী যে আচরণের অভিজ্ঞতা আশা করে তার চারপাশে ডিজাইন করা হয়। এই আলোচনার প্রেক্ষাপটের জন্য আসুন একটি YC ওয়েবসাইটে BDD-ভিত্তিক পরীক্ষা প্রয়োগ করি এবং YC হ্যাকার নিউজের লগইন পৃষ্ঠাটিকে একটি সূচনা পয়েন্ট হিসাবে বিবেচনা করি।
উপরে উল্লিখিত পৃষ্ঠার জন্য, প্রত্যাশিত আচরণ
" যখন কোনো ব্যবহারকারী লগ ইন করার চেষ্টা করে এবং https://news.ycombinator.com/login?goto=news- এ বৈধ শংসাপত্র প্রবেশ করে এবং লগইন টিপুন তখন এটি ব্যবহারকারীকে হ্যাকার নিউজ ওয়েবসাইটে পুনঃনির্দেশিত করা উচিত "।
বিডিডি নির্দেশিকা অনুসারে, উপরের আচরণটিকে ঘেরকিন সিনট্যাক্স/পদক্ষেপ হিসাবে লেখা যেতে পারে যা একটি সম্ভাব্য পরীক্ষার ক্ষেত্রে হতে পারে, এবং শসাকে একটি কাঠামো হিসাবে ব্যবহার করে একই ঘেরকিন স্বয়ংক্রিয় হতে পারে এবং এই আচরণের জন্য আর মানুষের হস্তক্ষেপের প্রয়োজন হবে না । যাইহোক, উপরের বিভাগে আলোচনা করা সমস্যার কারণে QA টিম সাধারণত একই রকম স্বয়ংক্রিয়করণে ক্ষতিগ্রস্ত হয়, তবে আমরা কয়েকটি প্রম্পট লিখে এবং আমাদের QA টিমের জন্য Gherkin পদক্ষেপগুলি এবং এর স্বয়ংক্রিয়করণের জন্য একটি ওয়ার্কফ্লো তৈরি করে LLM- এর শক্তিকে কাজে লাগাতে পারি। শসা কাঠামোর উপর দ্রুত বেগ সহ।
Gherkin সিনট্যাক্স তৈরির জন্য কর্মপ্রবাহ
উদাহরণ স্বরূপ নিচের ছবিতে আমি দেখিয়েছি কিভাবে আপনি প্রাকৃতিক ভাষায় উপস্থাপিত আচরণের জন্য ঘেরকিন সিনট্যাক্স তৈরি করতে প্রম্পট ব্যবহার করে জিপিটি মডেলটিকে সূক্ষ্ম-টিউন করতে পারেন।
Gherkin সিনট্যাক্স থেকে শসা-সামঞ্জস্যপূর্ণ কোড তৈরি করার জন্য কর্মপ্রবাহ
ধাপ 1: প্রকৌশলী হতে অনুরোধ করুন
নীচে প্রম্পট দেওয়া হল যে আপনি ChatGPT কনসোলে HTML কোড এবং প্রদত্ত ঘেরকিন পদক্ষেপগুলি ব্যবহার করে উপযুক্ত অটোমেশন থুতু দেওয়ার জন্য এটিকে সূক্ষ্ম-টিউন করতে লিখতে পারেন। একটি চূড়ান্ত আউটপুট হিসাবে, আমরা শসা দ্বারা প্রয়োজনীয় ধাপের সংজ্ঞা আকারে কোড তৈরি করতে বলেছি যা QAs দ্বারা কপি পেস্ট করা যেতে পারে।
ধাপ 2: প্রাসঙ্গিক এইচটিএমএল ইনজেকশন করা যা অটোমেশনের জন্য বেস হিসাবে ব্যবহার করা প্রয়োজন।
সূক্ষ্ম-টিউনিংয়ের পরে নীচের চিত্রিত হিসাবে ChatGPT প্রাসঙ্গিক HTML এবং Gherkin পদক্ষেপগুলির জন্য জিজ্ঞাসা করে যা এটি শসার জন্য ধাপের সংজ্ঞা তৈরি করতে ব্যবহার করতে পারে।
ধাপ3: ধাপের সংজ্ঞা তৈরি করা
এর ফলস্বরূপ, GPT প্রদত্ত HTML থেকে DOM গঠন বুঝতে পারবে এবং প্রাসঙ্গিক Gherkin বাক্য গঠনের জন্য আপনাকে জিজ্ঞাসা করবে। উপরের ক্ষেত্রে, আমরা ইতিমধ্যে ঘেরকিন তৈরি করেছি যা আমরা পাস করতে পারি:
Feature: User Login Redirect Scenario: User logs in with valid credentials Given the user is on the login page of "https://news.ycombinator.com/login?goto=news" When the user enters valid credentials and presses the login button Then the user should be redirected to the "hacker news" website
চূড়ান্ত আউটপুট
পরিশেষে ওয়ার্কফ্লো এবং উল্লিখিত প্রম্পট অনুসারে এটি উপরে উল্লিখিত ঘেরকিন পদক্ষেপ এবং দৃশ্যকল্পের জন্য ধাপের সংজ্ঞা ফাইল তৈরি করে যা তাদের অনুমিত আচরণের স্বয়ংক্রিয়তাকে বেঁধে রাখার জন্য ছোট মানের পরীক্ষা করার পরে তাদের শসা কাঠামোতে QAs দ্বারা অনুলিপি করা হয়। পরীক্ষা করতে
AI এর আবির্ভাব এবং কপিলটদের উত্থানের সাথে, মানুষ তাদের উত্পাদনশীলতা বৃদ্ধি দেখতে পাবে। তারা AI-তে প্রাথমিক এবং রুটিন কাজগুলি দিয়ে তাদের উদ্ভাবনের সীমানা আরও এগিয়ে নিতে সক্ষম হবে। যাইহোক, আমি এখনও মনে করি যে আমরা যে কাজই করি না কেন তাদের কেবলমাত্র তাদের সহকারী হিসাবে দেখা উচিত এবং এখনও সেগুলি ব্যবহারের বুদ্ধি মানুষের মধ্যেই থাকবে, কারণ প্রযুক্তি, বিপণন, বিক্রয় এবং গ্রাহক সাফল্যের দলগুলি তাদের কর্মপ্রবাহে LLM-এর শক্তিকে কাজে লাগানোর চেষ্টা করছে। QA ইঞ্জিনিয়ারদের দ্বারা একই কাজ করা যেতে পারে যাতে তারা তাদের উত্পাদনশীলতাকে আরও উন্নত করতে সক্ষম হয় এবং সফ্টওয়্যারের গুণমান এবং স্থিতিশীলতা নিশ্চিত করার জন্য তাদের কাজকে উত্তেজনাপূর্ণ করে তোলে!