unit testing ইউনিট টেস্টিং প্রচেষ্টা প্রচেষ্টা?




unit-testing (24)

আমি যে দলের উপর কাজ করি তার উপর উন্নয়ন প্রক্রিয়াতে ইউনিট পরীক্ষার সংহত করার জন্য আমি কাজ করছি এবং কিছু সন্দেহভাজন। ইউনিট টেস্টিংয়ের মূল্যের দলের সন্দেহভাজন বিকাশকারীদের কিছুটা ভাল উপায় কী? আমার নির্দিষ্ট ক্ষেত্রে আমরা ইউনিট টেস্ট যুক্ত করব কারণ আমরা কার্যকারিতা বা নির্দিষ্ট বাগ যুক্ত করেছি। দুর্ভাগ্যবশত আমাদের কোড বেস সহজ পরীক্ষায় নিজেকে ধার দেয় না।


আমি সম্প্রতি আমার কর্মক্ষেত্রে সঠিক একই অভিজ্ঞতার মধ্য দিয়ে গিয়েছিলাম এবং তাদের অধিকাংশই তাত্ত্বিক সুবিধাগুলি জানত কিন্তু তাদের বিশেষ করে বেনিফিটগুলিতে বিক্রি করতে হয়েছিল, তাই আমি এখানে ব্যবহৃত পয়েন্টগুলি (সফলভাবে) ছিলাম:

  • তারা নেতিবাচক পরীক্ষার সময় সময় বাঁচায়, যেখানে আপনি অপ্রত্যাশিত ইনপুটগুলি পরিচালনা করেন (নিল পয়েন্টার, সীমানার মানগুলি থেকে, ইত্যাদি), আপনি এটি একটি একক প্রক্রিয়াতে করতে পারেন।
  • তারা পরিবর্তনের মান সংক্রান্ত সময় কম্পাইল সময়ে অবিলম্বে প্রতিক্রিয়া প্রদান।
  • তারা অভ্যন্তরীণ তথ্য উপস্থাপনাগুলি পরীক্ষা করার জন্য কার্যকর যা স্বাভাবিক রানটাইম সময় প্রকাশ করা নাও হতে পারে।

এবং বড় এক ...

  • আপনি ইউনিট পরীক্ষার প্রয়োজন হতে পারে না, কিন্তু অন্য কেউ যখন আসে এবং সম্পূর্ণ বোঝা ছাড়াই কোডটি সংশোধন করে তবে এটি তাদের দ্বারা করা অনেক বোকা ভুলগুলি ধরতে পারে।

আমি কয়েক বছর আগে টিডিডি আবিষ্কার করেছি, এবং তারপরে আমার এটি ব্যবহার করে আমার সমস্ত পোষা প্রকল্পগুলি লিখেছে। আমি অনুমান করেছি যে এটি টিডিডি-তে একই সময় লাগে যেহেতু এটি একসঙ্গে কাউবয়কে নিয়ে যায়, তবে শেষ পণ্যটিতে আমার এত আস্থা আছে যে আমি কৃতিত্বের অনুভূতিতে সাহায্য করতে পারি না।

আমার মনে হয় যে এটি আমার নকশা শৈলী (অনেকগুলি ইন্টারফেস ভিত্তিক, যদি আমাকে একসঙ্গে জিনিস ঠাট্টা করার দরকার হয়) উন্নত করে এবং উপরের লেখার সবুজ পোস্ট হিসাবে এটি "কোডিং কোষ্ঠকাঠিন্য" সহ সহায়তা করে বলে মনে হয়: যখন আপনি জানেন না কি পরবর্তীতে লিখতে, অথবা আপনার সামনে একটি কঠিন কাজ আছে, আপনি ছোট লিখতে পারেন।

অবশেষে, আমি দেখেছি যে TDD এর সবচেয়ে কার্যকর অ্যাপ্লিকেশনটি ডিবাগিংয়ের মধ্যে রয়েছে, যদি আপনি ইতিমধ্যেই একটি প্রশ্নোত্তর কাঠামো তৈরি করেছেন যার মাধ্যমে আপনি পুনরাবৃত্তিযোগ্য ফ্যাশনে বাগ তৈরি করতে প্রকল্পটিকে প্রডাক্ট করতে পারেন।


আমি এখানে সংখ্যাগরিষ্ঠের বিপরীতে দৃষ্টিকোণ থেকে একমত: এটি ঠিক আছে ইউনিট টেস্ট লিখতে না বিশেষ করে প্রোটোটাইপ-ভারী প্রোগ্রামিং (উদাহরণস্বরূপ এআই) ইউনিট পরীক্ষার সাথে একত্রিত করা কঠিন।


ইউনিট পরীক্ষা স্যুট সঙ্গে অক্ষর বাকি বাকি রেখে যখন কোড পরিবর্তন করতে পারেন। এটি একটি মহান সুবিধা। যখন আপনি নতুন বৈশিষ্ট্য কোডিং শেষ করেন তখন আপনি ইউনিট পরীক্ষা সাটি এবং রিগ্রেশন পরীক্ষা স্যুটটি ব্যবহার করেন।


