paint-brush
সফ্টওয়্যার পরীক্ষার জন্য ChatGPT ব্যবহার করাদ্বারা@ratikeshmisra
4,466 পড়া
4,466 পড়া

সফ্টওয়্যার পরীক্ষার জন্য ChatGPT ব্যবহার করা

দ্বারা Ratikesh4m2023/09/16
Read on Terminal Reader
Read this story w/o Javascript

অতিদীর্ঘ; পড়তে

গত 2 বছরে, এআই বিশেষ করে এলএলএম (বড় ভাষা মডেল) এর অগ্রগতি ঐতিহ্যগত সমস্যাগুলিকে আরও দক্ষতার সাথে সমাধান করতে পরিণত হয়েছে। এমনই একটি প্রভাব যা এলএলএম তৈরি করতে পারে তা হল আমাদের সফ্টওয়্যার পরীক্ষার স্বয়ংক্রিয় সহায়তার মাধ্যমে। অনেক সফ্টওয়্যার টিমের জন্য অটোমেশন কখনই SDLC চক্রের প্রথম-শ্রেণীর নাগরিক নয় এবং দলগুলি পরীক্ষার কেসগুলি স্বয়ংক্রিয় করতে লড়াই করে।
featured image - সফ্টওয়্যার পরীক্ষার জন্য ChatGPT ব্যবহার করা
Ratikesh HackerNoon profile picture
0-item
1-item

বিগত 2 বছরে, AI এর অগ্রগতি, বিশেষ করে LLMs (বড় ভাষা মডেল), প্রথাগত সমস্যাগুলিকে আরও দক্ষতার সাথে সমাধান করতে পরিণত হয়েছে, এবং এমন একটি প্রভাব যা এলএলএম তৈরি করতে পারে তা হল আমাদের সফ্টওয়্যার পরীক্ষার স্বয়ংক্রিয় সহায়তার মাধ্যমে। অনেক সফ্টওয়্যার টিমের জন্য অটোমেশন কখনই SDLC চক্রের প্রথম-শ্রেণীর নাগরিক ছিল না এবং দলগুলি " টেস্ট অটোমেশন ডেট " তৈরি করে এমন পরীক্ষার কেসগুলিকে স্বয়ংক্রিয় করতে লড়াই করে। পরীক্ষার অটোমেশনের এই ফাঁকের কারণে, মানসম্পন্ন দলগুলিকে ম্যানুয়ালি যাচাই করতে এবং এই পরীক্ষার কেসগুলি লেখার জন্য অনেক সময় যায় যার ফলস্বরূপ প্রকৌশল দলের শিপিং বেগ কমে যায়।


কোড জটিলতার সাথে ম্যানুয়াল পরীক্ষার জন্য সময়ের পরিবর্তন


এই ধরনের পিষে এড়াতে একমাত্র পালানোর পথটি হল পরীক্ষার কেসগুলিকে উচ্চতর বেগে স্বয়ংক্রিয় করা কিন্তু প্রায়শই আমরা তা করতে পারি না কারণ:


  • স্কেলযোগ্য কোড লেখার জন্য ম্যানুয়াল QA টিমের মধ্যে অটোমেশন অভিজ্ঞতার অভাব।
  • অটোমেশন শুরু করার খরচ ( ইঞ্জিনিয়ারিং ম্যানেজমেন্ট এবং QA থেকে প্রয়োজনীয় ব্যান্ডউইথের পরিপ্রেক্ষিতে ) অনেক বেশি কারণ পরীক্ষার কেসগুলির বিশাল ব্যাকলগ যা স্বয়ংক্রিয় হওয়া দরকার।
  • পরীক্ষার ক্ষেত্রে নথিপত্রের নিম্ন মানের এবং রিগ্রেশন এবং স্যানিটি স্যুটের সঠিক রক্ষণাবেক্ষণ নেই।
  • দরুন বেশিরভাগ পণ্য সংস্থাগুলি বৈশিষ্ট্য বিকাশের দিকে মনোনিবেশ করে এবং তাই স্থিতিশীলতা এবং গুণমানকে পিছনের বার্নারে রাখা হয়।
  • পরীক্ষার ক্ষেত্রে মানুষের মূল্যায়ন মেশিন মূল্যায়নের চেয়ে পছন্দ করা হয়।


