ইউনিট টেস্টিং সেরা ইউনিট টেস্টিং এক ইউনিট নবজাতকের জন্য


29

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

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

আমি কেবল ভাবছিলাম যে কেউ ভাল পরামর্শ দিতে পারে কিনা:

  1. আমি কি প্রকল্পের শুরুতে ইউনিট টেস্টিংয়ের দিকে তাকিয়ে থাকি এবং সম্ভবত একটি টিডিডি পদ্ধতির গ্রহণ করি।
  2. প্রতিটি বিভাগ সম্পূর্ণ হওয়ার পরে, আমি কি পাশাপাশি পরীক্ষা চালিয়েছি?
  3. আমি কি প্রকল্পটি সম্পূর্ণ করব এবং তারপরে শেষে ইউনিট পরীক্ষা লিখব।



উত্তর:


29

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

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

এটি সর্বাধিক সময় গ্রহণকারী তবে এ পর্যন্ত সবচেয়ে বড় পরিশোধ রয়েছে। একবার আপনি খেয়াল করলেন যে আপনি যা পরীক্ষা করতে চান সেটি পেতে আপনাকে আর 14 টি ওয়েব পৃষ্ঠার মাধ্যমে পেজ করতে হবে না, আপনি কি জানেন আমি কী সম্পর্কে বলছি know

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

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

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

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


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

@ পিডিআর আপনার কি "রেফারেন্স ইউনিট পরীক্ষাগুলি ভালভাবে লেখার" জন্য অধ্যয়ন করতে পারি তার কিছু উল্লেখ রয়েছে?
গ্যাস্টন

9

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

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

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

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


1
কম ভয়ে +1 করুন। এবং আমি এই সপ্তাহে একটি টেস্টলেস কোডবেস রিফ্যাক্টর করছি। । ।
ওয়াইয়াট বার্নেট

2
দুর্দান্ত উক্তি: "আপনি আপনার ভয়কে পরীক্ষায় পরিণত করেন, এবং তারপরে কম্পিউটার উদ্বেগকে স্বয়ংক্রিয় করে দেয়"!
রিচভেল

5
  1. আমি কি শুরুতে ইউনিটটি খুঁজছি এবং একটি টিডিডি পদ্ধতির গ্রহণ করব?

  2. প্রতিটি বিভাগ সম্পূর্ণ হওয়ার পরে আমি কি পরীক্ষাগুলি লিখতে পারি?

এর যে কোনও একটি, তবে তৃতীয় বিকল্প নয়

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

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

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


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

2

আমি মনে করি নবজাতকের পক্ষে সবচেয়ে ভাল কাজ হ'ল এমন কিছু কোড কাটাসকে মোকাবেলা করা যা ইউনিট পরীক্ষায় নিজেকে ndণ দেয়। উদাহরণ স্বরূপ; একটি ইমেল ঠিকানা বৈধতা আপনি এই কোড ক্যাটাসগুলির কয়েকটিকে মোকাবেলা করার পরে টিডিডি প্রাকৃতিক প্রবাহে পরিণত হয়। আমি উল্লিখিত ইমেল ঠিকানা বৈধকারকের জন্য নিম্নলিখিত কোড কটাটি পরীক্ষা করে দেখুন: ইমেল ভ্যালিডেটার

আপনারা যারা জানেন না তাদের জন্য কোড ক্যাটাস কী তা বোঝার জন্য নীচের লিঙ্কটি দেখুন: কোড ক্যাটাস

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.