আমি বিষয় সম্পর্কে একটি খুব বড় ব্লগ পোস্ট লিখেছেন। আমি একা ইউনিট পরীক্ষার কাজ মূল্য না পাওয়া গেছে এবং নির্দিষ্ট সময়সীমা কাছাকাছি পেতে যখন সাধারণত কাটা পায়।

"পরীক্ষার পরে" যাচাইয়ের দৃষ্টিকোণ থেকে ইউনিট পরীক্ষার কথা বলার পরিবর্তে, বাস্তবায়ন করার আগে আপনি একটি স্পেক / পরীক্ষা / ধারণা লেখার জন্য সেট করা প্রকৃত মানটি দেখবেন।

এই সহজ ধারণাটি আমি সফটওয়্যার লিখার উপায়টি পরিবর্তিত করেছি এবং আমি "পুরানো" পথে ফিরে যাব না।

কিভাবে প্রথম উন্নয়ন আমার জীবন পরিবর্তন


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

আমি মনে করি একী বা কাঠামো লেখার সময় বহু বছর ধরে চলতে হবে এবং আসল কোডার ছাড়া অন্য লোকেদের দ্বারা ব্যবহার / সংশোধন / বিকাশের জন্য ইউনিট পরীক্ষাগুলি অনেক কার্যকর হবে।


ইউনিট টেস্টিং স্পষ্টভাবে প্রচেষ্টা মূল্য। দুর্ভাগ্যবশত আপনি একটি কঠিন (কিন্তু দুর্ভাগ্যবশত সাধারণ) দৃশ্যকল্পটি প্রয়োগ করতে যাচ্ছেন তা চয়ন করেছেন।

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

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


ইউনিট পরীক্ষাগুলির বিষয়ে একটি দুর্দান্ত জিনিস হল যে তারা কীভাবে আপনার কোডটি ব্যবহার করার উদ্দেশ্যে বোঝায় তার জন্য ডকুমেন্টেশন হিসাবে কাজ করে। ভাল পরীক্ষা একটি রেফারেন্স বাস্তবায়ন মত ধরনের, এবং teammates তাদের সঙ্গে তাদের কোড সংহত কিভাবে দেখতে তাদের দেখতে পারেন।


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


সন্তুষ্ট করার সর্বোত্তম উপায় ... একটি বাগ খুঁজুন, এটির জন্য একটি ইউনিট পরীক্ষা লিখুন, বাগ সংশোধন করুন।

যে বিশেষ বাগ আবার কখনও প্রদর্শিত অসম্ভাব্য, এবং আপনি আপনার পরীক্ষা দিয়ে এটি প্রমাণ করতে পারেন।

আপনি যদি যথেষ্ট করেন, অন্যদের দ্রুত ধরা হবে।


আপনি যতটা সম্ভব পরীক্ষা করা উচিত!

মানে, আপনি উদ্দেশ্য প্রকাশ করতে যথেষ্ট ইউনিট পরীক্ষা লিখতে হবে। এই প্রায়ই উপর glossed পায়। ইউনিট পরীক্ষার আপনি খরচ। আপনি যদি পরিবর্তনগুলি করেন এবং আপনাকে পরীক্ষাগুলি পরিবর্তন করতে হয় তবে আপনি কম চকচকে হবেন। একক ছোট এবং মিষ্টি পরীক্ষা রাখুন। তারপর তারা মান অনেক আছে।

খুব প্রায়ই আমি অনেকগুলি পরীক্ষা দেখি যা কখনও ভাঙ্গবে না, বড় এবং ক্লান্তিকর এবং প্রচুর মান দেয় না, তারা কেবল আপনাকে ধীর করে শেষ করে।


সংক্ষিপ্ত - হ্যাঁ। তারা প্রতিটি বিন্দু প্রচেষ্টার মূল্য ... একটি বিন্দু। টেস্টের শেষে, দিনের শেষে, কোডটি এবং সাধারণ কোড বৃদ্ধির মতো অনেকগুলি, আপনার পরীক্ষার অব্যবহারযোগ্য এবং টেকসই হওয়ার জন্য অবশেষে পুনঃবিবেচনা করা দরকার। গোটচাসের টন আছে! যখন ইউনিট পরীক্ষার কথা আসে, কিন্তু মানুষ ওহ মানুষ, কিছুই না, এবং আমি বলতে চাচ্ছি যে কোনও বিকাশকারী কোনও ইউনিট পরীক্ষার সমৃদ্ধ সেটের চেয়ে বেশি আত্মবিশ্বাসের পরিবর্তনের ক্ষমতা দেয় না।

