একটানা সংহত হওয়ার আগে কতগুলি বিকাশকারী আমাদের জন্য কার্যকর হয়?


34

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

কোন পর্যায়ে ক্রমাগত সংহতকরণ নিজের জন্য অর্থ প্রদান করে?

সম্পাদনা: এগুলি আমার অনুসন্ধান ছিল

সেটআপটি ছিল ক্রুজকন্ট্রোল.নিটের সাথে নেট, ভিএসএস বা টিএফএস থেকে পড়া।

এখানে ব্যর্থতার কয়েকটি কারণ রয়েছে যাগুলির সেটআপের সাথে কোনও সম্পর্ক নেই:

তদন্তের ব্যয়: কোড, তথ্য মানের বা অন্য কোনও উত্স যেমন কোনও অবকাঠামোগত সমস্যা (যেমন, কোনও নেটওয়ার্ক সমস্যা, উত্স নিয়ন্ত্রণ থেকে সময়সীমা পড়া, তৃতীয় পক্ষের সার্ভার) ডাউন, ইত্যাদি, ইত্যাদি)

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

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

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

বিসপোকের প্রকাশের ব্যয় : ন্যান্ট স্ক্রিপ্টগুলি কেবল এতদূর যায়। তারা EPiServer, CMS, বা কোনও UI ভিত্তিক ডাটাবেস স্থাপনার জন্য CMS নির্ভরশীল বিল্ডসগুলির জন্য এগুলি কার্যকর নয়।

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

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

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

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

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


13
এটি একটি দলের পক্ষেও উপকারী হতে পারে। বিশেষত যদি আপনি একটি দীর্ঘ চলমান টেস্ট স্যুট পেয়ে থাকেন তবে সার্বক্ষণিকভাবে এটি করার চেয়ে রাতারাতি বিল্ড এবং টেস্ট রানের ফলাফলগুলি স্বয়ংক্রিয়ভাবে পাওয়া আরও ভাল get
এসকে-লজিক

3
@ করনোটৌরাস, রিমোট গিট রিপোজিটরির স্থানীয় ক্লোনটি সময় নিয়ন্ত্রণের উত্স নিয়ন্ত্রণ থেকে মুক্তি দেয়। নেটওয়ার্ক ইস্যু - পণ্য তৈরির জন্য? এখন, সত্যিই ...

3
@Carnotaurus লাল ডেটা গুণমান বা পরিকাঠামো আলো কারণে একটি codesmell হয় ফ্র্যাজাইল টেস্ট । আরও দেখুন যাতে: পরিচালনার-রক্ষণাবেক্ষণ বোঝা অফ ইউনিট-পরীক্ষা
k3b

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

6
"নীচের লাইন: যখন আমরা অন্য কাউকে এটি ঠিক করার জন্য আমাদের অর্থ প্রদান করতে পারি তখন কেন কাজের পণ্য তৈরি করা হয়, কারণ তারা সফ্টওয়্যারটিকে প্রথম স্থানে কাজ করবে বলে আশা করে না"? এটি আইনী সংজ্ঞাটি পূরণ করতে পারে না, তবে এটি আমার কাছে প্রতারণার মতো শোনাচ্ছে।
ক্রিস পিটম্যান

উত্তর:


43

সিআই-ইঞ্জিন স্থাপন করা কোনও বাড়িতে ফায়ার অ্যালার্ম স্থাপনের অনুরূপ।

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

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

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

এটি মানের নিশ্চয়তার একটি অংশ।


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


1
@ করনোটৌরাস, সেক্ষেত্রে ক্ষণস্থায়ী ত্রুটির জন্যও লাল আলো ব্যবহার করা হচ্ছে। আপনি যে সিআই ইঞ্জিন ব্যবহার করছেন তাতে সীমাবদ্ধতার মতো মনে হচ্ছে।

2
@ কার্নোটৌরাস আমার অভিজ্ঞতার সাথে সম্পর্কিত সমস্ত বিষয়ের প্রতিটি বিষয়কে পুঙ্খানুপুঙ্খভাবে নথিভুক্ত করার কাজটি করা হয়েছে যেমন একটি রিলিজ করা এবং তারপরে বেশ কয়েকবার রিলিজ করে বলা, একটি পিঁপড়া বা মাভিন স্ক্রিপ্টে কর্মপ্রবাহ ক্যাপচারের চেয়ে বড় যা পরে কোনও রোবট দ্বারা সম্পাদন করা যেতে পারে যেকোন সংখ্যক বার। সৈয়দ রোবটটি পরিষ্কার ঘর পরিবেশে কাজ করে যাতে বিল্ডগুলি পুনরায় উত্পাদনযোগ্য হয় তা নিশ্চিত করে কাজ করে।

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

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

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

33

এটি কতগুলি বিকাশকারী নয়, 1 এবং এন (অন্তর্ভুক্ত) থেকে যেখানে 1 ও এন রয়েছে সেখানে কত পদক্ষেপ নেয় ...

1: কোড
এবং
এন পরীক্ষা করা হচ্ছে: স্থাপনযোগ্য \ স্থাপনযোগ্য প্যাকেজ রয়েছে

