লাভ:
- একটি মানচিত্র হিসাবে লাইন, শাখা এবং শর্ত কভারেজের মতো মেট্রিক্স পড়ার ক্ষমতা, বিশ্বাস নয়, এবং বোঝার ক্ষমতা যে উচ্চ কভারেজ ছদ্ম-বিশ্বাস দিতে পারে
- কোড স্কোপের পাশে প্রয়োজনীয়তার সুযোগ রাখার ক্ষমতা এবং কৃত্রিম বুদ্ধিমত্তার সাহায্যে ট্রেসেবিলিটি ফাঁকগুলি দৃশ্যমান করার ক্ষমতা
- সূত্রের ঝুঁকির সাথে বৈশিষ্ট্যগুলি স্কোর করার ক্ষমতা = সম্ভাবনা × প্রভাব, সর্বোচ্চ ঝুঁকিতে সরাসরি সীমিত পরীক্ষার প্রচেষ্টা এবং ইচ্ছাকৃতভাবে সুযোগের বাইরে নথি
আপনি চিরতরে প্রতিটি সফ্টওয়্যার পরীক্ষা করতে পারবেন না; সময় এবং সম্পদ সীমিত। তাই আসল প্রশ্ন হল: সীমিত পরীক্ষার প্রচেষ্টা কোথায় রাখবেন? দুটি ধারণা এই প্রশ্নের উত্তর দেয়। পরীক্ষার কভারেজ—একটি মেট্রিক যা পরিমাপ করে যে কতটা কোড বা প্রয়োজনীয়তা পরীক্ষায় স্পর্শ করা হয়েছে—কী পরীক্ষা করা হচ্ছে তা উপস্থাপন করে। ঝুঁকি-ভিত্তিক পরীক্ষা - একটি এলাকার অবনতির সম্ভাব্যতা এবং এটির অবনতি হলে এটি যে ক্ষতির কারণ হবে তার ভিত্তিতে পরীক্ষার অগ্রাধিকার নির্ধারণের পদ্ধতি - সবচেয়ে ঝুঁকির দিকে প্রচেষ্টাকে নির্দেশ করে। কৃত্রিম বুদ্ধিমত্তা (AI) উভয় ক্ষেত্রে একটি শক্তিশালী বিশ্লেষণ অংশীদার: এটি কভারেজ ফাঁক দৃশ্যমান করে তোলে, ঝুঁকির ক্ষেত্রগুলির পরামর্শ দেয়। কিন্তু কেন্দ্রীয় সতর্কতা রয়ে গেছে: এআই যে স্কোপ দেখে তা বিভ্রান্তিকর হতে পারে; এমনকি 100% সারি কভারেজ পরীক্ষার মাধ্যমে অর্জন করা যেতে পারে যা কিছুই যাচাই করে না। আপনার কাজ একটি মানচিত্র হিসাবে সুযোগ পড়া, একটি বিশ্বাস নয়.
কভারেজ মেট্রিক্স সঠিকভাবে পড়া
বিভিন্ন ধরণের সুযোগ রয়েছে এবং সবগুলি সমান অর্থপূর্ণ নয়:
- লাইন কভারেজ: কোডের কত লাইন অন্তত একবার কার্যকর করা হয়েছিল। সবচেয়ে সাধারণ কিন্তু দুর্বলতম মানদণ্ড; শুধু একটি লাইন কাজ করে বলে প্রমাণ নয় যে এটি সঠিকভাবে আচরণ করে।
- শাখা কভারেজ: প্রতিটি যদি শাখা (সত্য এবং মিথ্যা উভয়) পরীক্ষা করা হয়েছে কিনা। একটি লাইনের চেয়ে বেশি অর্থবহ।
- শর্ত কভারেজ: জটিল পরিস্থিতিতে প্রতিটি উপ-শর্ত আলাদাভাবে পরীক্ষা করা।
- পাথ কভারেজ: কোডের মধ্যে লজিক্যাল পাথের সমন্বয়। এটি সবচেয়ে ব্যাপক কিন্তু অনুশীলনে সম্পূর্ণরূপে পৌঁছানো কঠিন।
সতর্কতা: কভারেজ শতাংশ একটি "মানের স্কোর" নয়। 100% সারি কভারেজ আপনাকে বলে যে সারিগুলি কাজ করছে; এমন নয় যে এটি সঠিক ফলাফল তৈরি করে (ইউনিট 1-এ ছদ্ম-পাস)। "আমি কখনই কোথায় দেখিনি" প্রশ্নের উত্তর হিসাবে সুযোগটি ব্যবহার করুন, "সবকিছু পরীক্ষা করা হয়েছে" এর আশ্বাস হিসাবে নয়।
স্কোপ অন্ধ দাগ
কভারেজ মেট্রিক্স শুধুমাত্র কতটা কোড কার্যকর করা হয়েছে তা পরিমাপ করে; দেখতে পারবেন না: (1) অ-পরীক্ষিত প্রয়োজনীয়তা (কোড বিদ্যমান কিন্তু ব্যবসার নিয়ম ভুল), (2) অনুপস্থিত কোড (কোন নিয়ন্ত্রণের জন্য কোন সুযোগ নেই যা কখনও লেখা হয়নি), (3) ডেটা/স্টেট সমন্বয়, (4) ব্যবহারযোগ্যতা, কর্মক্ষমতা, নিরাপত্তা। অতএব, প্রয়োজনীয় কভারেজ (প্রতিটি গ্রহণযোগ্যতার মাপকাঠি অন্তত একটি পরীক্ষা দ্বারা পূরণ করা আবশ্যক) কোড কভারেজের পাশে রাখা উচিত। এআই প্রয়োজন-পরীক্ষা ম্যাপিং (ট্রেসবিলিটি ম্যাট্রিক্স) তৈরিতে খুবই সহায়ক।
ঝুঁকি-ভিত্তিক পরীক্ষা: আমরা কোথায় চেষ্টা করব?
ঝুঁকি = সম্ভাবনা (ভাঙ্গার সম্ভাবনা) × প্রভাব (ভাঙ্গা হলে ক্ষতি)। AI দিয়ে, আপনি এই দুটি অক্ষে একটি বৈশিষ্ট্য তালিকা স্কোর করতে পারেন এবং একটি তাপ মানচিত্র তৈরি করতে পারেন। উচ্চ সম্ভাবনা × উচ্চ ডোমেইন (পেমেন্ট, প্রমাণীকরণ, ডেটা অখণ্ডতা) সবচেয়ে তীব্র পরীক্ষার প্রাপ্য; কম × নিম্ন এলাকা (কদাচিৎ ব্যবহৃত পছন্দের পর্দা) হালকা পরীক্ষা যথেষ্ট।
এলাকা
সম্ভাবনা
প্রভাব
ঝুঁকি
পরীক্ষার ঘনত্ব
পেমেন্ট প্রবাহ
মাঝারি
খুব উচ্চ
উচ্চ
গভীর + অটোমেশন
প্রমাণীকরণ
মাঝারি
খুব উচ্চ
উচ্চ
গভীর + নিরাপত্তা
পণ্য অনুসন্ধান
উচ্চ
মাঝারি
মাঝারি-উচ্চ
অটোমেশন + আবিষ্কার
প্রোফাইল ফটো
কম
কম
কম
হালকা নিয়ন্ত্রণ
সাহায্য পৃষ্ঠা
কম
খুব কম
খুব কম
পর্যালোচনা
সুযোগ তাড়া করার ফাঁদ
কভারেজ শতাংশকে একটি লক্ষ্য করা (যেমন "দলকে 90% কভারেজ পাস করতে হবে" নিয়ম) এর একটি বিপজ্জনক পার্শ্ব প্রতিক্রিয়া রয়েছে: বিকাশকারী এবং পরীক্ষকরা প্রকৃত ঝুঁকি মোকাবেলার পরিবর্তে শতাংশ বাড়ানোর দিকে মনোনিবেশ করেন। ফলাফলটি প্রায়শই একটি স্ফীত সুযোগ হয় যেখানে কোনও দাবি বা তুচ্ছ পরীক্ষা নেই — নম্বরটি দেখতে সুন্দর দেখায় তবে কোনও সুরক্ষা নেই। এটি নিজেই লক্ষ্য হয়ে উঠলে মানদণ্ডটি নষ্ট হওয়ার ঘটনাটি: "যখন একটি পরিমাপ একটি লক্ষ্য হয়ে যায়, তখন এটি একটি ভাল পরিমাপ হওয়া বন্ধ করে দেয়।" কর্মক্ষমতা রিপোর্ট কার্ড নয়, একটি ডায়গনিস্টিক টুল হিসাবে সুযোগ ব্যবহার করুন।
একটি স্বাস্থ্যকর পদ্ধতি হল স্কোপটি দিকনির্দেশনামূলকভাবে পড়া: "কেন গুরুত্বপূর্ণ পেমেন্ট মডিউলে শাখা কভারেজ 40% এ আটকে আছে?" প্রশ্ন হল "সামগ্রিক কভারেজ কি 90%?" এটি প্রশ্নের চেয়ে অনেক বেশি মূল্যবান। AI-কে মডিউল এবং ঝুঁকির স্তর দ্বারা স্কোপ রিপোর্ট ভেঙে দিতে হবে; কম কভারেজ সহ উচ্চ-ঝুঁকিপূর্ণ এলাকাগুলি হাইলাইট করুন। এইভাবে, সুযোগ একটি কম্পাসে পরিণত হয় যা অন্ধ শতাংশের পরিবর্তে শ্রমকে নির্দেশ করে।
সতর্কতা: স্লোগান "100% কভারেজ" একটি ফাঁদ। কিছু কোড পরীক্ষা করা (সাধারণ অ্যাক্সেসর, স্বয়ংক্রিয়ভাবে তৈরি অংশ) কম মূল্যের; সেখানে ব্যয় করা প্রচেষ্টা উচ্চ ঝুঁকিপূর্ণ ব্যবসার নিয়ম থেকে চুরি করা হয়। লক্ষ্য হল প্রতিটি গুরুত্বপূর্ণ আচরণ এবং ঝুঁকি পরীক্ষা করা, প্রতিটি লাইন নয়।
দুর্বল প্রম্পট / শক্তিশালী প্রম্পট
দুর্বল: "আমার পরীক্ষার কভারেজ বাড়ান।"
শক্তিশালী: "গ্রহণযোগ্যতার মানদণ্ডের এই তালিকা এবং এই বিদ্যমান পরীক্ষার ক্ষেত্রে। (1) ট্যাবুলার যা গ্রহণযোগ্যতার মানদণ্ড কোনো পরীক্ষায় পূরণ হয়নি (প্রয়োজনীয় কভারেজ গ্যাপ)। (2) সম্ভাব্যতা এবং প্রভাবের অক্ষগুলিতে প্রতিটি বৈশিষ্ট্য 1-5 স্কোর করুন; ঝুঁকি = সম্ভাব্যতা × প্রভাব অনুসারে। (3) আমার সীমিত সময়ের জন্য, আমার সীমিত সময়ের জন্য, আমি সবচেয়ে বেশি ব্যবধানের সাথে শুরু করার পরামর্শ দিচ্ছি। একমাত্র মানদণ্ড হিসাবে লাইন কভারেজ ব্যবসার ঝুঁকির মানদণ্ড: [...] পরীক্ষা: [...]"
শক্তিশালী প্রম্পট; ব্যবসায়িক ঝুঁকির সাথে সুযোগকে একত্রিত করে এবং সীমিত শ্রমকে অগ্রাধিকার দেয়।
চারটি অনুলিপিযোগ্য টেমপ্লেট
1) প্রয়োজনীয়তার সুযোগের ফাঁক:
নিম্নলিখিত গ্রহণযোগ্যতা মানদণ্ড এবং এই পরীক্ষার ক্ষেত্রে দেওয়া. একটি ট্রেসেবিলিটি টেবিল তৈরি করুন: প্রতিটি মানদণ্ড -> পরীক্ষা(গুলি) যা এটি পূরণ করে। যে মাপকাঠিতে কোনো পরীক্ষা নেই তাকে "কভারেজ গ্যাপ" বলা হয় এবং যে পরীক্ষাগুলি কোনো মানদণ্ডের সাথে সংযোগ করে না তাকে "প্রয়োজনীয়?" মার্ক: মানদণ্ড: [...] / পরীক্ষা: [...]
2) ঝুঁকি স্কোরিং:
সম্ভাব্যতা (ভাঙ্গার সম্ভাবনা) এবং প্রভাব (ভাঙ্গা হলে ক্ষতি) অক্ষের উপর বৈশিষ্ট্য/মডিউলের এই তালিকা 1-5 স্কোর করুন। ঝুঁকি = সম্ভাবনা × প্রভাব। একটি টেবিলে বাছাই করুন এবং প্রতিটি উচ্চ-ঝুঁকিপূর্ণ এলাকার জন্য প্রস্তাবিত পরীক্ষার ধরন (ইউনিট/এপিআই/ইউআই/রিকোনাইস্যান্স/নিরাপত্তা) নির্দিষ্ট করুন। তালিকা: [...]
3) ব্যাপ্তি ব্যাখ্যা:
নিম্নলিখিত কভারেজ রিপোর্ট দেওয়া হয়েছিল (লাইন %, শাখা %)। আমাকে বলুন:- এই সংখ্যাগুলি কী প্রমাণ করে না?- উচ্চ সারি কভারেজ থাকা সত্ত্বেও ঝুঁকির মধ্যে থাকতে পারে এমন ক্ষেত্রগুলি কী কী?- কভারেজ দেখতে পায় না এমন ফাঁকগুলির জন্য আপনি কী অতিরিক্ত পরীক্ষার সুপারিশ করবেন (প্রয়োজনীয়তা, ডেটা সংমিশ্রণ, নিরাপত্তা)? প্রতিবেদন: [পেস্ট]
4) সীমিত সময়ের পরিকল্পনা:
সম্প্রচার হতে [X ঘন্টা] বাকি। নিম্নলিখিত ঝুঁকি র্যাঙ্কিং এবং কভারেজ ফাঁক দেওয়া হয়. এই সময়ের মধ্যে, সর্বোচ্চ ঝুঁকি কমাতে পারে এমন পরীক্ষার পরিকল্পনা অগ্রাধিকার অনুসারে প্রস্তুত করা হয়। কি কি সচেতনভাবে পরীক্ষা করা উচিত নয় এবং তা করার গৃহীত ঝুঁকি স্পষ্টভাবে বলুন। ডেটা: [...]
তিনটি মিনি কেস
কেস 1 - 100% কভারেজ, শূন্য বিশ্বাস। একটি দল 94% লাইন কভারেজ গর্বিত. "স্কোপ ইন্টারপ্রিটেশন" বিশ্লেষণে দেখা গেছে যে বেশিরভাগ পরীক্ষাই জাহির-কম ছিল, যার অর্থ তারা লাইন চালিয়েছিল কিন্তু কিছুই যাচাই করেনি। প্রকৃত প্রতিরক্ষামূলক কভারেজ অনেক কম ছিল। দলটি সংখ্যার উপর নয় বরং মিউটেশন পরীক্ষায় (ইউনিট 10); প্রকৃত ত্রুটি ধরার হার দ্বিগুণ।
কেস 2 — ঝুঁকি মানচিত্র অগ্রাধিকার সংশোধন করা হয়েছে. একটি দল তাদের পরীক্ষার প্রচেষ্টার 40% একটি বিরল ব্যবহৃত রিপোর্টিং স্ক্রিনে ব্যয় করছে, অর্থপ্রবাহকে এড়িয়ে যাচ্ছে কারণ এটি "শুধু কাজ করে"। এআই ঝুঁকি স্কোরিং এই ভারসাম্যহীনতা দেখিয়েছে। শ্রম পুনর্বন্টন করা হয়েছিল; দুই সপ্তাহ পরে পেমেন্ট প্রবাহে একটি উচ্চ প্রভাবের বাগ পাওয়া গেছে এবং প্রাক-লাইভ বন্ধ করা হয়েছে।
কেস 3 - সুযোগের বাইরে সচেতন। প্রকাশের 4 ঘন্টা পরে, দলটি "সীমিত সময়সূচী" টেমপ্লেটের সাথে কী পরীক্ষা করবে এবং কী সচেতনভাবে এড়িয়ে যাবে তা সিদ্ধান্ত নিয়েছে৷ দুটি উচ্চ-ঝুঁকিপূর্ণ প্রবাহ গভীরভাবে পরীক্ষা করা হয়েছিল; একটি কম-ঝুঁকি পছন্দের স্ক্রীনকে "স্বীকৃত ঝুঁকি" হিসাবে নথিভুক্ত করা হয়েছে এবং এড়িয়ে যাওয়া হয়েছে। সিদ্ধান্তটি স্বচ্ছ এবং যুক্তিযুক্ত ছিল; সংস্করণটি নিরাপদে বেরিয়ে এসেছে।
সাধারণ ভুল
- মানের জন্য ভুল কভারেজ শতাংশ. "পরীক্ষিত" আশ্বাস হিসাবে উচ্চ সারি কভারেজ পড়া।
- শুধু কোড কভারেজ দেখছেন. প্রয়োজনীয় কভারেজ এড়িয়ে যাওয়া (প্রতিটি গ্রহণযোগ্যতার মানদণ্ডের পরীক্ষা)।
- ঝুঁকি বিবেচনা না করে সমানভাবে পরীক্ষা করা। কম ঝুঁকিপূর্ণ এলাকায় শ্রম বরাদ্দ করা এবং সমালোচনামূলক প্রবাহকে উপেক্ষা করা।
- সুযোগের বাইরে লুকানো। যখন পর্যাপ্ত সময় ছিল না তখন কী পরীক্ষা করা হয়নি তা নথিভুক্ত না করা; রিলিজ-পরবর্তী চমক।
- প্রশ্ন ছাড়াই AI এর ঝুঁকিপূর্ণ স্কোর গ্রহণ করা। AI সম্পূর্ণরূপে পণ্যের প্রসঙ্গ জানে না; বিশেষজ্ঞ চোখ দিয়ে স্কোর সামঞ্জস্য করুন।
সংক্ষেপে
পরীক্ষার কভারেজ এবং ঝুঁকি-ভিত্তিক পরীক্ষা সঠিক জায়গায় সীমিত প্রচেষ্টাকে নির্দেশ করার দুটি হাতিয়ার। কভারেজ মেট্রিক্স (লাইন, শাখা, অবস্থা, পথ) দেখায় কি স্পর্শ করা হয়েছে কিন্তু প্রমাণ করে না যে এটি সঠিকভাবে আচরণ করেছে; স্কোপ একটি মানচিত্র, বিশ্বাস নয়। কোড কভারেজের পাশে প্রয়োজনীয় কভারেজ রাখুন। সূত্র ঝুঁকি = সম্ভাব্যতা × প্রভাব এবং সর্বাধিক ঝুঁকির সরাসরি প্রচেষ্টা সহ বৈশিষ্ট্যগুলি স্কোর করুন। AI ফাঁকগুলি দৃশ্যমান করে, স্কোর ঝুঁকি, সীমিত সময়ের পরিকল্পনা করে; কিন্তু চূড়ান্ত অগ্রাধিকার এবং "সচেতন অপ্ট-আউট" সিদ্ধান্তটি সেই বিশেষজ্ঞের সাথে থাকে যিনি ব্যবসার প্রেক্ষাপট জানেন।
আবেদন টাস্ক
আপনার নিজের প্রকল্প থেকে একটি মডিউল চয়ন করুন. এআই-এর সাথে "প্রয়োজনীয়তা স্কোপ গ্যাপ" টেমপ্লেটটি চালান এবং কোন স্বীকৃতির মানদণ্ড পরীক্ষা করা হয়নি তা খুঁজে বের করুন। তারপর "ঝুঁকি স্কোরিং" সহ সম্ভাব্যতা × প্রভাব অক্ষের উপর মডিউলের উপ-বৈশিষ্ট্যগুলিকে র্যাঙ্ক করুন। আপনার কাছে "সীমিত সময়সূচী" সহ (অনুমানিক) 3 ঘন্টা পরীক্ষার সময় বিতরণ করুন; আপনি সচেতনভাবে কি পরীক্ষা করবেন না এবং গৃহীত ঝুঁকি লিখুন। একটি কংক্রিট পরীক্ষা যোগ করুন যা আপনার খুঁজে পাওয়া সর্বোচ্চ-ঝুঁকিপূর্ণ কভারেজ ফাঁক বন্ধ করবে।
চেকলিস্ট
- [ ] আমি মানচিত্র হিসাবে কভারেজ শতাংশ পড়ি, গুণমান নয়।
- [ ] কোড কভারেজ ছাড়াও, আমি প্রয়োজনীয় কভারেজটিও সরিয়ে দিয়েছি।
- [ ] আমি সম্ভাব্যতা × প্রভাব দ্বারা বৈশিষ্ট্যগুলি স্কোর করেছি এবং ঝুঁকির ভিত্তিতে সেগুলিকে র্যাঙ্ক করেছি৷
- [ ] আমি পরীক্ষার প্রচেষ্টাকে সর্বোচ্চ ঝুঁকিতে পুনঃনির্দেশিত করেছি৷
- [ ] আমি এমন এলাকা নথিভুক্ত করেছি যা সচেতনভাবে পরীক্ষা করা হয়নি এবং ঝুঁকি স্বীকার করেছি।
- [ ] আমি আমার পণ্যের প্রসঙ্গের উপর ভিত্তি করে AI এর ঝুঁকির স্কোর পর্যালোচনা করেছি।