ইউনিট পরীক্ষা ছাড়াই চটপটে


27

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

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

অন্য কিছু উপায় থাকতে পারে তবে তারা কীভাবে সম্ভবত কাজ করতে পারে তা আমি এখনও দেখতে পাচ্ছি না।


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

5
টিডিডি একমাত্র অনুশীলন নয় যা আপনাকে সেখানে নিয়ে যায়। যদিও এটি একটি সাধারণ বিষয়। ব্যক্তিগতভাবে, আমি বিডিডিটিকে আরও বাস্তববাদী পদ্ধতির বলে মনে করি।
মেটাফাইট

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

এই প্রশ্নটি মিশ্র ইউনিট পরীক্ষা এবং টিডিডি দিয়ে আপনি টিডিডি ছাড়াই ইউনিট পরীক্ষা করতে পারবেন।
ওয়ালফ্র্যাট

এখানে উত্তরগুলি পড়া, আমি অবাক হয়েছি যেহেতু আমি 00 এর দশকের মাঝামাঝি সময়ে চৌকস শিখছি things উচ্চ গতিতে উচ্চমানের কোড বজায় রাখতে টিডিডি এবং জোড় প্রোগ্রামিংকে ESSENTIAL চতুর অনুশীলন হিসাবে বিবেচনা করা হয়েছিল।
নাম

উত্তর:


37

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

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

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


চটফটে থাকতে আপনার কি চটপটি ম্যানিফেস্টোটি অনুসরণ করতে হবে?
জেফো

@ জেফও নেই আপনি না, তবে এটি অবশ্যই সহায়তা করে। আমি আমার উদ্দেশ্য পরিষ্কার করতে সম্পাদনা করেছি।
রাবারডাক

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

1
সেখানে @ জর্জিওতে আমি আপনার সাথে একমত হতে পারি না। আমাদের মধ্যে কেউ যদি এগ্রিলের কথা শোনার আগে কয়েক বছর আগে আমি চটফটে দলে ছিলাম।
রাবারডাক

2
@ কর্টআ্যামমন - আপনি যদি আপনার পদ্ধতি অনুসারে চতুরতা (বড় "এ" চতুর) সংজ্ঞায়িত করতে চান তবে আমি আপনার সাথে একমত হব, তবে আপনি যদি চতুর হতে চান তবে (সামান্য "ক" প্রকৃতপক্ষে চতুর হওয়ার কারণে আপনি পরিবর্তনগুলি আরও ভালভাবে পরিচালনা করতে পারেন) ), তাহলে আপনাকে কোনও নির্দিষ্ট পদ্ধতি অনুসরণ করতে হবে না। আপনি যদি জলপ্রপাতটি করতে পারেন এবং এখনও পরিবর্তনগুলি পরিচালনা করতে পারেন (কঠিন, তবে অসম্ভব নয়) তবে কে চিন্তা করে?
JeffO

30

চতুর ইশতেহারটি সহজভাবে বলে:

প্রক্রিয়া এবং সরঞ্জামগুলির উপর ব্যক্তি এবং ইন্টারঅ্যাকশন

বিস্তৃত ডকুমেন্টেশন ওভার সফ্টওয়্যার

চুক্তি সমঝোতার উপর গ্রাহকের সহযোগিতা

একটি পরিকল্পনা অনুসরণ করে পরিবর্তন সাড়া

সেখানে ইউনিট পরীক্ষার কোনও উল্লেখ নেই। এমনকি 12 নীতিগুলি পরীক্ষার কথা উল্লেখ করে না।

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


4
কোনও দল কোনও পরীক্ষা ছাড়াই যে কোনও পরিবেশে কীভাবে সফটওয়্যারটি বজায় রাখতে পারে তা দেখতে শক্ত ।
ব্রায়ান ওকলে

6
কিছু দেখার পক্ষে শক্ত তাই কেবল অসম্ভব করে না
এম্পেট

8

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

 বিস্তৃত ডকুমেন্টেশন ওভার সফ্টওয়্যার

সফ্টওয়্যারটি কাজ করছে কীভাবে কেউ জানতে পারবে? ইশতেহারে টেস্টিং শব্দটি স্পষ্ট করে বলা দরকার না। এটি সংশ্লেষ

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


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

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

আমি আপনার দৃষ্টিভঙ্গি বুঝতে পারি। যাইহোক, প্রশ্নটি সাধারণভাবে সঠিকভাবে পরীক্ষা নয়, বিশেষে ইউনিট পরীক্ষা সম্পর্কে জিজ্ঞাসা করে । প্রশ্নের প্রসঙ্গে আপনার উত্তরটি পড়া আপনার পরীক্ষাকে "ইউনিট টেস্টিং" হিসাবে বিবেচনা করে!
টি। সার - মোনিকা

সেখানে, তার জন্য দুঃখিত।
এক্সেল

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

2

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

না, আপনার কোনও ইউনিট পরীক্ষার দরকার নেই।

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

আপনি ইউনিট টেস্টিংটি বিকাশ করতে এবং এটির পক্ষে যথেষ্ট ন্যায্যতা পেতে পারেন তবে এমন অনেকগুলি বিষয় রয়েছে যা বিকাশে সহায়তা করতে পারে যা আপনার নাও থাকতে পারে।

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


