আমরা কোনও প্রোগ্রামের আচরণের সঠিকতা যাচাই করতে পরীক্ষা লিখি।
আপনার চোখ ব্যবহার করে আউটপুট স্টেটমেন্টের সামগ্রীটি পরীক্ষা করে কোনও প্রোগ্রামের আচরণের নির্ভুলতা যাচাই করা হ'ল ম্যানুয়াল বা আরও বিশেষত দর্শনীয় প্রক্রিয়া।
আপনি যে তর্ক করতে পারে
ভিজ্যুয়াল ইন্সপেকশন কাজ করে , আমি যাচাই করি যে কোডগুলি এই পরিস্থিতিতেগুলির জন্য যা বোঝাতে চেয়েছিল তা করে এবং একবার যদি আমি দেখতে পাই এটি সঠিক হয় তবে আমরা ভাল।
এখন প্রথমত, কোডটি সঠিকভাবে কাজ করে কি না সে বিষয়ে আপনি আগ্রহী তা আপনার পক্ষে দুর্দান্ত। সেটা একটা ভাল জিনিস. আপনি বক্ররেখার চেয়ে এগিয়ে! দুঃখের বিষয়, একটি পদ্ধতির হিসাবে এটিতে সমস্যা রয়েছে।
ভিজ্যুয়াল ইন্সপেকশনের প্রথম সমস্যাটি হ'ল আপনি কখনই আপনার কোডের সঠিকতা যাচাই করতে সক্ষম না হয়ে একটি খারাপ ldালাই দুর্ঘটনা।
দ্বিতীয় সমস্যাটি হ'ল ব্যবহৃত জোড়া চোখ দু'টির মালিকের মস্তিষ্কের সাথে শক্তভাবে মিলিত হয়। কোডের লেখক যদি ভিজ্যুয়াল ইন্সপেকশন প্রক্রিয়ায় ব্যবহৃত চোখেরও মালিক হন, তবে নির্ভুলতা যাচাইয়ের প্রক্রিয়াটি ভিজ্যুয়াল ইন্সপেক্টরের মস্তিষ্কের অভ্যন্তরীণ প্রোগ্রাম সম্পর্কে জ্ঞানের উপর নির্ভরশীলতা রাখে।
নতুন জোড়া চোখের পক্ষে আসা এবং কোডের যথার্থতা যাচাই করা সহজ কারণ তারা মূল কোডারের মস্তিষ্কের সাথে অংশীদারি না করে। প্রশ্নের দ্বিতীয় কোডটি সম্পূর্ণরূপে বুঝতে দ্বিতীয় চোখের মালিককে কোডটির মূল লেখকের সাথে কথা বলতে হবে । জ্ঞান ভাগ করে নেওয়ার মাধ্যম হিসাবে কথোপকথন কুখ্যাতভাবে বিশ্বাসযোগ্য নয়। অরিজিনাল কোডারটি নতুন জুটির চোখের কাছে অনুপলব্ধ থাকে তবে এমন এক বিন্দুটি মোড। এই দৃষ্টিতে নতুন জোড়া চোখের মূল কোডটি পড়তে হবে।
ইউনিট পরীক্ষাগুলি দ্বারা আবৃত নয় এমন অন্যান্য ব্যক্তির কোড পড়া পড়া ইউনিট পরীক্ষার সাথে সম্পর্কিত কোড পড়ার চেয়ে আরও বেশি কঠিন is অন্যান্য লোকের কোডটি সর্বোত্তমভাবে পড়া মুশকিল কাজ, সবচেয়ে খারাপ সময়ে এটি সফ্টওয়্যার ইঞ্জিনিয়ারিংয়ের সবচেয়ে জটিল কাজ। এর একটি কারণ রয়েছে যে নিয়োগকর্তারা, যখন চাকরির শূন্যপদগুলির বিজ্ঞাপন দেওয়ার সময় চাপ দেয় যে কোনও প্রকল্প গ্রিনফিল্ড (বা একেবারে নতুন)। স্ক্র্যাচ থেকে কোড লিখন বিদ্যমান কোড সংশোধন করার চেয়ে সহজ এবং এর ফলে বিজ্ঞাপনযুক্ত কাজটি সম্ভাব্য কর্মীদের কাছে আরও আকর্ষণীয় দেখাবে।
ইউনিট পরীক্ষার মাধ্যমে আমরা কোডটিকে তার উপাদানগুলির মধ্যে ভাগ করে দেই। প্রতিটি উপাদানগুলির জন্য আমরা প্রোগ্রামটি কীভাবে আচরণ করা উচিত তা উল্লেখ করে আমাদের স্টল সেট আপ করেছিলাম । প্রতিটি ইউনিট পরীক্ষা প্রোগ্রামের অংশটি একটি নির্দিষ্ট দৃশ্যে কীভাবে কাজ করবে সে সম্পর্কে একটি গল্প বলে। প্রতিটি ইউনিট পরীক্ষাটি চুক্তির একটি ধারাটির মতো যা ক্লায়েন্ট কোডের দৃষ্টিকোণ থেকে কী ঘটবে তা বর্ণনা করে।
তারপরে এর অর্থ হ'ল একটি নতুন জুটির চোখের প্রশ্নের মধ্যে কোডে দুটি স্ট্রাইভ লাইভ এবং সঠিক ডকুমেন্টেশন রয়েছে।
প্রথমে তাদের কোড রয়েছে, বাস্তবায়ন হচ্ছে, কোডটি কীভাবে করা হয়েছিল ; দ্বিতীয়টি তাদের কাছে সমস্ত জ্ঞান রয়েছে যা মূল কোডার আনুষ্ঠানিক বিবৃতিগুলির একটি সেটে বর্ণিত হয় যা এই কোডটি কীভাবে আচরণ করা উচিত তার গল্পটি বলে।
ইউনিট পরীক্ষাগুলি ক্লাসটি প্রয়োগ করার সময় মূল লেখকের কাছে থাকা জ্ঞানকে ক্যাপচার এবং আনুষ্ঠানিকভাবে বর্ণনা করে। ক্লায়েন্ট যখন ব্যবহার করে তখন সেই শ্রেণিটি কী আচরণ করে তার একটি বিবরণ তারা সরবরাহ করে।
আপনি এটি করার উপযোগিতা সম্পর্কে প্রশ্ন করা ঠিক করেছেন কারণ একক পরীক্ষাগুলি লিখতে পারবেন যা অকেজো, সমস্ত কোড প্রশ্নবিদ্ধভাবে আবরণ করবেন না, বাসি বা পুরানো হয়ে গেছে ইত্যাদি। আমরা কীভাবে নিশ্চিত করব যে ইউনিট পরীক্ষাগুলি কেবল নকল করে না তবে জ্ঞানসম্মত, বিবেকবান লেখক দৃষ্টিশক্তিভাবে রানটাইমের সময় তাদের কোডের আউটপুট বিবৃতি পরিদর্শন করে প্রক্রিয়াটির উপরে উন্নতি করে? প্রথমে ইউনিট পরীক্ষা লিখুন তারপরে সেই পরীক্ষার পাস করার জন্য কোডটি লিখুন। আপনি যখন সমাপ্ত হন, কম্পিউটারগুলি পরীক্ষা চালাতে দিন, তারা দ্রুততার সাথে পুনরাবৃত্তিমূলক কাজগুলি করার ক্ষেত্রে দুর্দান্ত যা তারা আদর্শভাবে কাজের উপযুক্ত।
প্রতিবার যখন তারা তাদের পরীক্ষার কোডটি ছুঁয়ে যায় এবং প্রতিটি বিল্ডের জন্য পরীক্ষা চালায় তখন পরীক্ষার মান নিশ্চিত করুন। যদি কোনও পরীক্ষা ব্যর্থ হয়, অবিলম্বে এটি ঠিক করুন।
আমরা পরীক্ষা চালানোর প্রক্রিয়াটি স্বয়ংক্রিয় করি যাতে প্রতিবার আমরা যখন কোনও প্রকল্প তৈরি করি তখন সেগুলি চালিত হয়। আমরা কোড কভারেজের জেনারেশনটিকে স্বয়ংক্রিয়ভাবে প্রতিবেদন করি যা পরীক্ষাগুলি দ্বারা আচ্ছাদিত এবং অনুশীলিত কোডের শতাংশের বিবরণ রয়েছে। আমরা উচ্চ শতাংশের জন্য প্রচেষ্টা করি। কিছু সংস্থাগুলি কোডে আচরণের যে কোনও পরিবর্তনগুলি বর্ণনা করার জন্য পর্যাপ্ত ইউনিট পরীক্ষাগুলি না লিখলে সোর্স কোড নিয়ন্ত্রণে কোড পরিবর্তন করতে বাধা দেবে। সাধারণত চোখের দ্বিতীয় জোড়া পরিবর্তনগুলির লেখকের সাথে একযোগে কোড পরিবর্তনগুলি পর্যালোচনা করবে। পর্যালোচক পরিবর্তনগুলি অতিক্রম করবে তা নিশ্চিত করে যে পরিবর্তনগুলি বোধগম্য এবং পর্যাপ্তরূপে পরীক্ষাগুলি দ্বারা আচ্ছাদিত। সুতরাং পর্যালোচনা প্রক্রিয়াটি ম্যানুয়াল, কিন্তু যখন পরীক্ষাগুলি (ইউনিট এবং ইন্টিগ্রেশন পরীক্ষা এবং সম্ভবত ব্যবহারকারী গ্রহণযোগ্যতা পরীক্ষা) এই ম্যানুয়াল পর্যালোচনা প্রক্রিয়াটি পাস করে তবে স্বয়ংক্রিয় বিল্ড প্রক্রিয়াটির অংশ হয়ে যায়। এগুলি প্রতিবার পরিবর্তনটি চেক ইন করা হলে চালানো হয় Aএকটানা সমাকলান সার্ভার বিল্ড প্রক্রিয়ার অংশ হিসাবে এই কাজটি বহন করে।
টেস্টগুলি যা স্বয়ংক্রিয়ভাবে চালিত হয়, কোডের আচরণের অখণ্ডতা বজায় রাখে এবং কোড ভাঙ্গা থেকে কোড বেসে ভবিষ্যতে পরিবর্তনগুলি রোধ করতে সহায়তা করে ।
পরিশেষে, পরীক্ষাগুলি সরবরাহ করা আপনাকে আক্রমণাত্মকভাবে পুনরায় ফ্যাক্টর কোডের অনুমতি দেয় কারণ আপনার কোডগুলি যে পরিবর্তনগুলি বিদ্যমান পরীক্ষাগুলি ভঙ্গ করে না এই জ্ঞানে আপনি বড় কোডগুলি উন্নত করতে পারেন make
টেস্ট ড্রাইভড ডেভলপমেন্টের জন্য একটি সতর্কতা রয়েছে এবং এটি হ'ল এটিকে পরীক্ষাযোগ্য করে তোলার জন্য আপনার চোখের সাথে কোড লিখতে হবে। এর মধ্যে ইন্টারফেসগুলিতে কোডিং এবং সহযোগিতা অবজেক্টগুলি তাত্ক্ষণিকভাবে নির্ভরশীল ইনজেকশন জাতীয় কৌশল ব্যবহার করা। কেন্ট বেকের কাজটি দেখুন যা টিডিডি খুব ভাল করে বর্ণনা করে। ইন্টারফেস এবং অধ্যয়নের কোডিং সন্ধান করুননকশা নিদর্শন