যদি এন <2 আপনার অন্যথায় সিআইয়ের দরকার না হয় তবে আপনার সিআই দরকার


আপনার অনুসন্ধানগুলি পড়া থেকে আপডেট আমি কেবল এই সিদ্ধান্তে পৌঁছাতে পারি যে আপনি ভুল দিক থেকে এবং ভুল কারণে সিআইয়ের কাছে গিয়েছিলেন।


1
+1 - আমি উপরেরটিতে আমি আরও অনেক যোগ করতে পেরেছি - তবে কেন আমি সিআই পছন্দ করি তার মূলটির খুব কাছাকাছি ... এটি যা করে তা কেবল নয় তবে এটি তৈরি করার জন্য আপনার কী করা দরকার কাজ (সেই প্রয়োজনীয়তাগুলি হ'ল আপনার যেভাবেই করা উচিত)
মার্ফ

2
@ মুরফ: হ্যাঁ, এবং এটি খুব সামান্য সুবিধাগুলি নিয়ে আসে 1) আপনার সংগ্রহস্থল কী তৈরি করবে তা জেনে, 2) একক ক্লিক বিল্ড, 3) কোনও মুহুর্তের বিজ্ঞপ্তিতে একটি সংস্করণ প্রকাশ করতে সক্ষম হওয়া এবং আরও অনেক কিছু
বাইনারি ওয়ারিয়ার

সুতরাং এটি ন্যায়সঙ্গতভাবে বলা যায় যে এটি কী কী প্রকাশ করা হবে তার জটিলতার উপর নির্ভর করে, পৃথক স্তরকে "পরীক্ষা" করতে সক্ষম হিসাবে স্থাপনার কতগুলি পদক্ষেপ দ্বারা পরিমাপ করা হয়?
কার্নি কোড 6

1
@ করনোটৌরাস: দুঃখিত সাথী, তবে আমি নিশ্চিত নই যে আপনি কী বলতে চাইছেন তা আমি জানি। পরীক্ষার সাথে সিআইয়ের কিছু করার নেই। হ্যাঁ, আপনি বিল্ডের অংশ হিসাবে ইউনিট পরীক্ষা চালাতে - এবং করা উচিত - তবে পরীক্ষার অংশ হিসাবে সেটআপ না করে এমন কোনও কিছুর উপর নির্ভর করা উচিত নয়। তবে সিআই সহায়তা সহায়তা করে। সিআই -এর অনেকগুলি - অন্যতম সুবিধা হ'ল এটি একটি QA দলকে তাত্ক্ষণিকভাবে এবং অবিচ্ছিন্নভাবে নতুন কোড পরিবর্তন করতে অনুমতি দেয়। সিআই = অবিলম্বে প্রকাশের ক্ষমতা
বাইনারি ওয়ারিয়ার

1
@ বাইনারিওরিয়ার - আমার মনে হয় পদক্ষেপ 1 কোডটি পরীক্ষা করছে;)

10

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

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


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

4

আপনি যেমনটি বলেন সেট আপ করার জন্য এবং এটি চালিয়ে যাওয়ার জন্য একটি ওভারহেড ব্যয় রয়েছে।

তবে বিরতি এমনকি পয়েন্ট কোথায় রয়েছে তা প্রশ্ন আপনার দলে আপনার সংখ্যা কত লোকের কাজ নয়, বরং এটি আপনার প্রকল্পের দৈর্ঘ্যের একটি ফাংশন।

এটি বলার পরেও, সেটআপ ব্যয়ের একটি অংশ রয়েছে যা আপনি আপনার ভবিষ্যতের সমস্ত প্রকল্পে ব্যবহার করতে পারেন, সুতরাং দীর্ঘমেয়াদে ওভারহেড ব্যয় শূন্যের কাছে পৌঁছতে পারে।


প্রকল্পের দৈর্ঘ্য (প্রকল্পের আকার) আপনার জন্য সিআই গুরুত্বপূর্ণ? আমি ভুয়া অ্যালার্মগুলি খুব ব্যয়বহুল বলে খুঁজে পেয়েছি।
CarneyCode

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

হ্যাঁ, এটি তত্ত্ব
CarneyCode

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

3

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

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

স্ক্র্যাচ থেকে এটি করতে এক ঘন্টা বা তার বেশি সময় লাগে (গুগলের সাথে কোনও দিন যদি আপনি আগে এটি না করেন)। এটির জন্য কোনও মূল্য নেই কারণ সমস্ত সরঞ্জামগুলি বিনামূল্যে পাওয়া যায়।

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

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


যেমনটি আমি বলেছি, এটি উত্তরাধিকারের কোডটি toেকে দেওয়ার একক পরীক্ষা যা একটি বড় ব্যয় উপস্থাপন করে। এছাড়াও, আমরা এখানে একটি ওয়ান ম্যান দলের কথা বলছি না ... আমি জেনকিন্সের শীর্ষস্থানীয়দের প্রশংসা করি।
কার্নি কোড

