এআই টেস্টিং ট্র্যাপ
আপনি কাউকে বলতে শুনলেন "আমরা এই কোয়ার্টারে ৪০% বেশি টেস্ট শিপ করেছি" এবং সবাই মাথা নাড়ল।
আমি টোকিওতে একটি SaaS কোম্পানিতে এটি ঘটতে দেখেছি। QA লিড গর্বিত ছিলেন। ম্যানেজমেন্ট খুশি ছিল। পাইপলাইন গ্রিন ছিল।
ছয় সপ্তাহ পরে, একটি পেমেন্ট সিস্টেম ৭২ ঘণ্টার জন্য অচল হয়ে গেল। কেউ এটি লক্ষ্য করেনি কারণ AI এমন টেস্ট লিখেছিল যা "সঠিক ডেটা" যাচাই করার পরিবর্তে কেবল "কোনো এরর নেই" তা পরীক্ষা করছিল।
এটিই হলো টেস্টিং ব্লাইন্ডনেস (Testing Blindness)।
এটি তখন ঘটে যখন আপনার টিম অনেক টেস্ট তৈরি করে কিন্তু সেই টেস্টগুলো কখন আপনাকে ভুল তথ্য দিচ্ছে তা বুঝতে পারে না। AI টেস্ট কভারেজকে টেস্ট কোয়ালিটি বলে ভুল করা সহজ করে তোলে।
Qiita-তে একটি সাম্প্রতিক পোস্ট ঠিক এই সংগ্রামের কথাই তুলে ধরেছে। একজন ইঞ্জিনিয়ার কোনো অটোমেশন নেই এমন প্রজেক্ট সামলাতে AI ব্যবহার করেছিলেন। টেস্টগুলো দ্রুত তৈরি হচ্ছিল। মেট্রিক্সগুলো দেখতে দারুণ লাগছিল।
কিন্তু ইঞ্জিনিয়ারকে ম্যানুয়ালি Playwright এবং API টেস্টিং শিখতে হয়েছিল। কেন? কারণ AI সিনট্যাক্স লিখতে পারলেও সিস্টেমটি কীভাবে কাজ করে তা বুঝতে পারত না।
টেস্টিং ব্লাইন্ডনেসের তিনটি প্রধান লক্ষণ রয়েছে:
• Assertion Atrophy: টেস্টগুলো পাস হয় কারণ সেগুলো কেবল দেখে কোডটি ক্র্যাশ করছে কি না, এটি নয় যে এটি সঠিকভাবে কাজ করছে কি না। • Boundary Case Blindness: AI "happy paths"-এর ওপর ফোকাস করে। এটি null ইনপুট বা race condition-এর মতো edge case-গুলো মিস করে। • Regression Confidence Inflation: টেস্টের সংখ্যা দ্বিগুণ হওয়ায় আপনি নিরাপদ বোধ করেন। বাস্তবে, আপনি কেবল আপনার ভুল আত্মবিশ্বাসকে দ্বিগুণ করেছেন।
আমার অভিজ্ঞতা অনুযায়ী, AI ব্যবহার করে টিমগুলো কয়েক মাসের মধ্যে শূন্য টেস্ট থেকে ১,২০০ টেস্টে পৌঁছে যায়। রিপোর্টগুলো দেখতে নিখুঁত লাগে। কিন্তু প্রকৃত বাগ শনাক্ত করার হার কমে যায়।
জাপানে, ম্যানেজমেন্ট এবং প্রসেসের (kanri) ওপর গুরুত্বারোপ এই উচ্চ সংখ্যাগুলোকে সাফল্যের মতো মনে করাতে পারে। পশ্চিমে, টিমগুলো প্রায়ই টেস্ট বাদ দেয় কারণ AI এটি সহজ করে দিয়েছে। উভয় পথই প্রোডাকশন ফেইলিউরের দিকে নিয়ে যায়।
AI মেট্রিক্সের জন্য অপ্টিমাইজ করে কিন্তু আপনার ডিবাগ করার ক্ষমতাকে ক্ষতিগ্রস্ত করে।
আপনি যদি QA-তে AI ব্যবহার করেন, তবে এই নিয়মগুলো অনুসরণ করুন:
- প্রতি সপ্তাহে টেস্ট অডিট করুন: ৫টি র্যান্ডম AI টেস্ট বেছে নিন। নিজেকে প্রশ্ন করুন: "কী কারণে এই টেস্টটি ভুলভাবে পাস হতে পারে?" যদি আপনি দ্রুত উত্তর দিতে না পারেন, তবে আপনার একটি ব্লাইন্ড স্পট রয়েছে।
- একটি বাউন্ডারি কোটা সেট করুন: প্রতি ১০টি AI টেস্টের জন্য ম্যানুয়ালি ২টি edge case টেস্ট লিখুন।
- ৩টার টেস্ট (3am test) ব্যবহার করুন: নিজেকে প্রশ্ন করুন এই টেস্টগুলো রাত ৩টার সময় কোনো ফেইলিউর ধরতে পারবে কি না। যদি আপনি নিশ্চিত না হন, তবে সেগুলো যথেষ্ট ভালো নয়।
- একটি মডিউল ম্যানুয়াল রাখুন: একটি গুরুত্বপূর্ণ সেকশন হাতে পরীক্ষা করুন। এটি আপনার ডিবাগিং স্কিলকে তীক্ষ্ণ রাখে।
টেস্টের পরিমাণকে টেস্ট কোয়ালিটি বলে ভুল করবেন না। দক্ষতা বা এফিসিয়েন্সি যেন বিচারবুদ্ধির জায়গা দখল না করে। যে টেস্টগুলো আপনাকে রক্ষা করবে, সেগুলো হলো সেই টেস্টগুলো যা আপনি আসলে বোঝেন।
AI ব্যবহার করার পর আপনার টিমে কি টেস্টিং কোয়ালিটি কমেছে? আপনার অভিজ্ঞতা নিচে শেয়ার করুন।
ঐচ্ছিক লার্নিং কমিউনিটি: https://t.me/GyaanSetuAi