যদিও উপরে উল্লিখিত সমস্ত সমস্যাগুলির জন্য সফ্টওয়্যার টিমগুলিকে কীভাবে মোকাবেলা করা উচিত সে সম্পর্কে একটি পৃথক নিবন্ধের প্রয়োজন, এই বিভাগে আমরা আলোচনা করব কীভাবে QA ইঞ্জিনিয়াররা ChatGPT বা LLMগুলিকে তাদের সহ-পাইলট হিসাবে BDD (আচরণ-চালিত পরীক্ষা) হিসাবে ব্যবহার করতে পারে।

BDD এবং এর অটোমেশনের জন্য GPT3.5 ব্যবহার করা


BDD কি?


আচরণ-চালিত বিকাশ (BDD) হল একটি চটপটে সফ্টওয়্যার বিকাশের পদ্ধতি যেখানে একটি অ্যাপ্লিকেশন নথিভুক্ত করা হয় এবং এটির সাথে ইন্টারঅ্যাক্ট করার সময় ব্যবহারকারী যে আচরণের অভিজ্ঞতা আশা করে তার চারপাশে ডিজাইন করা হয়। এই আলোচনার প্রেক্ষাপটের জন্য আসুন একটি YC ওয়েবসাইটে BDD-ভিত্তিক পরীক্ষা প্রয়োগ করি এবং YC হ্যাকার নিউজের লগইন পৃষ্ঠাটিকে একটি সূচনা পয়েন্ট হিসাবে বিবেচনা করি।


YC হ্যাকার নিউজ লগইন পৃষ্ঠা


উপরে উল্লিখিত পৃষ্ঠার জন্য, প্রত্যাশিত আচরণ

" যখন কোনো ব্যবহারকারী লগ ইন করার চেষ্টা করে এবং https://news.ycombinator.com/login?goto=news- এ বৈধ শংসাপত্র প্রবেশ করে এবং লগইন টিপুন তখন এটি ব্যবহারকারীকে হ্যাকার নিউজ ওয়েবসাইটে পুনঃনির্দেশিত করা উচিত "।


বিডিডি নির্দেশিকা অনুসারে, উপরের আচরণটিকে ঘেরকিন সিনট্যাক্স/পদক্ষেপ হিসাবে লেখা যেতে পারে যা একটি সম্ভাব্য পরীক্ষার ক্ষেত্রে হতে পারে, এবং শসাকে একটি কাঠামো হিসাবে ব্যবহার করে একই ঘেরকিন স্বয়ংক্রিয় হতে পারে এবং এই আচরণের জন্য আর মানুষের হস্তক্ষেপের প্রয়োজন হবে না । যাইহোক, উপরের বিভাগে আলোচনা করা সমস্যার কারণে QA টিম সাধারণত একই রকম স্বয়ংক্রিয়করণে ক্ষতিগ্রস্ত হয়, তবে আমরা কয়েকটি প্রম্পট লিখে এবং আমাদের QA টিমের জন্য Gherkin পদক্ষেপগুলি এবং এর স্বয়ংক্রিয়করণের জন্য একটি ওয়ার্কফ্লো তৈরি করে LLM- এর শক্তিকে কাজে লাগাতে পারি। শসা কাঠামোর উপর দ্রুত বেগ সহ।



Gherkin সিনট্যাক্স তৈরির জন্য কর্মপ্রবাহ

Gherkin সিনট্যাক্স তৈরির জন্য কর্মপ্রবাহ


উদাহরণ স্বরূপ নিচের ছবিতে আমি দেখিয়েছি কিভাবে আপনি প্রাকৃতিক ভাষায় উপস্থাপিত আচরণের জন্য ঘেরকিন সিনট্যাক্স তৈরি করতে প্রম্পট ব্যবহার করে জিপিটি মডেলটিকে সূক্ষ্ম-টিউন করতে পারেন।


ChatGPT উপস্থাপিত আচরণের জন্য প্রাসঙ্গিক ঘেরকিন সিনট্যাক্স আউটপুট করে



Gherkin সিনট্যাক্স থেকে শসা-সামঞ্জস্যপূর্ণ কোড তৈরি করার জন্য কর্মপ্রবাহ

GPT ব্যবহার করে 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 ইঞ্জিনিয়ারদের দ্বারা একই কাজ করা যেতে পারে যাতে তারা তাদের উত্পাদনশীলতাকে আরও উন্নত করতে সক্ষম হয় এবং সফ্টওয়্যারের গুণমান এবং স্থিতিশীলতা নিশ্চিত করার জন্য তাদের কাজকে উত্তেজনাপূর্ণ করে তোলে!