ইউনিট পরীক্ষার আরওআইয়ের শক্ত প্রমাণ রয়েছে কি?


127

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

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

ইউনিট টেস্টিংয়ের চেষ্টা যে মূল্যবান তা সাধারণ মানুষকে বোঝাতে পারে এমন শক্ত প্রমাণ কোথায়?

উত্তর:


98

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

[সম্পাদনা] উপরের দুটি কাগজপত্র বিশেষত টিডিডি উল্লেখ করে এবং টিডিডি গ্রহণের পরে প্রাথমিক বিকাশের সময় 15-35% বৃদ্ধি দেখায়, তবে প্রাক-প্রকাশের ত্রুটিগুলিতে 40-90% হ্রাস পায়। আপনি যদি পুরো পাঠ্য সংস্করণগুলিতে না পেতে পারেন, তবে আপনি সর্বজনীনভাবে উপলব্ধ সংস্করণটি খুঁজে পেতে পারেন কিনা তা দেখার জন্য আমি গুগল স্কলার ব্যবহার করার পরামর্শ দিচ্ছি ।


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

অধ্যয়নের কোনওটিই কেবল টেস্টমিথোফোলজি পরিবর্তনের সাথে তুলনামূলক প্রক্রিয়া মডেলের তুলনা করে না। এটি ইউটিতে ব্যবহৃত সময় ব্যয় করা হয় যেমন উদাহরণস্বরূপ আরও ভাল ব্যয় করা। সিস্টেম পরীক্ষা। এটি যেমন দাঁড়ায় এটি অধ্যয়নটি "যদি আমরা আরও ভাল করে পরীক্ষা করি যে এটি সাহায্য করে" পরীক্ষা করে।
রুন এফএস

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

1
@ ইনস্টাইন ভাগ্যক্রমে (?) এর ভালো প্রমাণ রয়েছে যে এটি নয়। রিলিজ-পরবর্তী বাগগুলি ঠিক করা বিকাশের প্রথম দিকে পাওয়া বাগের চেয়ে তাত্পর্যপূর্ণভাবে ব্যয়বহুল (এটি টিডিডি যা করে)। সেই প্রসঙ্গে, রিলিজ পরবর্তী সমস্ত বাগের জন্য মোট বিকাশের 0.01% ব্যয় অসম্ভব বলে মনে হচ্ছে। (বিশদগুলির জন্য কোড কমপ্লিট দেখুন , বিশেষত বোহেম এন্ড আল
কনরাড রুডল্ফ

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

29

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

কেন?

কেন এটি নিঃশব্দে এবং বিচ্ছিন্নভাবে করবেন না। আপনাকে একবারে এটি করতে হবে না। আপনি এটি ছোট ছোট টুকরো করে করতে পারেন।

কাঠামো শেখার জন্য খুব অল্প সময় লাগে।

একটি পরীক্ষা লিখতে, কেবল একটি, খুব কম সময় নেয়।

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

এটি সবই নেয়। কারও জানা দরকার নেই আপনি এটি করছেন। এটা করতে.


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

কেবল এটি করুন এবং তাদের বলবেন না, এবং আপনার কলেজগুলিতে কফি ব্রেক এ ধারণাটি বিক্রয় করুন ;-)
জোহান

3
কারণ আপনি যখন অবিচ্ছিন্নভাবে আপনার সময়সীমাটিতে আঘাত না করেন তখন আপনি বরখাস্ত হন?
অ্যান্ড্রু

3
@ নেকো: ইউনিট পরীক্ষাগুলি "বিট ওভারহেড" যুক্ত করে না। তারা বোবা ভুলের পুরো বন্যা প্রতিরোধ করে সামগ্রিক কাজের চাপ হ্রাস করে। কাজ বাড়ে না; এটি সহজেই খারাপ কোড থেকে ভাল ইউনিট টেস্ট এবং ভাল কোডে প্রকৃতির স্থানান্তর করে।
এসলট

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

16

আমি এটির জন্য একটি ভিন্ন পদ্ধতির গ্রহণ করি:

আপনার কোডটি সঠিক যে আপনার কী আশ্বাস রয়েছে? বা আপনার দলের কেউ ফান 1 () পরিবর্তন করলে তা অনুমান এক্স ভাঙবে না? ইউনিট পরীক্ষা না করে আপনাকে 'সৎ' রাখে, আমি নিশ্চিত নই যে আপনার অনেক আশ্বাস রয়েছে।

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

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

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

স্পষ্টতই এটি কৌতুকপূর্ণ, তবে এটি আমার জন্য বিস্ময়কর কাজ করেছে worked নিশ্চিত নয় যে আমি আপনাকে স্প্রেডশিট সরবরাহ করতে পারি তবে আমার গ্রাহক খুশি এবং এটিই শেষ লক্ষ্য।


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

ইউনিট টেস্টিং সম্পর্কে সম্পূর্ণরূপে সম্মত হয়েছে আপনাকে
কোডটিকে

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

10

