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