একটা ফেক ডেটা জেনারেটর আসলে কী করে
আপনি একটা সাইন-আপ ফর্ম, একটা CRM টেবিল, বা একটা CSV ইমপোর্ট ফ্লো বানাচ্ছেন, আর আপনার এটাকে কিছু দিয়ে ভরা দরকার। "test test test"-এর তিনটা সারি নয় যা আপনাকে কিছু বলে না, বরং কয়েকশ রেকর্ড যা দেখতে আসল গ্রাহকের মতো লাগে: প্রশংসনীয় নাম, কাজ করছে বলে মনে হওয়া ইমেইল, সঠিক প্যাটার্ন অনুসরণ করা রাস্তার ঠিকানা, বিচক্ষণ ফরম্যাটিংসহ ফোন নম্বর। এটাই একটা ফেক ডেটা জেনারেটরের কাজ। এটা এমন রেকর্ড তৈরি করে যা আসল মানুষের মতো দেখায় অথচ তাদের কারো নয়।
দল ভেদে মানুষ একে ভিন্ন নামে ডাকে। মক ডেটা, ডামি ডেটা, স্যাম্পল ডেটা, সিন্থেটিক ডেটা, টেস্ট ফিক্সচার। ধারণা একই। আপনি বাস্তবসম্মত দেখতে মান পান যা আপনি একটা ডেটাবেজ, একটা ফর্ম, একটা API, বা একটা ডেমো স্ক্রিনের উপর ফেলতে পারেন, যাতে আপনার সফটওয়্যার কেমন আচরণ করে দেখতে পারেন যখন এটা আসলেই একটা লোড বহন করছে, খালি বসে থাকার বদলে।

