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