আমি এখন একটি প্রকল্পে কাজ করছি .... এটি কিছুটা টিডিডি, এবং আমাদের বেশিরভাগ ব্যবসায়িক নিয়ম পরীক্ষা হিসাবে encapuslated আছে ... আমরা বর্তমানে 500 বা তাই ইউনিট পরীক্ষা আছে। এই অতীতের পুনরাবৃত্তি আমাকে আমাদের ডেটাসোর্সকে পুনর্বিবেচনা করতে হয়েছিল এবং আমাদের ডেস্কটপ অ্যাপ্লিকেশনটি সেই ডাটাসোর্সের সাথে ইন্টারফেস করে। আমার কয়েকদিন লেগেছিল, পুরো সময় আমি শুধু ইউনিট পরীক্ষা চালিয়ে যাচ্ছিলাম, যা দেখেছিলাম তা ভেঙ্গে ফেলার জন্য। পরিবর্তন আনো; তৈরি এবং আপনার পরীক্ষা চালানো; আপনি কি ভাঙ্গা ঠিক করুন। ধোয়া, ধোয়া, প্রয়োজনীয় হিসাবে পুনরাবৃত্তি করুন। ঐতিহ্যগতভাবে কিউএ এবং নৌযান লোডের চাপের দিনগুলি পরিবর্তে একটি সংক্ষিপ্ত এবং উপভোগ্য অভিজ্ঞতা ছিল।

সামনের দিকে এগিয়ে আসুন, একটু বেশি চেষ্টা করুন, এবং যখন এটি মূল বৈশিষ্ট্য / কার্যকারিতা নিয়ে ঘোরাঘুরি করতে শুরু করে তখন এটি 10 ​​গুণের পরে প্রদান করে।

আমি এই বইটি কিনলাম - এটি একটি বাইবেল এক্সুইট টেস্টিং জ্ঞান - সম্ভবত আমার শৈলীর বেশিরভাগ উল্লেখযোগ্য বইগুলির মধ্যে একটি, এবং আমি প্রতিদিন এটির সাথে পরামর্শ করি: লিঙ্ক পাঠ্য


ইউনিট পরীক্ষাগুলি বিশেষভাবে কার্যকর যখন এটি পুনঃসংযোগ বা একটি কোড একটি টুকরা পুনরায় লেখার আসে। আপনি ভাল ইউনিট পরীক্ষা কভারেজ আছে, আপনি আস্থা সঙ্গে refactor করতে পারেন। ইউনিট পরীক্ষা ছাড়া, আপনি কিছু ভাঙ্গা না তা নিশ্চিত করা প্রায়ই কঠিন।


আমি জানি না. জায়গা অনেক ইউনিট পরীক্ষা না, কিন্তু কোড মান ভাল। মাইক্রোসফ্ট ইউনিট পরীক্ষা করে, কিন্তু বিল গেটস তার উপস্থাপনায় একটি নীল পর্দা দিয়েছেন।


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

সন্দেহভাজনদের যে ইউনিট-পরীক্ষায় কাজ করছে তা ধ্বংস করতে না পারার বিষয়টি পরীক্ষা করা থেকে মূল্য পাওয়ার জন্য অনেক বেশি গুরুত্বপূর্ণ এবং সহজ হতে পারে।

প্রতিটি সময় যখন আপনি রিপোজিটরি থেকে আপডেট করেন তখন নতুন বৈশিষ্ট্যগুলির কারণে ভাঙা পরীক্ষাগুলি আপডেট করার সময়গুলি কার্যকরী এবং মজাদার নয়।


যখন আপনি বলেন, "আমাদের কোড বেস সহজ পরীক্ষায় নিজেকে ধার দেয় না" একটি কোড গন্ধ প্রথম চিহ্ন। ইউনিট টেস্টিং লেখা মানে কোডটি আরো পরীক্ষাযোগ্য করার জন্য আপনি সাধারণত কোডটি পৃথকভাবে লিখেছেন। লেখার কোড লেখার জন্য আমি কয়েক বছর ধরে যা দেখেছি তা আমার মতামত একটি ভাল জিনিস, এটি আমাকে আরও ভাল নকশা দিতে বাধ্য করেছিল।


Thetalkingwalnut জিজ্ঞাসা:

ইউনিট টেস্টিংয়ের মূল্যের দলের সন্দেহভাজন বিকাশকারীদের কিছুটা ভাল উপায় কী?

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

যুক্তি এবং যুক্তি উভয় পক্ষের শুনতে এবং বুঝতে গুরুত্বপূর্ণ। আপনি যদি মানুষের উদ্বেগ সম্পর্কে খুব জোরে ইউনিট পরীক্ষা গ্রহণ করার চেষ্টা করেন, আপনি একটি ধর্মীয় যুদ্ধ (এবং সম্ভবত সত্যিই মূল্যহীন ইউনিট পরীক্ষা) সঙ্গে শেষ হবে। যদি আপনি এটি ধীরে ধীরে গ্রহণ করেন এবং এটি প্রয়োগ করে শুরু করেন যেখানে আপনি কম খরচে সর্বাধিক সুবিধা দেখতে পাবেন, আপনি ইউনিট পরীক্ষার মূল্য প্রদর্শন করতে সক্ষম হবেন এবং লোকেদের দৃঢ় বিশ্বাসের একটি ভাল সুযোগ পাবেন। আমি বুঝতে পারছি যে এটি যতটা সহজ নয় ততই সহজ নয় - এটি সাধারণত একটি দৃঢ় যুক্তি তৈরি করার জন্য কিছু সময় এবং সতর্কতার সাথে মেট্রিকগুলির প্রয়োজন।