আমরা দৃ hard় প্রমাণ দিয়ে প্রমাণ করেছি যে ইউনিট টেস্টিং ছাড়াই ক্রেপি সফটওয়্যার লেখা সম্ভব। আমি বিশ্বাস করি ইউনিট টেস্টিংয়ের সাথে কৃপণ সফ্টওয়্যারটির প্রমাণও রয়েছে। তবে এটি বিন্দু নয়।

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

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

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

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


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

"প্রযুক্তিবিদদের কীভাবে কাজ করা উচিত তা নির্ধারণ করা কি শিম কাউন্টারগুলির ব্যবসা হয়?" -> ব্যবসায়ের সমস্ত সিদ্ধান্ত অর্থের মধ্যে আসে। তবুও, ভাল উত্তর, +1
jcollum

@ জোকলুম তবে আপনি কীভাবে আপনার কাজটি সম্পাদন করবেন তার অর্থের সাথে কোনও সম্পর্ক নেই এবং যদি আপনি গম্বুজটিকে জবাবদিহি করতে চান তবে আপনি তাদের সিদ্ধান্ত নিতে দিন যে আপনি তাদের কাছ থেকে যা বলেছেন
রুন এফএস

টিডিডি কোনও ডিজাইনের কৌশল নয়, এটি কেবল একটি কোডিং কৌশল। blog.ploeh.dk/2010/12/22/TheTDDApostate অনেক মন্তব্যকারীরা একমত নন যে টিডিডি রিফ্যাক্টরিং (যা একটি ডিজাইনের কৌশল) জড়িত তবে রিফ্যাক্টরিং টিডিডি বোঝায় না। কেউ পরীক্ষা ছাড়াই রিফ্যাক্টর করতে পারে, বৃহত জটিল রিফ্যাক্টরিং যেভাবেই ইউনিট পরীক্ষাগুলিকে প্রভাবিত করে অর্থাৎ পরীক্ষাগুলিও খুব বেশি সংশোধন করা দরকার তাই অবৈধ / মিথ্যা সবুজও হয়ে উঠতে পারে; সহজ রিফ্যাক্টরিংগুলি অনেকে পরীক্ষাগুলিকে প্রভাবিত করে না তবে ত্রুটির ঝুঁকি কম - কারণ রিফ্যাক্টরিং সহজ।
কোলাএ

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

6

আপনি যদি ইউনিট পরীক্ষার বিপরীতে প্রমাণ পেতে আগ্রহী হন তবে তা ভালভাবে গবেষণা করা এবং চিন্তাভাবনা করা নিবন্ধটি:

জেমস ও কোপলিয়েন কেন সবচেয়ে ইউনিট টেস্টিং নষ্ট হয় (হাতা এবং চৌকস গুরু)


6

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

টিমটি দলটি খুঁজে পেয়েছিল যে টিডিডি দলগুলি কোড তৈরি করেছিল যা টিডিডি নন দলগুলির চেয়ে 60০% থেকে 90% শতাংশের (ত্রুটিযুক্ত ঘনত্বের ক্ষেত্রে) ভাল better তবে টিডিডি দলগুলি তাদের প্রকল্পগুলি শেষ করতে 15% থেকে 35% এর মধ্যে বেশি সময় নিয়েছে।


5

একজন লোক এর ভিতর থেকে তার সংস্থা পরিবর্তন করছে এমন এক দুর্দান্ত এবং মনোরঞ্জনজনক পঠন এখানে। এটি টিডিডির মধ্যে সীমাবদ্ধ নয়। http://jamesshore.com/Change-Dedia/ নোট করুন যে তিনি বেশ কিছু সময়ের জন্য "শিম কাউন্টারগুলি" রাজি করেননি এবং পরিবর্তে "গেরিলা কৌশল" করেছিলেন।


লিঙ্কটি আকর্ষণীয় দেখাচ্ছে ... পুনরায় যাচাই করার যোগ্য: সংস্থাগুলির কাজের প্রক্রিয়াগুলি পরিবর্তন করা হচ্ছে ...
পেস্টি

5

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

অতিথি সম্পাদকদের ভূমিকা: টিডিডি F নির্ভীক প্রোগ্রামিংয়ের আর্ট [ লিঙ্ক ]

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

সারণী 1. পরীক্ষা-চালিত বিকাশের নির্বাচিত পরীক্ষামূলক গবেষণার সংক্ষিপ্তসার: শিল্পের অংশগ্রহণকারী *

https://www.computer.org/cms/Computer.org/dl/mags/so/2007/03/figures/s3024t1.gif

সারণী ২. টিডিডির নির্বাচিত গবেষণামূলক সংক্ষিপ্তসার: একাডেমিক অংশগ্রহণকারী *

এখানে চিত্র বর্ণনা লিখুন

বাহ্যিক গুণমান এবং উত্পাদনশীলতায় টেস্ট-চালিত বিকাশের প্রভাব: একটি মেটা-বিশ্লেষণ [ লিঙ্ক ]

সারাংশ:

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

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

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


4