কেন এটা আপনার দরকার
একটা খালি অ্যাপ আপনার কাছে মিথ্যা বলে। যেসব লেআউট একটা সারি দিয়ে ঠিক দেখায় সেগুলো ভেঙে যায় যখনই একটা নাম লম্বা হয় বা একটা ঠিকানা দ্বিতীয় লাইনে চলে যায়। পেজিনেশন, সর্টিং, সার্চ, এবং ওভারফ্লো হ্যান্ডলিং ভলিউম না থাকা পর্যন্ত পরীক্ষা হয় না। তাই প্রথম কারণ হলো সহজ ডেভেলপমেন্ট: আপনি চান আপনার স্ক্রিনগুলো বাস্তবসম্মত কনটেন্টের মুখোমুখি হোক যখন আপনি সেগুলো এখনো তৈরি করছেন।
QA এর উপর আরও বেশি নির্ভর করে। ভালো টেস্ট ডেটা ইচ্ছাকৃতভাবে অদ্ভুত কেসগুলো কভার করে। লম্বা নাম, উচ্চারণ চিহ্নযুক্ত অক্ষর, অ্যাপার্টমেন্ট নম্বরসহ ঠিকানা, এমন একটা ফোন ফরম্যাট যা আপনার ভ্যালিডেটর এখনো দেখেনি। কয়েক হাজার সারি তৈরি করলে আপনি জিনিসটা লোড টেস্ট করতে পারেন, শুধু বড় স্কেলে দেখা দেওয়া বাগ প্রকাশ করতে পারেন, এবং নিশ্চিত করতে পারেন যে ইমপোর্ট রুটিন আটকে যায় না। ডেমো তৃতীয় কারণ। একটা সেলস স্ক্রিন বা স্ক্রিনশট বিশ্বাসযোগ্য মানুষ দিয়ে ভরা থাকলে প্লেসহোল্ডার অর্থহীনতার চেয়ে অনেক বেশি প্রত্যয়ী দেখায়, আর আপনি যতবার ইচ্ছা এটা পুনরায় তৈরি করতে পারেন।
কখনো আসল ব্যবহারকারীর ডেটা দিয়ে টেস্ট করবেন না
এই অংশটা কঠোর হওয়ার মতো। আপনার প্রোডাকশন ডেটাবেজের একটা অংশ স্টেজিংয়ে কপি করার লোভ হতে পারে কারণ এটা ঠিক সেখানেই আছে আর এটা ইতিমধ্যে বাস্তবসম্মত। করবেন না। আসল রেকর্ড হলো আসল PII: প্রকৃত মানুষের সাথে যুক্ত আসল নাম, ইমেইল, ফোন নম্বর, এবং ঠিকানা। যে মুহূর্তে সেই ডেটা একটা টেস্ট এনভায়রনমেন্টে, একটা শেয়ার করা স্প্রেডশিটে, একটা টিকিটের স্ক্রিনশটে, বা একটা বাগ রিপোর্টে পড়ে, আপনি একটা ফাঁসের জন্য ব্লাস্ট রেডিয়াস প্রসারিত করে ফেলেছেন এবং খুব সম্ভবত একটা গোপনীয়তার সীমা অতিক্রম করে ফেলেছেন।
সিন্থেটিক ডেটা এসবের সবকিছু এড়িয়ে যায়। কারো পরিচয় প্রকাশ হয় না কারণ সেটে কোনো আসল মানুষ নেই। আপনি এটা একটা পাবলিক ডেমোতে পেস্ট করতে পারেন, একটা সাপোর্ট থ্রেডে যুক্ত করতে পারেন, বা দ্বিতীয়বার না ভেবে একজন কন্ট্রাক্টরকে দিতে পারেন। ফেক ডেটা এখানে শুধু সুবিধাজনক নয়, এটা দায়িত্বশীল ডিফল্ট। প্রোডাকশন ডেটাবেজ ছাড়া সবখানে এটা ব্যবহার করুন।
আপনি কী ধরনের ডেটা তৈরি করতে পারেন
একটা ভালো জেনারেটর সাধারণ আকারগুলো কভার করে যা আপনি বারবার খোঁজেন: পূর্ণ নাম আর আলাদা করে প্রথম ও শেষ নাম, ইমেইল ঠিকানা, শহর ও পোস্টাল কোডসহ রাস্তার ঠিকানা, ফোন নম্বর, তারিখ, ব্যবহারকারীর নাম, কোম্পানির নাম, এবং সংখ্যাগত আইডি। মানগুলো বাস্তব-জগতের ফরম্যাট অনুসরণ করে, তাই একটা ইমেইল দেখতে ইমেইলের মতো লাগে আর একটা পোস্টাল কোড একটা আসল কোডের মোটামুটি প্যাটার্নের সাথে মেলে। সেই ফরম্যাটিংই ডেটাকে দরকারী করে তোলে, কারণ একটা ভ্যালিডেটর যা আবর্জনা প্রত্যাখ্যান করে সেটা এগুলো গ্রহণ করবে।
কৌশলটা হলো এটা সবই নাম তালিকা, ডোমেইন প্যাটার্ন, এবং ঠিকানা টেমপ্লেট থেকে এলোমেলোভাবে একত্রিত। প্রতিটা রেকর্ড তৎক্ষণাৎ জোড়া লাগানো হয়, যার মানে আপনি রিজেনারেট চাপলেই প্রতিবার একটা নতুন ব্যাচ পাবেন। এখন পঞ্চাশটা সারি দরকার আর এক ঘণ্টা পরে ভিন্ন পঞ্চাশটা? কোনো সমস্যা নেই, আর ভুলবশত একজন আসল মানুষকে পুনরায় ব্যবহার করার কোনো ঝুঁকি নেই, কারণ শুরু থেকেই কোনো আসল মানুষ কখনো ছিল না।

