লাভ:
- সিআই/সিডির প্রেক্ষাপটে আইডিয়া থেকে রিলিজ পর্যন্ত এন্ড-টু-এন্ড QA প্রবাহে কৃত্রিম বুদ্ধিমত্তা এবং মানব অনুমোদন পয়েন্টের ভূমিকা ডিজাইন করার ক্ষমতা
- CI/CD-এ, AI-কে স্বয়ংক্রিয়ভাবে পরীক্ষায় 'পাস' করার অনুমোদন না দিয়ে, গোপনীয় ডেটা এবং কীগুলি রক্ষা করার জন্য সীমা প্রয়োগ করা
- কর্তৃপক্ষের মধ্যে এবং প্রতিরক্ষামূলক উদ্দেশ্যে নিরাপত্তা পরীক্ষা করার ক্ষমতা এবং দায়িত্বশীল প্রকাশ এবং নৈতিক স্বচ্ছতার নীতিগুলি গ্রহণ করার ক্ষমতা।
আগের দশটি ইউনিটে, আমরা স্বতন্ত্র কাজে AI ব্যবহার করেছি: দৃশ্যকল্প জেনারেশন, অটোমেশন কোড, বাগ রিপোর্টিং, কভারেজ বিশ্লেষণ, মিউটেশন টেস্টিং। এই চূড়ান্ত ইউনিটটি তাদের সবাইকে একটি দায়িত্বশীল কর্মপ্রবাহে একত্রিত করে। আধুনিক QA এমন কোনো কাজ নয় যা একজন ব্যক্তির ডেস্কে শেষ হয়; এটি এমন একটি প্রক্রিয়া যা CI/CD-এর মধ্যে থাকে (কন্টিনিউয়াস ইন্টিগ্রেশন/কন্টিনিউয়াস ডেলিভারি — পাইপলাইন যেখানে কোড ক্রমাগত একত্রিত হয়, স্বয়ংক্রিয়ভাবে পরীক্ষা করা হয় এবং ঘন ঘন এবং নিরাপদে প্রকাশনার জন্য প্রস্তুত)। এআই এই প্রক্রিয়ার প্রতিটি পর্যায়ে স্পর্শ করতে পারে। কিন্তু AI-এর শক্তি যত বাড়তে থাকে, ততই দায়িত্বশীলভাবে ব্যবহার করার গুরুত্ব বাড়ে: গোপনীয়তা, নিরাপত্তা পরীক্ষায় কর্তৃত্ব, নৈতিকতা এবং সবচেয়ে গুরুত্বপূর্ণ, মানসম্মত সিদ্ধান্ত মানুষের কাছে রাখা। এই ইউনিটে, আপনি এন্ড-টু-এন্ড প্রবাহ এবং সীমানা শিখবেন।
এন্ড-টু-এন্ড AI-চালিত QA ফ্লো
আইডিয়া থেকে রিলিজ পর্যন্ত ফিচারের যাত্রায় AI এর ভূমিকা:
1. প্রয়োজনীয়তা বিশ্লেষণ. AI প্রয়োজনীয়তা এবং অনুপস্থিত গ্রহণযোগ্যতার মানদণ্ডে অস্পষ্টতাগুলিকে ফ্ল্যাগ করে ("এই নিয়মটি পাসওয়ার্ডটি সর্বনিম্ন কতগুলি অক্ষর বলে না")।
2. টেস্ট ডিজাইন। দৃশ্যকল্প এবং কেস ড্রাফ্ট (ইউনিট 2), এজ কেস (ইউনিট 3) গ্রহণযোগ্যতার মানদণ্ডের মধ্যে রয়েছে।
3. অটোমেশন। ইউনিট (6), API (5) এবং UI (4) পরীক্ষার কোড খসড়া; প্রতিটি মিউটেশন (10) দ্বারা নিশ্চিত করা হয়।
4. CI/CD ইন্টিগ্রেশন। প্রতিটি কোড একত্রিত করার সাথে পরীক্ষাগুলি স্বয়ংক্রিয়ভাবে চলে। AI ড্রাফ্ট পাইপলাইন কনফিগারেশন (YAML), ব্যর্থ পরীক্ষার লগ সংক্ষিপ্ত করে, সম্ভাব্য মূল কারণের পরামর্শ দেয়।
5. রিলিজ সিদ্ধান্ত. ঝুঁকি বিশ্লেষণ (8) এবং রিগ্রেশন (9) ফলাফল সংগ্রহ করা হয় - তবে বিশেষজ্ঞ সিদ্ধান্ত নেন এটি সফল হতে পারে কিনা।
6. উত্পাদন পর্যবেক্ষণ এবং প্রতিক্রিয়া. লাইভে ত্রুটিগুলি ভবিষ্যতের পরীক্ষায় পরিণত হয়; AI একটি ম্যানুফ্যাকচারিং ত্রুটি থেকে একটি রিগ্রেশন কেস প্রস্তাব করে।
টিপ: CI/CD এ একটি স্তর হিসাবে AI সেট আপ করুন যা "পরীক্ষা লিখে এবং সিদ্ধান্ত নেয়" এর পরিবর্তে "মানব-পর্যালোচনা করা খসড়াগুলিকে ত্বরান্বিত করে"। কোনো স্বয়ংক্রিয়ভাবে উত্পন্ন পরীক্ষাগুলি মানুষের পর্যালোচনা এবং অনুমোদন ছাড়া পাইপলাইনে প্রবেশ করা উচিত নয়।
CI/CD-এ AI: যেখানে হ্যাঁ, যেখানে না
মঞ্চ
এআই ফিট
মানুষ অপরিহার্য
পরীক্ষার কোড খসড়া
হ্যাঁ
রিভিশন + মিউটেশন
পাইপলাইন YAML খসড়া
হ্যাঁ
প্রমাণীকরণ + গোপন কী চেকিং
ব্যর্থ লগ সারাংশ
হ্যাঁ
মূল কারণ নিশ্চিতকরণ
ভঙ্গুর পরীক্ষা নির্ণয়
হ্যাঁ
স্থায়ী সমাধানের সিদ্ধান্ত
"একটি সংস্করণ হতে পারে?"
না
বিশেষজ্ঞ রায় এবং দায়িত্ব
স্বয়ংক্রিয়ভাবে পরীক্ষা "পাস"
কখনই
-
সতর্কতা: CI/CD-এ AI-কে কখনই "ফেল করা পরীক্ষায় উত্তীর্ণ হওয়ার জন্য এটি ঠিক করুন"-এর মতো ম্যান্ডেট দেবেন না। এটি পরীক্ষার উদ্দেশ্যকে হারায় এবং স্বয়ংক্রিয়ভাবে ত্রুটিগুলি ঢেকে দেয়। AI ত্রুটি ব্যাখ্যা করতে পারে, সংশোধনের পরামর্শ দিতে পারে; কিন্তু "পরীক্ষার সবুজ রং করা" অবশ্যই একজন ব্যক্তির সচেতন, যুক্তিযুক্ত সিদ্ধান্ত হতে হবে।
গোপনীয়তা, ডেটা এবং নিরাপত্তা: অপরিবর্তনীয় সীমানা
গোপনীয়তা। পরীক্ষার পরিবেশে, প্রকৃত গ্রাহক ডেটা, উৎপাদন ডাটাবেস কপি, API কী এবং অভ্যন্তরীণ সিস্টেম তথ্য সংবেদনশীল। এগুলিকে পাবলিক এআই টুলগুলিতে দেবেন না। ব্যক্তিগত তথ্য KVKK এবং অনুরূপ প্রবিধান সাপেক্ষে; মাস্ক লগ এবং স্ক্রিনশট. যেখানেই সম্ভব সিন্থেটিক (কাল্পনিক) পরীক্ষার ডেটা ব্যবহার করুন।
নিরাপত্তা পরীক্ষা - প্রতিরক্ষামূলক এবং অনুমোদিত। এই মডিউলে শেখা নিরাপত্তা পরীক্ষাগুলি (অনুমোদন/আইডিওআর পরীক্ষা, ফাইল আপলোড সীমা, ইনপুট বৈধতা) শুধুমাত্র লিখিত অনুমোদন এবং সংজ্ঞায়িত সুযোগের মধ্যে আপনার নিজের পণ্য পরীক্ষা করার জন্য। অনুমতি ছাড়াই অন্য কারো সিস্টেম অ্যাক্সেস করতে AI ব্যবহার করা, প্রকৃত দুর্বলতাকে অস্ত্র তৈরি করা, বা সুযোগের বাইরে পরীক্ষা করা উভয়ই অনৈতিক এবং বেআইনি। আপনি যখন নিরাপত্তার দুর্বলতা খুঁজে পান, তখন দায়িত্বশীল প্রকাশের নীতি মেনে চলুন — দুর্বলতাকে গোপন রাখা এবং সংশ্লিষ্ট পক্ষকে রিপোর্ট করুন যাতে এটি ঠিক করা যায়।
নৈতিকতা এবং স্বচ্ছতা। AI দ্বারা উত্পাদিত পরীক্ষাগুলিকে আপনার নিজের কাজ হিসাবে উপস্থাপন করবেন না; আপনি দলের মধ্যে AI ব্যবহার করছেন তা স্বচ্ছতা। আপনি একটি AI-উত্পাদিত আউটপুটের ভুলতার জন্য দায়ী - "AI এটি লিখেছেন" একটি অজুহাত নয়।
দুর্বল প্রম্পট / শক্তিশালী প্রম্পট
দুর্বল: "CI এর জন্য পরীক্ষা পাইপলাইন সেট আপ করুন।"
দৃঢ়: "গিটহাব অ্যাকশনগুলির জন্য একটি CI ওয়ার্কফ্লো YAML খসড়া তৈরি করুন: প্রতিটি PR-এ ইউনিট + API পরীক্ষা চালান, কভারেজ রিপোর্ট তৈরি করুন, মিউটেশন টেস্টিং (স্ট্রাইকার) সাপ্তাহিক চালান। কোডে গোপনীয়তা এম্বেড করবেন না; শুধুমাত্র সিক্রেট রেফারেন্স ব্যবহার করুন। পরীক্ষাগুলি লাল হলে মার্জ ব্লক করুন। এটি একটি ড্রাফ্ট এবং সম্পাদনা কী পদক্ষেপ; আমি এনডিওটি পরিচালনা করব। একটি স্বয়ংক্রিয় পরীক্ষার 'ফিক্স' বা 'মাইগ্রেট' ধাপ যোগ করুন।"
শক্তিশালী প্রম্পট; এটি গোপনীয়তা, মানুষের পর্যালোচনা এবং "কোন স্বয়ংক্রিয় পরীক্ষা নয়" এর উপর সীমাবদ্ধতা আরোপ করে।
চারটি অনুলিপিযোগ্য টেমপ্লেট
1) শেষ থেকে শেষ পরীক্ষার পরিকল্পনা:
আপনার ভূমিকা: সিনিয়র QA নেতা। নিম্নলিখিত বৈশিষ্ট্যের জন্য রিলিজ করার ধারণা থেকে শেষ থেকে শেষ পরীক্ষার পরিকল্পনা তৈরি করুন: [বৈশিষ্ট্য + গ্রহণযোগ্যতার মানদণ্ড]। পর্যায়গুলি: প্রয়োজনীয়তা বিশ্লেষণ (অনিশ্চয়তা), পরীক্ষার নকশা, অটোমেশন স্তর (ইউনিট/এপিআই/ইউআই), CI/CD ইন্টিগ্রেশন, প্রকাশের সিদ্ধান্তের মানদণ্ড, উত্পাদন ট্র্যাকিং। প্রতিটি পর্যায়ে AI এবং HUMAN অনুমোদন পয়েন্টের ভূমিকা আলাদাভাবে উল্লেখ করুন।
2) CI/CD পাইপলাইন রূপরেখা:
[GitHub Actions/GitLab CI/Azure Pipelines]-এর জন্য CI YAML খসড়া:- ইউনিট + API পরীক্ষা + PR-এ সুযোগ- লাল পরীক্ষায় একীভূত হওয়া রোধ করুন- শুধুমাত্র গোপনীয়তার সাথে গোপন মান; কোড এম্বেড করা এটি একটি খসড়া; আমি মূল ব্যবস্থাপনা এবং অনুমোদনের পদক্ষেপগুলি পর্যালোচনা করব৷ একটি স্বয়ংক্রিয় সংশোধন/পাশ পরীক্ষার ধাপ যোগ করা হচ্ছে।
3) ব্যর্থ পরীক্ষার লগ বিশ্লেষণ:
সেই CI প্রিন্টআউটে, পরীক্ষাগুলি লাল। লগ পরীক্ষা; ব্যর্থতাগুলিকে গোষ্ঠীভুক্ত করুন, সম্ভাব্য মূল কারণগুলিকে আলাদা করুন এবং কোনটি আসল ব্যর্থতা হতে পারে এবং যা একটি ভঙ্গুর পরীক্ষা/পরিবেশ সমস্যা হতে পারে৷ যদি ব্যক্তিগত ডেটা থাকে তবে এটি মাস্ক করুন। সিদ্ধান্ত এবং সংশোধন আমার হবে. লগ: [পেস্ট]
4) নিরাপত্তা/গোপনীয়তা প্রি-চেক:
এই পরীক্ষার ডেটা/লগ AI টুলে পাঠানোর আগে, চেক করুন: এতে কি ব্যক্তিগত ডেটা, API কী, অভ্যন্তরীণ সিস্টেম ঠিকানা, উৎপাদন ডেটা রয়েছে? কোন এলাকায়, যদি থাকে, মাস্ক/মুছে ফেলতে হবে তা তালিকাভুক্ত করুন। এটি যেমন আছে প্রক্রিয়াকরণ. বিষয়বস্তু: [পেস্ট]
তিনটি মিনি কেস
কেস 1 - শেষ থেকে শেষ প্রবাহের গতি। একটি দল এআই-চালিত এন্ড-টু-এন্ড ফ্লো সহ একটি নতুন "সাবস্ক্রিপশন পুনর্নবীকরণ" বৈশিষ্ট্য মোকাবেলা করেছে: প্রয়োজনীয় অনিশ্চয়তাগুলি সামনে পতাকাঙ্কিত, তিন-স্তর পরীক্ষা খসড়া এবং মিউটেশন-বৈধ, CI-এর সাথে আবদ্ধ। বৈশিষ্ট্যটি পরীক্ষা চক্রকে হ্রাস করেছে, যা ঐতিহ্যগত প্রক্রিয়ায় 5 দিন সময় নেয়, 2 দিনে; কিন্তু মানুষের অনুমোদন প্রতিটি পর্যায়ে সংরক্ষিত ছিল, এবং একটি প্রয়োজনীয়তা অনিশ্চয়তা (রিফ্রেশ ব্যর্থ হলে কি হবে) প্রাক-লাইভ বন্ধ ছিল।
কেস 2 — কী ফাঁস থেকে ফিরে আসা। একজন বিকাশকারীর কাছে AI জেনারেট CI YAML ছিল এবং AI উদাহরণ হিসাবে YAML-এ একটি বাস্তব-সুদর্শন API কী এমবেড করেছে। "নিরাপত্তা/গোপনীয়তা প্রিচেক" পদক্ষেপ এটিকে ধরে রেখেছে; কী সিক্রেট রেফারেন্সে রূপান্তরিত। অডিট পদক্ষেপ ছাড়া, কী সংস্করণ নিয়ন্ত্রণে (গিট ইতিহাস) ফাঁস হবে।
কেস 3 — কর্তৃত্বের সীমা। একজন দলের সদস্য আইডিওআর পরীক্ষাটি প্রয়োগ করতে চেয়েছিলেন যা তিনি শিখেছিলেন একজন ব্যবসায়িক অংশীদারের লাইভ সিস্টেমে "আমি কৌতূহলী ছিলাম।" QA নেতা বন্ধ করেছেন: লিখিত অনুমোদন এবং সংজ্ঞায়িত সুযোগ ছাড়া অন্য সিস্টেমে নিরাপত্তা পরীক্ষা করা বেআইনি। পরীক্ষা শুধুমাত্র তাদের নিজস্ব পণ্যের পরীক্ষার পরিবেশে, কর্তৃপক্ষের সাথে করা হয়েছিল; উন্মুক্ত দায়িত্বশীল পক্ষ সংশ্লিষ্ট দলকে অবহিত করা হয়েছে।
সাধারণ ভুল
- এআই তৈরি করা রিলিজের সিদ্ধান্ত নেয়। প্রশ্ন জিজ্ঞাসা করা "এটি মুক্তি দেওয়া যাবে?" এআই-এর কাছে এবং স্বাক্ষরের জায়গায় উত্তর দেওয়া।
- স্বয়ংক্রিয় পরীক্ষায় "পাশ"। CI-তে, AI থাকার ফলে টেস্টকে সবুজ রং করা হয়; ভুল ঢেকে রাখা।
- গাড়ির গোপনীয় তথ্য/চাবি দেওয়া। তত্ত্বাবধান ছাড়াই উত্পাদন ডেটা, ব্যক্তিগত ডেটা বা API কীগুলি ভাগ করা।
- অননুমোদিত নিরাপত্তা পরীক্ষা. সুযোগ এবং অনুমতি ছাড়া অন্য সিস্টেমে আক্রমণকারী পরীক্ষা।
- পর্যালোচনা ছাড়াই পাইপলাইনে পরীক্ষা প্রবর্তন করা হচ্ছে। মানুষের অনুমোদন ছাড়াই স্বয়ংক্রিয়ভাবে এআই স্কেচ চালান।
- AI এর উপর দোষ চাপানো। "এআই এটি লিখেছেন" বলে ভুল আউটপুটকে রক্ষা করা।
সংক্ষেপে
এন্ড-টু-এন্ড QA হল একটি প্রক্রিয়া যা প্রয়োজনীয়তা থেকে উৎপাদন ট্র্যাকিং পর্যন্ত প্রসারিত হয় এবং CI/CD-এর মধ্যে থাকে; প্রতিটি পর্যায়ে, এআই ড্রাফ্ট তৈরি করে, লগের সংক্ষিপ্তসার করে এবং মূল কারণগুলির পরামর্শ দেয়। কিন্তু সীমানা অপরিবর্তনীয়: মানুষ পরীক্ষার সিদ্ধান্ত নেয় এবং অনুমোদন দেয়; এআইকে কখনই স্বয়ংক্রিয়ভাবে পরীক্ষাটি "পাস" করার ক্ষমতা দেওয়া হয় না; গোপনীয় তথ্য এবং কী গাড়িতে প্রবেশ করে না; সুরক্ষা পরীক্ষা শুধুমাত্র আপনার নিজের পণ্যের উপর সঞ্চালিত হয়, লিখিত অনুমোদন এবং সংজ্ঞায়িত সুযোগের মধ্যে, প্রতিরক্ষামূলক উদ্দেশ্যে, এবং ফলাফলগুলি দায়ী প্রকাশের সাথে রিপোর্ট করা হয়। আপনি যখন এআই ব্যবহার করেন তখন স্বচ্ছ হন; আপনি আউটপুট সঠিকতার জন্য দায়ী. এআই ত্বরান্বিত; আপনি গুণমান এবং নৈতিকতার প্রতিশ্রুতি দেন।
আবেদন টাস্ক
আপনার নিজের প্রকল্প থেকে একটি বৈশিষ্ট্যের জন্য একটি "এন্ড-টু-এন্ড টেস্ট প্ল্যান" টেমপ্লেট সহ প্রকাশ করার জন্য ধারণা থেকে একটি পরিকল্পনা তৈরি করুন; প্রতিটি পর্যায়ে AI এবং মানব অনুমোদন পয়েন্টের ভূমিকা আলাদাভাবে চিহ্নিত করুন। তারপর "CI/CD পাইপলাইন আউটলাইন" সহ একটি YAML তৈরি করুন এবং এমবেডেড কী/গোপন ডেটা পরীক্ষা করতে এই YAML-এ "নিরাপত্তা/গোপনীয়তা প্রিচেক" প্রয়োগ করুন। অবশেষে, আপনার পরিকল্পনার সমস্ত "মানবীয় সিদ্ধান্ত" পয়েন্ট তালিকাভুক্ত করুন এবং এক বাক্যে ন্যায়সঙ্গত করুন কেন এই সিদ্ধান্তগুলি AI-তে অর্পণ করা যাবে না।
চেকলিস্ট
- [ ] আমি মানুষের অনুমোদনের জন্য মুক্তি এবং পরীক্ষার সিদ্ধান্তকে দায়ী করি; আমি এটি AI এর কাছে হস্তান্তর করিনি।
- [] CI/CD-এ আমি স্বয়ংক্রিয়ভাবে পরীক্ষাটি "পাস/সঠিক" করার জন্য AI-কে অনুমতি দেইনি।
- [ ] আমি গাড়িতে পাঠানোর আগে গোপনীয় তথ্য, ব্যক্তিগত ডেটা এবং চাবিগুলি পরীক্ষা করে মাস্ক করেছি।
- [ ] আমি লিখিত অনুমোদন এবং সুযোগের মধ্যে শুধুমাত্র আমার নিজের পণ্যের নিরাপত্তা পরীক্ষা বিবেচনা করেছি।
- [ ] আমি দায়িত্বশীল প্রকাশের নীতির সাথে পাওয়া দুর্বলতাগুলিকে সম্বোধন করেছি৷
- [ ] আমি স্বচ্ছভাবে বলেছি যে আমি AI ব্যবহার করেছি এবং আউটপুটের নির্ভুলতার জন্য নিজেকে দায়ী করেছি।
মডিউল পরীক্ষা
1. QA প্রসঙ্গে কীভাবে 'মিথ্যা পাস' সবচেয়ে সঠিকভাবে সংজ্ঞায়িত করা হয়?
- ক) পরীক্ষা সবুজ হয়ে গেলেও, এটি আসলে কোনো আচরণ নিশ্চিত করে না; ✔ কোডটি নষ্ট হয়ে গেলেও লাল হয় না
- খ) পরীক্ষা খুব ধীরে চলে এবং সময় শেষ হয়।
- গ) পরীক্ষাটি একটি আসল ত্রুটি সনাক্ত করে এবং লাল হয়ে যায়
- ঘ) পরীক্ষা শুধুমাত্র উত্পাদন পরিবেশে সঞ্চালিত হয়
ব্যাখ্যা: একটি ছদ্ম-পাস হল যখন একটি পরীক্ষা 'পাস' বলে কিন্তু প্রকৃতপক্ষে অর্থপূর্ণ কিছু নিশ্চিত করে না; পরীক্ষাটি সবুজ, কিন্তু সফ্টওয়্যারটি ত্রুটিপূর্ণ হলেও এটি ধরবে না। এটি QA তে AI এর এক নম্বর ঝুঁকি কারণ AI এমন পরীক্ষাগুলি তৈরি করে যা দেখতে ঝরঝরে কিন্তু ফাঁপা।
2. পরীক্ষা এবং QA প্রক্রিয়ায় কৃত্রিম বুদ্ধিমত্তার সবচেয়ে সঠিক অবস্থান কী?
- ক) কৃত্রিম বুদ্ধিমত্তা সিদ্ধান্ত নিতে পারে যে সংস্করণটি মানুষের অনুমোদন ছাড়া প্রকাশ করা যাবে কিনা
- খ) কৃত্রিম বুদ্ধিমত্তা একটি সহকারী যা খসড়া এবং ধারণা তৈরি করে; 'এটি কি প্রকাশের জন্য প্রস্তুত' সিদ্ধান্ত এবং দায়িত্ব বিশেষজ্ঞের ✔
- গ) কৃত্রিম বুদ্ধিমত্তা শুধুমাত্র পাঠ্য লেখে এবং পরীক্ষার কোডের সাথে মোকাবিলা করতে পারে না
- ঘ) কৃত্রিম বুদ্ধিমত্তা সবসময় মানুষের চেয়ে সঠিক পরীক্ষা লেখে, তাই পর্যালোচনা অপ্রয়োজনীয়
বর্ণনা: কৃত্রিম বুদ্ধিমত্তা একটি পরীক্ষা সহকারী, খসড়া জেনারেটর এবং ধারণা গুণক; পরীক্ষার পরিস্থিতি, অটোমেশন কোড এবং প্রতিবেদনের খসড়া তৈরি করে। যাইহোক, 'এই সফ্টওয়্যারটি কি প্রকাশের জন্য প্রস্তুত' বা 'এই পরীক্ষায় উত্তীর্ণ হয়েছে'-এর মতো গুণগত সিদ্ধান্তের দায়িত্ব এবং চূড়ান্ত অনুমোদন উপযুক্ত বিশেষজ্ঞের।
3. এই সত্যের উপর ভিত্তি করে যে ত্রুটিগুলি বেশিরভাগ থ্রেশহোল্ড মানগুলিতে ঘটে, কোন পরীক্ষার ডিজাইন কৌশলটি 18 বছর বয়স সীমার জন্য 17, 18 এবং 19 কে আলাদাভাবে পরীক্ষা করতে হবে?
- ক) রাজ্য উত্তরণ পরীক্ষা
- খ) সিদ্ধান্ত টেবিল
- গ) সীমানা মূল্য বিশ্লেষণ ✔
- ঘ) অনুসন্ধানমূলক পরীক্ষা
ব্যাখ্যা: সীমানা মান বিশ্লেষণ এই পর্যবেক্ষণের উপর ভিত্তি করে যে ত্রুটিগুলি প্রায়শই বাউন্ডারিতে ঘটে এবং থ্রেশহোল্ড মান পরীক্ষা করে (ঠিক নীচে, ঠিক উপরে এবং সীমার ঠিক উপরে) আলাদাভাবে। এটি একটি শক্তিশালী কৌশল যা সমতুল্য ক্লাসের পরিপূরক।
4. কৃত্রিম বুদ্ধিমত্তার সাহায্যে উত্পাদিত UI পরীক্ষার অটোমেশন কোডে ভঙ্গুরতা কমাতে উপাদান নির্বাচনের ক্ষেত্রে কোন পদ্ধতিটিকে অগ্রাধিকার দেওয়া উচিত?
- ক) সম্ভাব্য দীর্ঘতম XPath পাথ ব্যবহার করা
- খ) স্ক্রীনে তার পিক্সেল অবস্থান অনুযায়ী উপাদান নির্বাচন করা
- গ) সিএসএস ক্লাসের নামের উপর ভিত্তি করে নির্বাচক ব্যবহার করা
- ঘ) স্থিতিশীল বৈশিষ্ট্য ব্যবহার করে (ডেটা-টেস্টিড) পরীক্ষার জন্য যোগ করা হয়েছে ✔
ব্যাখ্যা: দীর্ঘ XPath পাথ এবং CSS ক্লাসের নামগুলি পৃষ্ঠার গঠন এবং নকশার উপর অত্যন্ত নির্ভরশীল; এটি সামান্য ইন্টারফেস পরিবর্তন এ বিরতি. স্থিতিশীল বৈশিষ্ট্যগুলি বিশেষভাবে পরীক্ষার জন্য যুক্ত করা হয়েছে (যেমন ডেটা-টেস্টিড) ডিজাইন পরিবর্তন দ্বারা প্রভাবিত হয় না এবং পরীক্ষাগুলিকে শক্তিশালী করে তোলে।
5. শুধুমাত্র HTTP স্ট্যাটাস কোড (যেমন 200) চেক করা কেন একটি API পরীক্ষার জন্য অপর্যাপ্ত?
- ক) কারণ সঠিক স্ট্যাটাস কোড সহ বডি ডেটা নষ্ট হতে পারে এবং স্ট্যাটাস চেক একাই এটি ধরবে না (ছদ্ম-বিশ্বাস) ✔
- খ) কারণ এপিআই পরীক্ষায় স্ট্যাটাস কোডগুলি মোটেই নির্ভরযোগ্য নয়
- গ) কারণ স্ট্যাটাস কোড চেকিং পরীক্ষাকে অনেক কমিয়ে দেয়
- D) কারণ API পরীক্ষায় স্ট্যাটাস কোড কখনই ফেরত দেওয়া হয় না
ব্যাখ্যা: সার্ভার সঠিক স্ট্যাটাস কোড ফেরত দিলে, এটি শরীরের ক্ষতিগ্রস্থ ডেটা ফেরত দিতে পারে (ভুল টাইপ, অনুপস্থিত ক্ষেত্র, ভুলভাবে গণনা করা মান)। যে পরীক্ষা শুধুমাত্র পরিস্থিতির দিকে তাকায় তা দেখতে পারে না এবং মিথ্যা আস্থা দেয়। তাই স্কিমা/চুক্তি এবং ব্যবসায়িক নিয়মের বৈধতাও যোগ করা উচিত।
6. ইউনিট পরীক্ষা প্রিন্ট করার সময় AI কে 'স্বয়ংক্রিয়ভাবে গ্রহণযোগ্যতার নিয়ম অনুসারে প্রত্যাশিত মান গণনা করতে, ফাংশনের বর্তমান আউটপুট উল্লেখ করবেন না' বলা কেন গুরুত্বপূর্ণ?
- ক) কারণ ম্যানুয়াল গণনা পরীক্ষাগুলি দ্রুত চালায়
- খ) কারণ অন্যথায় পরীক্ষাটি কোডের বর্তমান (সম্ভবত বগি) আচরণকে 'সঠিক' হিসাবে গ্রহণ করে এবং বাগটি নিশ্চিত করে ✔
- গ) কারণ কৃত্রিম বুদ্ধিমত্তা মোটেই দশমিক সংখ্যা গণনা করতে পারে না
- D) কারণ পরীক্ষায় গ্রহণযোগ্যতা নিয়ম কখনও ব্যবহার করা হয় না
ব্যাখ্যা: যদি AI পরীক্ষার অধীনে ফাংশনের আউটপুট থেকে প্রত্যাশিত মান অর্জন করে, তবে ফাংশনটি ত্রুটিপূর্ণ হলেও এটি পরীক্ষাকে 'পাস' করে দেবে; অর্থাৎ, কোড যাই হোক না কেন, পরীক্ষাটি সত্য হিসাবে গণনা করে। গ্রহণযোগ্যতার নিয়ম থেকে স্বাধীনভাবে প্রত্যাশিত মান গণনা করা নিশ্চিত করে যে পরীক্ষাটি নিয়মের দারোয়ান, কোডের আয়না নয়।
7. নিচের কোনটি একটি ভাল বাগ রিপোর্টের সবচেয়ে স্বতন্ত্র বৈশিষ্ট্য?
- ক) যতটা সম্ভব দীর্ঘ এবং প্রযুক্তিগত হতে হবে
- খ) কৃত্রিম বুদ্ধিমত্তা দ্বারা লিখিত
- গ) নির্ধারক প্রজনন পদক্ষেপগুলি রয়েছে যা বিকাশকারী স্বাধীনভাবে অনুসরণ করতে পারে এবং ত্রুটি তৈরি করতে পারে ✔
- D) এটি শুধুমাত্র একটি স্ক্রিনশট
ব্যাখ্যা: একটি বাগ রিপোর্টের আসল মূল্য হল যে বিকাশকারী আপনার সাহায্য ছাড়াই বাগটি পুনরুত্পাদন করতে পারে। স্ক্র্যাচ থেকে নির্ধারক, সনাক্তযোগ্য প্রজনন পদক্ষেপগুলি এটি নিশ্চিত করে; এই পদক্ষেপগুলি অনুপস্থিত থাকলে, প্রতিবেদনটি প্রায়শই 'উৎপাদন করা যায়নি' হিসাবে বন্ধ হয়ে যায়।
8. হোম পেজে কোম্পানির নামের ভুল বানান ভুলের ক্ষেত্রে তীব্রতা এবং অগ্রাধিকারের মধ্যে সম্পর্কের জন্য সবচেয়ে সঠিক অভিব্যক্তি কোনটি?
- ক) তীব্রতা এবং অগ্রাধিকার সবসময় একই মান থাকা উচিত
- খ) এই ত্রুটির তীব্রতা এবং অগ্রাধিকার উভয়ই অবশ্যই কম
- গ) তীব্রতা এবং অগ্রাধিকার একই ধারণা, একটি লেবেল যথেষ্ট
- ঘ) প্রযুক্তিগত তীব্রতা কম হতে পারে কিন্তু ব্যবসার অগ্রাধিকার (খ্যাতি) বেশি হতে পারে; দুটি ভিন্নভাবে মূল্যায়ন করা হয় ✔
ব্যাখ্যা: তীব্রতা হল ত্রুটির প্রযুক্তিগত প্রভাব (টাইপো প্রযুক্তিগতভাবে কম), অগ্রাধিকার হল এটি কতটা জরুরীভাবে ঠিক করা দরকার (উচ্চ কারণ এটি একটি খ্যাতি উপাদান যা প্রত্যেক দর্শক দেখে)। দুটো সবসময় একই দিকে যায় না; এই উদাহরণটি একটি নিম্ন তীব্রতা-উচ্চ অগ্রাধিকার পরিস্থিতি।
9. 90% লাইন কভারেজ সহ একটি টেস্ট স্যুটের সবচেয়ে সঠিক ব্যাখ্যা কোনটি?
- ক) এটি দেখায় যে লাইনগুলি কার্যকর করা হয়েছে কিন্তু প্রমাণ করে না যে তারা সঠিকভাবে আচরণ করে; ✔ উচ্চ কভারেজ মিথ্যা আত্মবিশ্বাস দিতে পারে
- খ) চূড়ান্তভাবে প্রমাণ করে যে 90% সফ্টওয়্যার বাগ-মুক্ত
- গ) এটি চমৎকার পরীক্ষার মানের একটি নির্দিষ্ট পরিমাপ।
- ঘ) নির্দেশ করে যে আর কোনো অতিরিক্ত পরীক্ষা লিখতে হবে না
ব্যাখ্যা: সারি কভারেজ নির্দেশ করে যে শুধুমাত্র সারিগুলি কার্যকর করা হয়েছিল; এটি প্রমাণ করে না যে এটি সঠিক ফলাফল দেয়। এমনকি নির্ভুল পরীক্ষার মাধ্যমে, 90% কভারেজ অর্জন করা যেতে পারে। স্কোপ একটি 'কোথাও দেখা হয়নি' মানচিত্র, 'সবকিছু পরীক্ষা করা হয়েছে' নিশ্চয়তা নয়; প্রকৃত সুরক্ষা পরিব্যক্তি পরীক্ষার দ্বারা পরিমাপ করা হয়।
10. ঝুঁকি-ভিত্তিক পরীক্ষায়, কীভাবে একটি বৈশিষ্ট্যের ঝুঁকি সরাসরি সীমিত পরীক্ষার প্রচেষ্টার জন্য গণনা করা হয়?
- ক) শুধুমাত্র কোডের লাইনের সংখ্যা দ্বারা
- খ) ব্যর্থতার সম্ভাবনা এবং এটি ভেঙ্গে গেলে যে প্রভাব ঘটবে তাকে গুণ করে ✔
- গ) শুধুমাত্র যে ক্রমে বৈশিষ্ট্যটি বিকাশ করা হয়েছিল
- ঘ) শুধুমাত্র সেই বৈশিষ্ট্যটিকে অগ্রাধিকার দেওয়া যা পরীক্ষা লেখার জন্য সবচেয়ে সহজ
ব্যাখ্যা: ঝুঁকি-ভিত্তিক পরীক্ষায়, ঝুঁকিকে সম্ভাব্যতা = সম্ভাব্যতা (ভাঙ্গনের সম্ভাবনা) × প্রভাব (ভাঙ্গা হলে ক্ষতি) হিসাবে মূল্যায়ন করা হয়। উচ্চ সম্ভাবনা এবং উচ্চ প্রভাব ডোমেনগুলি (পেমেন্ট, প্রমাণীকরণ) সবচেয়ে তীব্র পরীক্ষার প্রাপ্য, যখন কম × নিম্ন ডোমেনগুলি হালকা পরীক্ষা গ্রহণ করে।
11. কোড পরিবর্তিত না হওয়া সত্ত্বেও কখনও কখনও পাস করে এবং কখনও কখনও ব্যর্থ (ভঙ্গুর/ফ্ল্যাকি) পরীক্ষায় পুনরায় চেষ্টা যোগ করার প্রধান ঝুঁকি কী?
- ক) পরীক্ষার চলমান সময় সংক্ষিপ্ত করা
- খ) কভারেজ শতাংশ হ্রাস করে
- গ) সত্যিকারের একত্রিত ত্রুটি বা মূল কারণকে ঢেকে রাখা এবং উপসর্গটিকে দমন করা ✔
- ঘ) পরীক্ষার নাম পরিবর্তন করা
ব্যাখ্যা: পুনরায় চেষ্টা করুন একটি ডায়াগনস্টিক টুল, একটি চিকিত্সা নয়। সিদ্ধান্তহীনতা প্রায়ই একটি প্রকৃত জাতি অবস্থা বা আসক্তি থেকে আসে; পুনরায় চেষ্টা করে পরীক্ষা 'পাস' করা এই আসল ত্রুটিটিকে ঢেকে দেয় এবং লাইভে গুরুতর সমস্যা সৃষ্টি করতে পারে। আগে মূল কারণ খুঁজে বের করতে হবে।
12. কিভাবে পরিব্যক্তি পরীক্ষা, পরিমাপ করার সবচেয়ে সৎ পদ্ধতি একটি টেস্ট স্যুট আসলে রক্ষা করে কি না, কাজ করে?
- ক) পরীক্ষার চলমান গতি পরিমাপ করে
- খ) কোডের কত লাইন লেখা হয়েছে তা গণনা করে
- গ) বিভিন্ন ক্রমে পরীক্ষা চালানোর মাধ্যমে
- ঘ) ইচ্ছাকৃতভাবে কোডে ছোট ছোট বিরতি তৈরি করে এবং পরীক্ষায় সেগুলি ধরা পড়ে কিনা তা পরিমাপ করে ✔
বর্ণনা: মিউটেশন টেস্টিং সোর্স কোডে ছোট ইচ্ছাকৃত বিকৃতি (মিউটেশন) তৈরি করে; একটি ভাল পরীক্ষা স্যুট এই বিকৃতি ধরা এবং লাল চালু করা উচিত. যে মিউটেশনগুলি ধরা পড়ে না (বেঁচে যায়) তা নির্দেশ করে যে পরীক্ষাগুলি সেই আচরণটিকে সংরক্ষণ করে না। মিউটেশন স্কোর শতাংশের কভারেজের তুলনায় গুণমানের অনেক বেশি সৎ পরিমাপ।
13. নিরাপত্তা পরীক্ষা (যেমন অনুমোদন/আইডিওআর পরীক্ষা) করার সময় প্রধান সীমাটি কী অনুসরণ করতে হবে?
- ক) এটি শুধুমাত্র তার নিজস্ব পণ্যে করা উচিত, লিখিত অনুমোদন এবং সংজ্ঞায়িত সুযোগের মধ্যে, প্রতিরক্ষামূলক উদ্দেশ্যে ✔
- খ) এটি অবাধে সুদের যে কোনও সিস্টেমে প্রয়োগ করা যেতে পারে
- গ) এটি অনুমতি ছাড়াই ব্যবসায়িক অংশীদারদের লাইভ সিস্টেমে চেষ্টা করা যেতে পারে
- ঘ) কোনো দুর্বলতা পাওয়া গেলে তা অবিলম্বে প্রকাশ্যে প্রকাশ করা উচিত।
বর্ণনা: এই মডিউলে শিখে নেওয়া নিরাপত্তা পরীক্ষাগুলি শুধুমাত্র লিখিত অনুমোদন এবং সংজ্ঞায়িত সুযোগের মধ্যে, প্রতিরক্ষামূলক উদ্দেশ্যে আপনার নিজের পণ্যের পরীক্ষা করার জন্য। অনুমতি ছাড়া অন্য কারো সিস্টেমে প্রবেশ করা বা সুযোগের বাইরে পরীক্ষা করা উভয়ই অনৈতিক এবং অবৈধ; পাওয়া যে কোনো দুর্বলতা দায়িত্বশীল প্রকাশের মাধ্যমে রিপোর্ট করা হয়.
14. CI/CD পাইপলাইনে AI কে কখনই কোন কর্তৃত্ব দেওয়া উচিত নয়?
- ক) ব্যর্থ পরীক্ষার লগের সারসংক্ষেপ
- খ) একটি ব্যর্থ (লাল) পরীক্ষা স্বয়ংক্রিয়ভাবে 'পাস' বা সবুজ রং করার কর্তৃপক্ষ ✔
- গ) একটি পরীক্ষা কোড খসড়া প্রস্তাব
- D) পাইপলাইন YAML ফাইলের খসড়া
বর্ণনা: এআই সিআই/সিডিতে পরীক্ষার কোড আউটলাইন, পাইপলাইন YAML এবং লগ সারাংশ তৈরি করতে পারে; যাইহোক, ব্যর্থ পরীক্ষাকে স্বয়ংক্রিয়ভাবে 'পাস/ফিক্স' করার ক্ষমতা দেওয়া উচিত নয়। এটি পরীক্ষার উদ্দেশ্যকে হারায় এবং স্বয়ংক্রিয়ভাবে ত্রুটিগুলি ঢেকে দেয়। পরীক্ষার সবুজ রং করা একজন ব্যক্তির সচেতন এবং যুক্তিযুক্ত সিদ্ধান্ত হওয়া উচিত।