ভাল, কিছু বড় সংস্থাগুলি রয়েছে যেগুলি আপনাকে ইউনিট টেস্টিং ব্যবহার করা প্রয়োজন তবে আপনি যদি একটি ছোট সংস্থা হন তবে বড়গুলি কেন অনুকরণ করবেন?

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

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

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

প্রচুর সংখ্যক সংস্থায় সফ্টওয়্যার বিকাশের ভিন্ন মডেলটিতে স্যুইচ করার প্রচুর ব্যর্থতা এবং সাফল্যের গল্প রয়েছে।

যখনই আমার কিছু নতুন লেখার দরকার ছিল তখনই আমি এটি ব্যবহার শুরু করেছি। একটি পুরানো প্রবাদ আছে যা আমার পক্ষে ইংরেজী অনুবাদ করা কিছুটা কঠিন কিন্তু:

এত সহজ কিছু দিয়ে শুরু করুন যাতে আপনি খেয়াল করেন না যে আপনি এটি করছেন। ম্যারাথন প্রশিক্ষণের জন্য, 9 মিটার হাঁটা দিয়ে শুরু করুন এবং 1 মিটার চালান, পুনরাবৃত্তি করুন।


সুতরাং, আমি ঠিক এটি করা উচিত? এটি কাজ করার গ্যারান্টিযুক্ত, এবং আমার সাথে অন্য কেউ এটি না করে তাতে কিছু আসে যায় না?
রাভেন

প্রকৃতপক্ষে, এটি একটি জোল টেস্ট: joelonsoftware.com/articles/fog000000004343 html । আমার কাছে মনে হয়েছে যে ইউনিট টেস্টে নোবেল পুরষ্কার পুরষ্কার অধ্যয়নের অভাবের চেয়ে আপনার আরও সমস্যা হতে পারে
জোন্ক ২

4

এমন পরিসংখ্যান রয়েছে যেগুলি প্রমাণ করে যে ইউনিট / ইন্টিগ্রেশন টেস্টে পাওয়া একটি বাগ ফিক্সিংয়ের জন্য লাইভ সিস্টেমে একবারে ফিক্সিংয়ের চেয়ে অনেকগুণ কম ব্যয় হয় (তারা হাজার হাজার বাস্তব জীবনের প্রকল্পের উপর নজর রাখার উপর ভিত্তি করে)।

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


1
এটি স্টিভ ম্যাককনেলের কোড কমপ্লিটে আচ্ছাদিত , এটি এমন একটি বই যা আপনি সম্ভবত অন্য কারণে আপনার বুকসেলফটিতে রাখতে চান।
রবার্ট রসনি 21

এটি পরীক্ষার পদ্ধতির সাথে সম্পর্কিত নয় তবে প্রক্রিয়া চলাকালীন কোনও বাগ রিপোর্ট হওয়ার সাথে সাথে আরও উল্লেখযোগ্যতার মধ্যে বাগগুলি সন্ধান করার ক্ষেত্রে আরও ভাল সময় ব্যয় করা হবে যেহেতু বিকাশকালে যখন এটির সন্ধান করার ব্যয়টি 1000 গুন অবধি ব্যয় করা হিসাবে রিপোর্ট করা হয় (একটি প্রতি দশমিক দশমিক
দশকের

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

0

আমার কাছে এর জন্য এক সেট ডেটা পয়েন্ট রয়েছে - এমন এক অভিজ্ঞতা থেকে যা আমাকে ইউনিট পরীক্ষায় বিক্রি করে।

অনেক চাঁদ আগে আমি একটি নতুন ভিবি 6 প্রকল্পে কাজ করে নতুন স্নাতক ছিলাম এবং সঞ্চিত পদ্ধতি কোডের একটি বৃহত বডি লেখার উপলক্ষ ছিল। আমি যে সাবসিস্টেমটি লিখেছিলাম তা পুরো কোড বেসের প্রায় 1/4 অংশ নিয়ে গঠিত - 50K বা এর মধ্যে প্রায় 13,000 এলওসি।

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

টুকরোটির কিউএর পরিসংখ্যানগুলি হ'ল পুরো সাবসিস্টেমটিতে প্রায় 40 বা 50 টি ত্রুটি উত্থাপিত হয়েছিল, যার মধ্যে দুটি সঞ্চিত পদ্ধতি থেকে উদ্ভূত হয়েছিল। এটা কোড লাইনের এক প্রতি 6,500 খুঁতএটি পুরো টুকরো জুড়ে বনাম 1 প্রতি 1-1000 বা 200 । মনে রাখবেন, ভিবি 6 কোডের প্রায় 2/3 টি ত্রুটি পরিচালনা ও লগিংয়ের জন্য বয়লারপ্লেট কোড ছিল, সমস্ত প্রক্রিয়া জুড়ে অভিন্ন।

খুব বেশি হ্যান্ডউইভিং ছাড়াই আপনি ইউনিট পরীক্ষায় ত্রুটি হারগুলিতে কমপক্ষে একটি অর্ডার-অফ-প্রগতি উন্নত করতে পারেন।

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