ইউনিট পরীক্ষার জন্য একটি নতুন নাম [বন্ধ]


9

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

এখন আমি ইউনিট পরীক্ষাগুলি পছন্দ করি কারণ তারা আমাকে দরকারী কোড লেখার অনুমতি দেয়, যা প্রায়শই প্রথমবার কাজ করে! (কাঠের উপর ঠক্ঠক্ শব্দ)

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

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

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

আমি কি ক্র্যাক করছি নাকি অন্য কেউ পরীক্ষা করতে এই অস্বীকৃতিটি দেখতে পাচ্ছে এবং তারা কি মনে করে এটি এটি একই কারণ বলে তারা এটি করতে চান না?
পরীক্ষা না করানোর জন্য আপনি / অন্যরা কী কারণগুলি দেন?
আপনি কি মনে করেন যে তাদের অনুপ্রেরণাগুলি ইউনিট পরীক্ষায় নয়?

এবং ইউনিট পরীক্ষার নতুন নাম হিসাবে যা কিছু আপত্তি পেয়ে যেতে পারে, কীভাবে জে কনট্রাক্ট? (আমি জানি কিছুটা জাভা কেন্দ্রিক :), বা ইউনিট চুক্তি?


14
নামে কি? যাকে আমরা গোলাপ বলি অন্য কোনও নামে মিষ্টি হিসাবে গন্ধ পাবে; - শেক্সপিয়র, রোমিও এবং জুলিয়েট, c.1600
স্টিভেন এ। লো

8
আমি জানিনা আপনি ফাটল ধরে কিনা। আমি কখনও ফাটল ধরার চেষ্টা করিনি, বা তুমি হয়েছি।
টিম পোস্ট

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

2
চুক্তি দ্বারা ডিজাইন: en.wikipedia.org/wiki/Design_by_contract একটি নির্দিষ্ট conotation আছে, এবং ইউনিট পরীক্ষা এটা নয়। আমি যদি নামে চুক্তির সাথে কিছু দেখতে পাই তবে তা (এবং ইন্টারফেস) আমার মস্তিস্ক এর সাথে যুক্ত হয়।
বেরিন লরিটস্ক

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

উত্তর:


5

আমি কি ক্র্যাক করছি নাকি অন্য কেউ পরীক্ষা করতে এই অস্বীকৃতিটি দেখতে পাচ্ছে এবং তারা কি মনে করে এটি এটি একই কারণ বলে তারা এটি করতে চান না?

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

যখন কোনও কিছুর খারাপ নাম হয় এবং এটি এর সম্পর্কে লোকের চিন্তাকে প্রভাবিত করে এটিকে ফ্রেমিং ত্রুটি বলে। ফ্রেমিংয়ের ত্রুটিগুলি পৃষ্ঠহীন হয়ে থাকে - লোকেরা স্মার্ট এবং খারাপ নামগুলি, খারাপ রূপকগুলি মাধ্যমে দেখতে পারে।

পরীক্ষা না করানোর জন্য আপনি / অন্যরা কী কারণগুলি দেন?

নির্ভরশীলতাগুলি যে উপহাস / জাল /

আপনি কি মনে করেন যে তাদের অনুপ্রেরণাগুলি ইউনিট পরীক্ষায় নয়?

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


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

3

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

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


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

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

0

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

আপনার মত আমিও মনে করি যে বেশিরভাগ লোক পরীক্ষা করতে অনিচ্ছুক কারণ তারা মনে করে যে এটি বেশি কাজ এবং কোনও ব্যবহার নয়।


0

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

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

আমি আমার কোডটি পরীক্ষা করি, তবে যেমন আমি সর্বদা করেছি, এটি পৃথক অংশের পরিবর্তে পুরো জিনিসটিতে রয়েছে on সুতরাং সম্ভবত আমার 'ইউনিট পরীক্ষা' রয়েছে, তবে তারা বরং আরও মোটা দানাদার।

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


আপনাকে অবশ্যই খুব সাধারণ কোড লিখতে হবে। বেশিরভাগ আধুনিক সিস্টেমে পৌঁছনীয় রাষ্ট্রগুলির পরিমাণ অর্থ দাঁড়ায় যে শেষ থেকে শেষের পরীক্ষা করা মহাবিশ্বের আজীবন সময় নেয় - রাষ্ট্রের 4 বিটগুলির সাথে দুটি করে টুকরো পরীক্ষা করার ক্ষেত্রে প্রতিটি পরীক্ষার জন্য 16 টি, বা 32 টির ক্ষেত্রে মোট পরীক্ষার ক্ষেত্রে লাগে; একটি শেষ থেকে শেষের ব্যবস্থায় তৈরির মাধ্যমে 8 টি রাজ্য বা 256 টি পরীক্ষার ক্ষেত্রে সমস্ত রাজ্য কভার করা যায়। ব্যক্তিগতভাবে, আমি বরং 1/8 কাজটি করতাম।
পিট কির্খাম

1
@ পেটকিরখাম এর মূলতন্ত্রটি হ'ল আপনাকে ইউনিট পরীক্ষা করে খুব বেশি পরিমাণে লিখতে হবে এবং তারপরে ইউনিট এখনও একে অপরের সাথে কাজ করছে কিনা তা নিশ্চিত করার জন্য ইন্টিগ্রেশন টেস্টগুলিও লিখতে হবে। আমি যে জায়গাগুলিতে কাজ করেছি সেগুলি ইউনিট পরীক্ষাগুলির খুব পছন্দ ছিল যে তারা এতগুলি সময় লেখার (এবং বজায় রাখার) জন্য ব্যয় করেছিল যে তারা কোডবেসকে দ্বিধাদ্বন্দ্ব করেছিল এবং সেই পরিবেশের বাইরে আমি কী অর্জন করেছি তার তুলনায় তারা যে পরিমাণ কাজ করেছে তা খুব সামান্য ছিল। কিছুই ম্যাজিক বুলেট নয়, আমি আরও একটি বাস্তববাদী পদ্ধতির সন্ধান করার পরামর্শ দিচ্ছি যা আপনাকে গুরুত্বপূর্ণ বিটগুলির পরীক্ষার কভারেজ দেওয়ার পাশাপাশি কিছু তৈরি করারও সুযোগ দেয়।
gbjbaanb
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.