ইউনিট পরীক্ষাগুলি অন্য কোনও উপায়ে একটি সরঞ্জাম, এবং এভাবে প্রয়োগ করা উচিত যে সুবিধাগুলি (ধরা বাগগুলি) ব্যয়গুলি অতিক্রম করে (তাদের লেখার প্রচেষ্টা)। তাদের যদি ব্যবহার না করে তবে তাদের ব্যবহার করবেন না এবং মনে রাখবেন যে তারা কেবল আপনার সরঞ্জামগুলির অস্ত্রোপচারের অংশ (যেমন পরিদর্শন, দাবি, কোড বিশ্লেষক, আনুষ্ঠানিক পদ্ধতি ইত্যাদি)। আমি আমার ডেভেলপারদের বলছি এই হল:

  1. যদি তারা কোন প্রয়োজনীয় যুক্তি না থাকে তবে তারা কোনও পদ্ধতির জন্য একটি পরীক্ষা লিখতে পারেন না কেন এটি প্রয়োজনীয় নয় (উদাহরণস্বরূপ এটি খুব মূল্যবান এবং মূল্যবান হওয়া খুব কঠিন হবে) এবং পদ্ধতিটি অন্যথায় যাচাই করা হবে কীভাবে (উদাহরণস্বরূপ পরিদর্শন, দাবিগুলি , আনুষ্ঠানিক পদ্ধতি, ইন্টারেক্টিভ / ইন্টিগ্রেশন পরীক্ষা)। তাদের বিবেচনা করা দরকার যে পরিদর্শন এবং আনুষ্ঠানিক প্রমাণগুলির মতো কিছু যাচাইকরণ সময়ে সময়ে সম্পন্ন করা হয় এবং তারপরে উৎপাদন কোড পরিবর্তিত হওয়ার সময় প্রতিবার পুনরাবৃত্তি করতে হবে, তবে ইউনিট পরীক্ষা এবং কথার পুনরাবৃত্তি পরীক্ষা হিসাবে ব্যবহার করা যেতে পারে (একবার লিখিত এবং তারপরে বারবার কার্যকর করা হয়) )। কখনও কখনও আমি তাদের সাথে একমত, কিন্তু প্রায়শই আমি একটি পদ্ধতি সত্যিই খুব সহজ বা ইউনিট পরীক্ষা খুব কঠিন কিনা তা নিয়ে বিতর্ক করব।

    • একটি বিকাশকারী যুক্তি দেয় যে একটি পদ্ধতি ব্যর্থ হওয়ার জন্য খুব সহজ মনে হচ্ছে, 60 সেকেন্ডের জন্য এটির জন্য একটি সহজ 5-লাইন ইউনিট পরীক্ষা লিখার প্রয়োজনীয়তা নেই? এই 5 লাইনের কোডগুলি আগামী রাতে বা তার চেয়ে বেশি রাতের জন্য প্রতি রাতে (আপনি রাতের বেলায় তৈরি করেন, ঠিক আছে?) চালান এবং এমনকি একবার একবার এমন একটি সমস্যা ধরা পড়তে পারে যা সনাক্ত করতে 15 মিনিট বা তার বেশি সময় লাগতে পারে। এবং ডিবাগ। এছাড়া, সহজ ইউনিট পরীক্ষাগুলি লেখার ইউনিট পরীক্ষা গণনা করে, যা বিকাশকারীকে ভাল দেখাচ্ছে।

    • অন্যদিকে, যদি একজন বিকাশকারী যুক্তি দেন যে কোনও পদ্ধতি একক পরীক্ষার জন্য অত্যন্ত কঠিন বলে মনে হয় (প্রয়োজনীয় প্রচেষ্টার যোগ্য নয়), এটি সম্ভবত একটি ভাল ইঙ্গিত যে পদ্ধতিটিকে ভাগ করা বা সহজ অংশগুলির পরীক্ষা করার জন্য পুনরায় প্রতিক্রিয়াবদ্ধ করা দরকার। সাধারণত, এগুলি এমন পদ্ধতি যা অস্বাভাবিক সংস্থানগুলির উপর নির্ভর করে যেমন একলেট, বর্তমান সময় বা ডাটাবেস ফলাফল সেটের মতো বাহ্যিক সংস্থান। এই পদ্ধতিগুলি সাধারণত এমন একটি পদ্ধতিতে পুনঃবিবেচনা করা প্রয়োজন যা সম্পদ পায় (যেমন কল gettime ()) এবং একটি পদ্ধতি যা সম্পদকে যুক্তি হিসাবে গ্রহণ করে (যেমন একটি প্যারামিটার হিসাবে টাইমস্ট্যাম্প নেয়)। আমি তাদের রিসোর্সটি পুনরুদ্ধার করার পদ্ধতিটি পরীক্ষা করার মঞ্জুরি দিই এবং এর পরিবর্তে পদ্ধতির জন্য একটি ইউনিট পরীক্ষা লিখতে যা এখন সংস্থাকে যুক্তি হিসাবে গ্রহণ করে। সাধারণত, এই ইউনিট পরীক্ষা লিখুন অনেক সহজ এবং তাই লেখার জন্য উপযুক্ত করে তোলে।

  2. বিকাশকারীকে তাদের ইউনিট পরীক্ষাগুলি কতগুলি ব্যাপক হওয়া উচিত তার মধ্যে "বালিতে লাইন" আঁকতে হবে। পরবর্তীতে বিকাশের সময়, যখনই আমরা একটি বাগ খুঁজে পাই, তারা নির্ধারণ করতে পারে যে আরও ব্যাপক ইউনিট পরীক্ষাগুলি কীভাবে ধরা পড়েছে। যদি তাই হয় এবং যদি বার বার বার বার ফসল হয়, তবে ভবিষ্যতে আরও ব্যাপক ইউনিট পরীক্ষা লেখার জন্য "লাইন" সরানো দরকার (বর্তমান বাগের জন্য ইউনিট পরীক্ষা যোগ বা সম্প্রসারিত করা শুরু করা)। তারা সঠিক ভারসাম্য খুঁজে পেতে হবে।

