ব্ল্যাক বক্স এবং হোয়াইট বক্স টেস্টিং (Black Box & White Box Testing)
🔹 ব্ল্যাক বক্স টেস্টিং (Black Box Testing)
সংজ্ঞা:
ব্ল্যাক বক্স টেস্টিং এমন একটি টেস্টিং পদ্ধতি যেখানে সফটওয়্যারের অভ্যন্তরীণ কোড, স্ট্রাকচার বা লজিক না দেখে শুধু ইনপুট ও আউটপুট যাচাই করা হয়।
বৈশিষ্ট্য:
- সফটওয়্যারের ফাংশনালিটি পরীক্ষা করা হয়
- কোড বা ইমপ্লিমেন্টেশন সম্পর্কে জানার দরকার নেই
- টেস্ট কেস ব্যবহারকারী বা টেস্টার তৈরি করতে পারেন
উদাহরণ:
ধরা যাক, আপনি একটি লগইন সিস্টেম টেস্ট করছেন। আপনি সঠিক ইউজারনেম ও পাসওয়ার্ড দিলে লগইন হচ্ছে কিনা, ভুল তথ্য দিলে এরর মেসেজ দেখাচ্ছে কিনা – এই বিষয়গুলো ব্ল্যাক বক্স টেস্টিং দ্বারা যাচাই করা হয়।
প্রকারভেদ:
- ফাংশনাল টেস্টিং – সফটওয়্যার ফিচারগুলো ঠিকমতো কাজ করছে কিনা পরীক্ষা করা হয়
- নন-ফাংশনাল টেস্টিং – পারফরম্যান্স, সিকিউরিটি, ইউজার এক্সপেরিয়েন্স পরীক্ষা করা হয়
🔹 হোয়াইট বক্স টেস্টিং (White Box Testing)
সংজ্ঞা:
হোয়াইট বক্স টেস্টিং এমন একটি টেস্টিং পদ্ধতি যেখানে সফটওয়্যারের কোড, লজিক ও স্ট্রাকচার যাচাই করা হয়।
বৈশিষ্ট্য:
- অভ্যন্তরীণ কোড বিশ্লেষণ করা হয়
- টেস্টারকে প্রোগ্রামিং জানা থাকতে হয়
- সফটওয়্যারের সিকিউরিটি ও কোড অপটিমাইজেশন যাচাই করা হয়
উদাহরণ:
ধরা যাক, আপনি একটি লুপ পরীক্ষা করছেন। যদি কোনো লুপ ৫ বার চলার কথা কিন্তু কোড ভুলের কারণে ৬ বার চলছে, তাহলে এটি হোয়াইট বক্স টেস্টিংয়ের মাধ্যমে ধরা পড়বে।
প্রকারভেদ:
- স্টেটমেন্ট কভারেজ – প্রতিটি স্টেটমেন্ট অন্তত একবার এক্সিকিউট হচ্ছে কিনা
- ব্রাঞ্চ কভারেজ – প্রতিটি কন্ডিশনের সব সম্ভব পথ পরীক্ষা করা হয়
🔥 ব্ল্যাক বক্স বনাম হোয়াইট বক্স টেস্টিং
বৈশিষ্ট্য | ব্ল্যাক বক্স টেস্টিং | হোয়াইট বক্স টেস্টিং |
---|---|---|
কোড অ্যাক্সেস | কোড দেখা যায় না | কোড বিশ্লেষণ করা হয় |
কারা করে? | ম্যানুয়াল বা অটোমেটেড টেস্টার | ডেভেলপার বা টেস্ট ইঞ্জিনিয়ার |
লক্ষ্য | ফাংশনালিটি টেস্ট করা | কোড স্ট্রাকচার ও লজিক টেস্ট করা |
প্রকারভেদ | ফাংশনাল, নন-ফাংশনাল | স্টেটমেন্ট, ব্রাঞ্চ কভারেজ |
✅ উপসংহার:
- যদি আপনি ইউজার পার্সপেক্টিভ থেকে সফটওয়্যার টেস্ট করতে চান, তাহলে ব্ল্যাক বক্স টেস্টিং উপযুক্ত।
- যদি আপনি কোড এনালাইসিস ও অপটিমাইজেশন করতে চান, তাহলে হোয়াইট বক্স টেস্টিং দরকার।
- সফটওয়্যার টেস্টিংয়ে দুই ধরনের টেস্টই গুরুত্বপূর্ণ, কারণ ফাংশনালিটি ও কোড কোয়ালিটি দুটিই নিশ্চিত করতে হবে।