এটা সম্পূর্ণভাবে আপনার ব্রাউজারে চলে
এই টুল সবকিছু স্থানীয়ভাবে তৈরি করে। এলোমেলো নাম, ইমেইল, এবং ঠিকানা সরাসরি আপনার ব্রাউজারে আপনার ডিভাইস ব্যবহার করে তৈরি হয়, আর আপনি যা তৈরি করেন তার কিছুই কোনো সার্ভারে পাঠানো হয় না বা কোথাও সংরক্ষিত হয় না। এটা দুটো কারণে গুরুত্বপূর্ণ। এটা দ্রুত, কারণ কোনো রাউন্ড ট্রিপ নেই, আর এটা ব্যক্তিগত, কারণ কোনো আপলোড নিয়ে চিন্তা নেই। যা দরকার তৈরি করুন, কপি করুন, আরও দরকার হলে রিফ্রেশ করুন। একটা ওয়ার্কফ্লো সম্পূর্ণ করতে চাইলে, আমাদের সব জেনারেটর বা ফরম্যাটিং ও রূপান্তরের মতো জিনিসের জন্য বৃহত্তর ডেভেলপার টুল সেট দেখুন।
প্রায়ই জিজ্ঞাসিত প্রশ্ন
তৈরি করা ডেটা কি আসল মানুষের উপর ভিত্তি করে?
না। প্রতিটা রেকর্ড এলোমেলোভাবে নাম তালিকা, ডোমেইন প্যাটার্ন, এবং ঠিকানা টেমপ্লেট থেকে একত্রিত। মানগুলো বাস্তবসম্মত দেখাতে ডিজাইন করা হয়েছে, কিন্তু এগুলো কোনো আসল মানুষের সাথে সম্পর্কিত নয়, তাই এতে কোনো PII জড়িত নেই।
টেস্টিংয়ের জন্য কেন আসল ব্যবহারকারীর ডেটা ব্যবহার করা উচিত নয়?
আসল রেকর্ড হলো প্রকৃত মানুষের সাথে যুক্ত ব্যক্তিগত ডেটা। এটা একটা টেস্ট এনভায়রনমেন্টে, স্ক্রিনশটে, বা বাগ রিপোর্টে বসার সাথে সাথেই, আপনি একটা গোপনীয়তা ও ফাঁসের ঝুঁকি তৈরি করে ফেলেছেন। সিন্থেটিক ডেটা সেই এক্সপোজার ছাড়াই বাস্তবসম্মত মান দেয়।
টুলটা কি আমার ডেটা কোথাও পাঠায়?
না। তৈরি করার প্রক্রিয়া সম্পূর্ণভাবে আপনার নিজের ডিভাইসে, আপনার ব্রাউজারে ঘটে। কিছুই সার্ভারে আপলোড করা হয় না আর কিছুই সংরক্ষণ করা হয় না। আপনি যতবার ইচ্ছা তৈরি করুন, কপি করুন, এবং রিফ্রেশ করুন।
আমি কী ধরনের ফেক ডেটা তৈরি করতে পারি?
সাধারণগুলোর মধ্যে আছে নাম, ইমেইল, রাস্তার ঠিকানা, ফোন নম্বর, তারিখ, ব্যবহারকারীর নাম, কোম্পানির নাম, এবং সংখ্যাগত আইডি। প্রতিটাই একটা বাস্তব-জগতের ফরম্যাট অনুসরণ করে যাতে এটা সাধারণ ভ্যালিডেশন পাস করে।
আমি কি লোড টেস্টিংয়ের জন্য একটা বড় ব্যাচ তৈরি করতে পারি?
হ্যাঁ। এটা এলোমেলো ও স্থানীয় বলে, একটা ডেটাবেজ ভরতে বা একটা ইমপোর্ট রুটিন স্ট্রেস টেস্ট করতে যতবার দরকার ততবার নতুন ব্যাচ তৈরি করতে পারেন।
এটা কি সত্যিই বিনামূল্যে ব্যবহার করা যায়?
হ্যাঁ। কোনো রেজিস্ট্রেশন নেই আর কোনো সীমা নেই। আপনার দরকারি ডেটা তৈরি করুন, কপি করুন, আর আরও দরকার হলে যেকোনো সময় ফিরে আসুন।