ইউনিট পরীক্ষাগুলি বুঝতে গুরুত্বপূর্ণ এটি একটি রূপালী বুলেট নয় এবং অনেকগুলি ইউনিট পরীক্ষার মতো জিনিস আছে। আমার কর্মক্ষেত্রে, যখনই আমরা কোনও পাঠ্য শিখেছি, তখন অবশ্যই আমি "আরও ইউনিট পরীক্ষাগুলি লিখতে হবে" শুনেছি। ম্যানেজমেন্ট চুক্তিতে সম্মতি দেয় কারণ এটি "ইউনিট পরীক্ষা" == "ভাল" তাদের মাথায় আঘাত পেয়েছে।

যাইহোক, আমাদের "আরও ইউনিট পরীক্ষা" প্রভাব বুঝতে হবে। একজন বিকাশকারী শুধুমাত্র সপ্তাহের কোডের এন লাইনগুলি লিখতে পারে এবং আপনার কোডটি কত শতাংশের মধ্যে ইউনিট পরীক্ষা কোড বনাম উত্পাদন কোড বানাতে হবে তা নির্ধারণ করতে হবে। একটি ল্যাক্স কর্মক্ষেত্রে কোডের 10% ইউনিট পরীক্ষা হিসাবে এবং 90% কোড কোড হিসাবে উত্পাদন কোড হতে পারে, যার ফলে প্রচুর পণ্য (যদিও খুব বাগি) বৈশিষ্ট্যগুলি (MS Word মনে করে) হতে পারে। অন্য দিকে, 90% ইউনিট পরীক্ষা এবং 10% উত্পাদন কোডের সাথে কঠোর দোকানটি খুব কম বৈশিষ্ট্যগুলির সাথে একটি শিলা কঠিন পণ্য থাকবে (মনে করুন "vi")। আপনি পরবর্তী পণ্য ক্র্যাশিংয়ের প্রতিবেদনগুলি কখনও শুনতে পান না, তবে পণ্যটির গুণমানের সাথে এটি যতটা ভালভাবে বিক্রি করা যায় না সেই পণ্যটির সাথে এটির যতটা বেশি দাম আছে।

খারাপ, এখনো সফ্টওয়্যার বিকাশের একমাত্র নিশ্চিততা হল "পরিবর্তন অনিবার্য"। কঠোর দোকানটি ধরুন (90% ইউনিট পরীক্ষা / 10% উত্পাদন কোড) এমন পণ্য তৈরি করে যা ঠিক ২ টি বৈশিষ্ট্য রয়েছে (উত্পাদন কোডের 5% অনুমান == 1 বৈশিষ্ট্য)। যদি গ্রাহক বরাবর আসে এবং 1 টি বৈশিষ্ট্য পরিবর্তন করে তবে সেই পরিবর্তনটি কোডের 50% (ইউনিট পরীক্ষাগুলির 45% এবং উত্পাদন কোডের 5%) ট্র্যাশ করে। ল্যাক্স শপ (10% ইউনিট পরীক্ষা / 90% উত্পাদন কোড) 18 টি বৈশিষ্ট্য সহ একটি পণ্য রয়েছে, যার মধ্যে কোনটি খুব ভালভাবে কাজ করে না। তাদের গ্রাহক সম্পূর্ণরূপে তাদের বৈশিষ্ট্য 4 জন্য প্রয়োজনীয়তা revamps। যদিও পরিবর্তনটি 4 গুণ বড়, কোড কোডের অর্ধেকেরও বেশি অংশ ট্র্যাশ হয়ে যায় (~ 25% = ~ 4.4% ইউনিট পরীক্ষা + উত্পাদন কোডের 20%)।