আপনি কেবলমাত্র ইন্টিগ্রেশন টেস্টিংয়ের সাথে চটপটি প্রক্রিয়া চালাতে পারেন। এটি কি তাত্ত্বিক বা অভিজ্ঞতা থেকে কথিত?
আর সাহু

1

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

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

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


1

আমি যুক্তি (অন্যান্য উত্তর) এর পাল্টা বলতে চাই যে এগ্রিল ইশতেহারে এ সম্পর্কে স্পষ্ট করে কিছু জানানো হয়েছে, যথা:

প্রযুক্তিগত উৎকর্ষতা এবং ভাল ডিজাইনের দিকে অবিচ্ছিন্ন মনোনিবেশ তত্পরতা বাড়ায়।

আমি প্রযুক্তিগত উৎকর্ষতার LeSS সংজ্ঞাটি সত্যিই পছন্দ করি এবং এটিতে ইউনিট-টেস্টিং এবং টিডিডি অন্তর্ভুক্ত। এখন আপনি যুক্তি দিতে পারেন যে এটি অর্জনের জন্য আপনার ইউনিট-টেস্ট এবং টিডিডি দরকার হতে পারে না তবে এটি সর্বাধিক সাধারণ এবং সম্ভবত পরামর্শ দেওয়া উপায়।

সাংগঠনিক তত্পরতা প্রযুক্তিগত চৌর্যবৃত্তি দ্বারা সীমাবদ্ধ

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

আপনি যদি অন্যভাবে পরিবর্তিত প্রতিরোধ থেকে আপনার পণ্যকে আটকাতে পারেন তবে আপনি সঠিক পথে যেতে পারেন তবে:

আমি প্রোগ্রামারদের জন্য বিশ্বকে সুরক্ষিত করার জন্য এক্সট্রিম প্রোগ্রামিং উদ্ভাবন করেছি। - কেন্ট বেক

স্ক্রামের কোনও প্রযুক্তিগত অনুশীলনের অভাব রয়েছে তবে জেফ এটি সম্পর্কে নিম্নলিখিতটি বলেছেন:

আমি কখনও হাইপার-প্রোডাকটিভ স্ক্রাম টিম দেখিনি যা চরম প্রোগ্রামিং বিকাশ অনুশীলন ব্যবহার করে না। - জেফ সাদারল্যান্ড

এই নিবন্ধ থেকে উদ্ধৃত: http://ronjeffries.com/articles/017-02ff/gathering2017/

আমি প্রত্যাশা করব যে প্রযুক্তিগত অনুশীলন ছাড়াই স্ক্র্যাম দলগুলি অবশেষে প্রাকটিক্সগুলি ব্যবহার করে অনুরূপ অনুশীলন শুরু করবে। আপনিও হাইপার-প্রোডাকটিভ হতে চান, তাই না?

তত্পর fluence মডেল, দুই তারকা স্তর এটা উল্লেখ:

দরকারী কৌশলগুলির মধ্যে অবিচ্ছিন্ন একীকরণ, পরীক্ষা-চালিত বিকাশ , জুড়ি প্রোগ্রামিং এবং যৌথ মালিকানা অন্তর্ভুক্ত রয়েছে।

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

সুতরাং সাধারণ sensকমত্য হল হ্যাঁ ভাল ইউনিট-টেস্টিং, ক্লিন কোড এবং রিফ্যাক্টর অনুশীলন ব্যতীত বর্তমানে সত্যিকারের চৌকস হওয়া সম্ভব নয়। ভবিষ্যতে নতুন প্রযুক্তিগত অনুশীলনের উত্থানের সাথে সাথে এটি পরিবর্তিত হতে পারে।

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


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

2
প্রযুক্তিগতভাবে এটি সম্মত হয় না তবে উচ্চ স্তরের পরীক্ষাগুলি প্রায়শই আরও ভঙ্গুর, বজায় রাখা শক্ত এবং সম্ভবত আপনার যদি তাদের অনেকের কাছে থাকে তবে শেষ পর্যন্ত আপনাকে ধীর করে দিন। মার্টিন ফোলার কীভাবে এটি রেখেছেন তা আমি পছন্দ করি: "আপনি যদি উচ্চ স্তরের পরীক্ষায় ব্যর্থ হন তবে কেবলমাত্র আপনার কার্যকরী কোডে একটি বাগ নেই, আপনার একটি অনুপস্থিত বা ভুল ইউনিট পরীক্ষাও রয়েছে have" martinfowler.com/bliki/TestPyramid.html
নিলস ভ্যান রেইমার্সডাল

উচ্চ স্তরের পরীক্ষাগুলি একই জিনিসগুলি পরীক্ষা করে না, সুতরাং আপনি গর্তগুলি ছেড়ে দিন তবে বিবেচনা করুন যে বর্তমানে ঝুঁকি যথেষ্ট উপযুক্ত। কিছু ওয়েবসাইটের জন্য যা যথেষ্ট হতে পারে, সমালোচনামূলক ফাইনান্সিয়াল সিস্টেমের জন্য -> কোনও উপায় নেই।
ওয়ালফ্রাট
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.