1
এর মূল্য কী, তার জন্য আমি কোনও পরীক্ষা না করেই সিআই সার্ভার চালানো থেকে যথেষ্ট উপকার পেয়েছি - কেবল ক্লিন বিল্ডসের আত্মবিশ্বাস এবং মোতায়েন প্যাকেজের উপলব্ধতা থেকে।
মার্ড

1

আপনি যদি প্রতিটি পরিবর্তনের পরে আপনার প্রকল্পের সমস্ত দিক যাচাই করতে পারেন তবে আপনার সিআইয়ের দরকার নেই।

অন্য সব ক্ষেত্রে, এটি নেট জয়।


আমি মনে করি আমি এখানে থেকে আসছি। এটিও অনেক সস্তা।
কার্নি কোড 6

এই ক্ষেত্রে যাচাইকরণ দ্বারা আপনি কী বোঝাতে চান? যদি এটি স্বয়ংক্রিয় হয়, যত তাড়াতাড়ি ঘন ঘন ঘটে এবং মানসিক স্লিপগুলি এবং তদারকিতে সনাক্ত করতে সহায়তা করে, তবে আমি এর জন্য আছি। :-)
উইলিয়াম পায়েেন

1

ওভারহেড ন্যূনতম। আমি বলতে চাই একটি ম্যান প্রকল্পের জন্য এটি কার্যকর হবে। একবার আপনি দু'এ পৌঁছে এটি অমূল্য।

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


আপনি সিআই ছাড়া মানে?
CarneyCode

1

সিআই যখন নিজের জন্য অর্থ প্রদান করে, এই প্রশ্নটি কোনও নতুন প্রকল্পে উত্তর দেওয়া খুব কঠিন।

একটি বিদ্যমান প্রকল্পে এটি দেখতে অনেক সহজ। সরবরাহ শৃঙ্খলার বিকাশের অংশে যদি আপনি একটি জটিল ত্রুটি খুঁজে পান, তবে আপনি জানেন যে সমস্যাটি প্রথম দিকে সম্ভব exists ফিক্সিংয়ের জন্য খরচ এখন সবচেয়ে কম lowest যদি সমস্যাটি বিকাশের উপরের কোনও পরিবেশে বিদ্যমান থাকে তবে আপনার ব্যয় বেশি।

এখন, পরিচালনাটি কোনও বাগ দিয়ে প্রকাশের সিদ্ধান্ত নিতে পারে তবে এটি ব্যবসায়ের ঝুঁকি। অন্তত রাতের ফোন কল / প্যানিকের চেয়ে কমপক্ষে এখন সেই ঝুঁকি মূল্যায়নের মাধ্যমে এটিকে প্রশমিত করা যেতে পারে, যা যদি তাদের প্রতি ঘন্টার হারে বিল দেওয়া হয়, তবে এটি ব্যয়বহুল ব্যয়বহুল হয়ে ওঠে।

ব্যয়ের ক্ষেত্রে বিবেচনা করার জন্য আরেকটি বিষয়। আপনার কিউএ বিভাগ কেমন? এটা কি ম্যানুয়াল টেস্টিং? আপনি যদি সিআই যান, আপনি আপনার ডি বাক্সের বিপরীতে sc স্ক্রিপ্টগুলি স্বয়ংক্রিয় করে সামগ্রিক QA ব্যয় হ্রাস করতে সক্ষম হতে পারেন। আপনি সিআই পর্বে জড়িত হয়ে আপনার প্রকল্পকে সমর্থনকারী QA ভাঙ্গার সংখ্যা হ্রাস করতে সক্ষম হতে পারেন।


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

না, এটি সাধারণ নয় not
কোয়ান্ট_দেব

আমি খুব বেশি পাল্টা প্রমাণ দেখিনি
CarneyCode

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

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

1

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


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

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

... অতএব, আপনি শীর্ষ স্তরে সিস্টেমে খুঁজে পেতে এবং যা ঘটে তা দেখে নস্টিস্ট জাঙ্ক ফেলে দিয়ে যে উপকার পাবেন আপনি ... :-)
উইলিয়াম পায়েেন

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

আসলে, আমি সম্প্রতি ফাজ টেস্টিংয়ের একটি আকর্ষণীয় গ্রহণ আবিষ্কার করেছি যা ইউনিট পরীক্ষার খালাস করতে পারে: jester.sourceforge.net
উইলিয়াম

0

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

ওভারহেড সত্যিই খুব খারাপ নয়।


0

এক. হ্যাঁ, একটানা সংহতকরণ ব্যবহার শুরু করার জন্য যথেষ্ট to


0

এটি কতজন বিকাশকারী তা নয়, তবে এটির বিষয়

ক। অটোমেশন ব্যবহার করে আপনি কত সময় বাঁচান এবং কতবার।

  • একীকরণের পরে বিল্ডিং, স্বয়ংক্রিয় পরীক্ষা চালানো এবং সেটআপগুলি তৈরি করতে সময় সাশ্রয় করা হয়েছে * চেক-ইন-এর ফ্রিকোয়েন্সি = সময় শতাংশের সাশ্রয়।

খ। আপনার কাছে কতগুলি সংস্করণ / শাখা / পণ্য রয়েছে।

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