আমার বিন্দুটি হল যে আপনাকে যোগাযোগ করতে হবে যে আপনি খুব সামান্য এবং খুব বেশি ইউনিট পরীক্ষার মধ্যে যে ভারসাম্য বোঝেন তা - এটি মূলত আপনি ইস্যুর উভয় পক্ষের মাধ্যমে চিন্তা করেছেন। আপনি যদি আপনার সহকর্মীদের এবং / অথবা আপনার পরিচালনাকে সন্তুষ্ট করতে পারেন তবে আপনি বিশ্বাসযোগ্যতা অর্জন করতে পারেন এবং সম্ভবত তাদের জয় করার আরও ভাল সুযোগ পাবেন।


যদি আপনি NUnit ব্যবহার করছেন তবে একটি সহজ কিন্তু কার্যকরী ডেমো Nunit এর নিজস্ব স্যুট (গুলি) তাদের সামনে চালানো হয়। একটি কোডবেজ সরবরাহকারী একটি বাস্তব পরীক্ষা স্যুট দেখে একটি হাজারো শব্দ মূল্যের হয় ...


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

নতুন ফ্রেমওয়ার্ক বা কোডবেসগুলি অনুসন্ধান করার সময় আমার প্রিয় কৌশলগুলির মধ্যে একটি হল কীভাবে কাজ করে তা আবিষ্কারের জন্য 'এটি' এর জন্য ইউনিট-পরীক্ষাগুলি লিখতে হয়। এটি একটি শুষ্ক ডক পড়ার পরিবর্তে নতুন কিছু সম্পর্কে আরো জানতে একটি দুর্দান্ত উপায় :)


[আমি উপরে দেখতে দেখতে যে একটি বিন্দু আছে]

"প্রতিটি ইউনিট পরীক্ষা, তারা অপরিহার্যভাবে এটি বুঝতে না - FACT"

এটি সম্পর্কে চিন্তা করুন, আপনি একটি স্ট্রিং বিশ্লেষণ এবং নতুন লাইন অক্ষর অপসারণ করতে একটি ফাংশন লিখুন। নবাগত বিকাশকারী হিসাবে আপনি কমান্ড লাইন থেকে এটি মুখ্য () এ বাস্তবায়ন করে এটির মাধ্যমে কয়েকটি ক্ষেত্রে চালান বা আপনি একটি বোতামের সাথে একটি দৃশ্যমান সামনে শেষের সাথে একসঙ্গে ফাটান, আপনার ফাংশনটি কয়েকটি টেক্সট বক্স এবং একটি বোতামে টিও করুন এবং দেখুন কি ঘটেছে.

যে ইউনিট টেস্টিং - মৌলিক এবং খারাপভাবে একত্র করা কিন্তু আপনি কয়েক ক্ষেত্রে জন্য কোড টুকরা পরীক্ষা।

আপনি আরো জটিল কিছু লিখুন। যখন আপনি কয়েকটি ক্ষেত্রে (ইউনিট পরীক্ষার মাধ্যমে) নিক্ষেপ করেন তখন এটি ত্রুটিগুলি ছুঁড়ে ফেলে এবং যদিও আপনি কোড এবং ট্রেসে ডিবাগ করেন। আপনি মান হিসাবে তাকান হিসাবে আপনি মাধ্যমে যান এবং তারা সঠিক বা ভুল কিনা তা নির্ধারণ। এই কিছু ডিগ্রী ইউনিট টেস্টিং হয়।

এখানে ইউনিট টেস্টিং আসলেই সেই আচরণটি গ্রহণ করছে, এটি একটি কাঠামোগত প্যাটার্নে রূপান্তরিত করা এবং এটি সংরক্ষণ করা যাতে আপনি সহজেই সেই পরীক্ষাগুলি পুনরায় চালাতে পারেন। যদি আপনি নিজে পরীক্ষা করার পরিবর্তে একটি "যথাযথ" ইউনিট পরীক্ষা কেস লিখেন, তবে এটি একই সময় লাগে, অথবা অভিজ্ঞতার মতো কম হতে পারে এবং আপনি এটি পুনরাবৃত্তি করতে উপলব্ধ


আমাদের অফিসে প্রতিদিন একটি বিনিময় হয় যা এরকম কিছু যায়:

"ম্যান, আমি শুধু একক পরীক্ষা ভালোবাসি, আমি কিছু কাজ করার পরিবর্তে বেশ কয়েকটি পরিবর্তন করতে সক্ষম হয়েছি, এবং তারপর নিশ্চিত হয়েছি যে আমি আবার পরীক্ষা চালানোর মাধ্যমে কিছু ভাঙ্গিনি ..."

