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