বিস্তারিত দৈনিক পরিবর্তন, কিন্তু অনুভূতি না। ইউনিট পরীক্ষা এবং পরীক্ষা চালিত বিকাশ (টিডিডি) এর মধ্যে অনেকগুলি গোপন এবং ব্যক্তিগত সুবিধা রয়েছে এবং সেইসাথে সুস্পষ্ট বিষয়গুলি রয়েছে যা আপনি নিজেরাই এটি নিজে না করেই কারো কাছে ব্যাখ্যা করতে পারবেন।

কিন্তু, যে উপেক্ষা, এখানে আমার প্রচেষ্টা!

  1. ইউনিট টেস্টগুলি আপনাকে দ্রুত কোডে বড় পরিবর্তন করতে দেয়। আপনি জানেন যে এটি এখন কাজ করে কারণ আপনি পরীক্ষাগুলি চালাচ্ছেন, যখন আপনি যে পরিবর্তনগুলি করতে চান সেগুলি আপনাকে করতে হবে, আপনাকে আবার পরীক্ষাগুলি পরীক্ষা করতে হবে। এই ঘন্টা বাঁচায়।

  2. কোডিং বন্ধ করার সময় টিডিডি আপনাকে বুঝতে সাহায্য করে। আপনার পরীক্ষাগুলি আপনাকে আস্থা দেয় যে আপনি এখন যথেষ্ট পরিমাণে করেছেন এবং tweaking এবং পরবর্তী জিনিসটিতে চলে যেতে পারেন।

  3. পরীক্ষা এবং কোড ভাল কোড অর্জন একসাথে কাজ করে। আপনার কোড খারাপ / বাগি হতে পারে। আপনার পরীক্ষা খারাপ / বাগি হতে পারে। টিডিডি তে আপনি উভয় খারাপ / বাগি কম হওয়ার সম্ভাবনাগুলিতে ব্যাংকিং করছেন। প্রায়শই এটি এমন পরীক্ষা যা ফিক্সিংয়ের প্রয়োজন তবে এটি এখনও ভাল ফলাফল।

  4. TDD কোডিং কোষ্ঠকাঠিন্য সাহায্য করে। লেখার একটি বড় এবং daunting টুকরা সম্মুখীন মুখোমুখি হলে পরীক্ষা দ্রুত আপনি চলন্ত পেতে হবে।

  5. ইউনিট টেস্টগুলি আপনি যে কোডটি ব্যবহার করছেন তার নকশাটি সত্যিই বুঝতে সহায়তা করে। কিছু করার জন্য কোড লেখার পরিবর্তে, আপনি কোডটি সাপেক্ষে সমস্ত শর্তগুলি রূপরেখা দিয়ে শুরু করছেন এবং আপনি এর থেকে কোনও আউটপুট আশা করবেন।

  6. ইউনিট টেস্টগুলি আপনাকে তাত্ক্ষণিক চাক্ষুষ প্রতিক্রিয়া দেয়, আমরা যখন সব করেছি তখন আমরা সবুজ বাতিগুলির অনুভূতি পছন্দ করি। এটা খুবই সন্তুষ্ট। কোনও বাধা ছাড়ার পরে আপনি যেখানেই চলে যান সেখানে এটি আরো সহজ হয়ে যায় কারণ আপনি কোথায় যাচ্ছেন তা দেখতে পারেন - যে পরবর্তী লাল আলোকে ফিক্সিংয়ের দরকার হয়।

  7. জনপ্রিয় বিশ্বাস ইউনিট পরীক্ষার বিপরীতে এর মানে দুইবার বেশি কোড লেখা বা ধীরে ধীরে কোডিং করা হয় না। একবার আপনি এটি ঝুলন্ত একবার পরীক্ষা ছাড়া কোডিং চেয়ে দ্রুত এবং আরো শক্তিশালী। টেস্ট কোড নিজেই সাধারণত অপেক্ষাকৃত তুচ্ছ এবং আপনি কি করছেন একটি বড় overhead যোগ করা হয় না। আপনি এটি করছেন যখন আপনি শুধুমাত্র বিশ্বাস করবে এই এক :)

  8. আমি মনে করি এটি ফাউলার ছিল, যিনি বলেছিলেন: "অনিয়মিত পরীক্ষা, প্রায়শই চালানো হয়, নিখুঁত পরীক্ষার চেয়ে অনেক ভাল যা কখনোই লিখিত হয় না"। আমার পরীক্ষাগুলি লেখার অনুমতি দেওয়ার মতো আমি এই ব্যাখ্যা করি যেখানে আমার মনে হয় যে এটি আমার সবচেয়ে বেশি কার্যকর হবে যদিও আমার বাকি কোড কভারেজটি অসম্পূর্ণভাবে অসম্পূর্ণ।

  9. ভালো ইউনিট পরীক্ষা ডকুমেন্টকে সাহায্য করতে পারে এবং কী করতে হবে তা নির্ধারণ করতে পারে

  10. ইউনিট পরীক্ষা কোড পুনরায় ব্যবহার সঙ্গে সাহায্য। আপনার নতুন প্রকল্পে আপনার কোড এবং আপনার পরীক্ষা উভয় স্থানান্তর করুন। আবার পরীক্ষা চালানো পর্যন্ত কোড পরিবর্তন করুন।

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


পরীক্ষা-চালিত বিকাশের একটি প্রধান অংশ যা প্রায়শই গ্লাস করা হয় তা পরীক্ষাযোগ্য কোড লেখা। এটি প্রথমে কোন ধরণের আপত্তির মতো মনে হয়, তবে আপনি আবিষ্কার করতে পারবেন যে পরীক্ষাযোগ্য কোডটি পরিশেষে মডুলার, রক্ষণযোগ্য এবং পাঠযোগ্য। আপনি এখনও মানুষের বিশ্বাসী সাহায্য প্রয়োজন হলে this একক পরীক্ষার সুবিধার সম্পর্কে একটি চমৎকার সহজ উপস্থাপনা।


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

আপনার কোডটি একক-পরীক্ষা করার বিভিন্ন কারণ রয়েছে, কিন্তু সময়ের অগ্রগতি হিসাবে, আপনি এটি পরীক্ষা করতে যে সময়টি সংরক্ষণ করার সময় এটি সংরক্ষণ করার সেরা কারণ। আমি কেবলমাত্র একটি সিস্টেমের মধ্যে বিতরণ করেছি, দাবিগুলির সত্ত্বেও আমি স্বয়ংচালিত ইউনিট-পরীক্ষার উপর জোর দিয়ে বলছি যে আমি নিজে নিজে পরীক্ষা করে পরীক্ষা করার চেয়ে বেশি সময় ব্যয় করব। আমার সমস্ত ইউনিট পরীক্ষা সম্পন্ন করে, আমি 10 মিনিটেরও কম সময়ে 400 টিরও বেশি পরীক্ষা-নিরীক্ষা চালাই এবং প্রতিটি সময় আমাকে কোডে একটি ছোট পরিবর্তন করতে হয়েছিল, এটি আমাকে নিশ্চিত করে যে কোডটি এখনও বাগ ছাড়া দশটি কাজ করছে মিনিট। আপনি কি কল্পনা করতে পারেন যে 400 টাকা পরীক্ষার ক্ষেত্রে কত সময় ব্যয় হবে?

যখন এটি স্বয়ংক্রিয় পরীক্ষার জন্য আসে - এটি ইউনিট পরীক্ষার বা গ্রহণযোগ্যতার পরীক্ষা করা - প্রত্যেকেই মনে করে এটি নিজে কী করতে পারে তা কোড করার একটি নিরর্থক প্রচেষ্টা এবং কখনও কখনও এটি সত্য - যদি আপনি একবার একবার আপনার পরীক্ষা চালানোর পরিকল্পনা করেন। স্বয়ংক্রিয় পরীক্ষার সেরা অংশটি হল যে আপনি তাদের প্রচেষ্টা ছাড়াই বেশ কয়েকবার চালাতে পারেন এবং দ্বিতীয় বা তৃতীয় রান করার পরে, আপনার সময় এবং প্রচেষ্টার অপচয় হয়ে গেছে

পরামর্শের শেষ অংশটি কেবল আপনার কোডটি পরীক্ষা করার জন্যই নয়, তবে পরীক্ষাটি প্রথমে শুরু করুন (আরো জন্য TDD এবং BDD দেখুন)


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

ইউনিট পরীক্ষার সমস্যাটি হল এটি একটি আচরণগত পরিবর্তন প্রয়োজন, এবং মানুষের আচরণ পরিবর্তন করা খুব কঠিন। শব্দগুলি দিয়ে, আপনি অনেক লোককে আপনার সাথে একমত হতে পাবেন, কিন্তু আপনি কীভাবে কাজ করবেন তাতে অনেকগুলি পরিবর্তন দেখতে পাবেন না।

আপনি করছেন মানুষকে সন্তুষ্ট করতে হবে। আপনার ব্যক্তিগত সাফল্য আপনার সমস্ত আর্গুমেন্টের চেয়ে বেশি লোককে আকর্ষণ করবে। যদি তারা দেখতে পায় যে আপনি কেবল ইউনিট পরীক্ষা বা টিডিডি সম্পর্কে কথা বলছেন না তবে আপনি যা করছেন তা করছেন, এবং আপনি সফল হন, লোকেরা আপনাকে অনুকরণ করার চেষ্টা করবে।

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

পরিবর্তন রাতে ঘটবে না, কিন্তু একটু ধৈর্যের সাথে, আপনি আপনার লক্ষ্য অর্জন করতে পারেন।





unit-testing