না, এটি দুটি কারণে নয়:
দ্রুততা
কমিটগুলি দ্রুত হওয়া উচিত। একটি প্রতিশ্রুতি যা 500 এমএস লাগে, উদাহরণস্বরূপ, খুব ধীর এবং এটি বিকাশকারীদের আরও অল্প পরিমাণে প্রতিশ্রুতিবদ্ধ করতে উত্সাহিত করবে। হ্যালো ওয়ার্ল্ডের চেয়ে বড় যে কোনও প্রকল্পের জন্য, আপনার কয়েক ডজন বা শত শত পরীক্ষা হবে, প্রাক-প্রতিশ্রুতি দেওয়ার সময় সেগুলি চালাতে খুব বেশি সময় লাগবে।
অবশ্যই, হাজার হাজার পরীক্ষাগুলি সহ বৃহত্তর প্রকল্পগুলির জন্য পরিস্থিতি আরও খারাপ হয়ে যায় যা কোনও বিতরণকৃত আর্কিটেকারে কয়েক মিনিট বা একক মেশিনে কয়েক সপ্তাহ বা কয়েক মাস ধরে চলে।
সবচেয়ে খারাপ দিকটি এটি হ'ল এটি দ্রুত করার জন্য আপনার করার মতো খুব বেশি কিছু নেই। ছোট পাইথন প্রকল্পগুলিতে, যা বলে, শত ইউনিট পরীক্ষা রয়েছে, গড় সার্ভারে চালাতে কমপক্ষে এক সেকেন্ড সময় লাগে, তবে প্রায়শই অনেক বেশি সময় লাগে। একটি সি # অ্যাপ্লিকেশনের জন্য, সংকলনের সময়টির কারণে এটি গড়ে চার-পাঁচ সেকেন্ডের হবে।
সেদিক থেকে, আপনি আরও ভাল সার্ভারের জন্য অতিরিক্ত 10,000 ডলার দিতে পারেন যা সময় কমিয়ে দেবে, তবে খুব বেশি নয়, বা একাধিক সার্ভারগুলিতে পরীক্ষা চালাবে, যা কেবল জিনিসগুলি ধীর করে দেবে।
আপনার যখন কয়েক হাজার পরীক্ষা (পাশাপাশি কার্যকরী, সিস্টেম এবং ইন্টিগ্রেশন টেস্টস) থাকে তখন উভয়ই ভাল অর্থ প্রদান করে, যা তাদের কয়েক সপ্তাহের পরিবর্তে কয়েক মিনিটের মধ্যে চালানোর অনুমতি দেয়, তবে এটি আপনাকে ছোট স্কেল প্রকল্পে সহায়তা করবে না।
পরিবর্তে, আপনি যা করতে পারেন তা হ'ল:
বিকাশকারীদের প্রতিশ্রুতি দেওয়ার আগে স্থানীয়ভাবে সংশোধিত কোডের সাথে দৃ strongly়তার সাথে সম্পর্কিত পরীক্ষা চালানোর জন্য উত্সাহিত করুন। তারা সম্ভবত কয়েক হাজার ইউনিট পরীক্ষা চালাতে পারে না, তবে তারা তাদের মধ্যে পাঁচ-দশটি চালাতে পারে।
নিশ্চিত হয়ে নিন যে প্রাসঙ্গিক পরীক্ষাগুলি সন্ধান করা এবং সেগুলি চালানো আসলে সহজ (এবং দ্রুত)। উদাহরণস্বরূপ, ভিজ্যুয়াল স্টুডিওগুলি সনাক্ত করতে সক্ষম হয়েছে যা শেষ রানের পরে পরিবর্তিত পরিবর্তনগুলি দ্বারা কোন পরীক্ষাগুলি প্রভাবিত হতে পারে। অন্যান্য আইডিই / প্ল্যাটফর্ম / ভাষা / ফ্রেমওয়ার্কগুলির একই কার্যকারিতা থাকতে পারে।
কমিটিকে যত তাড়াতাড়ি সম্ভব রাখুন। স্টাইলের নিয়ম প্রয়োগ করা ঠিক আছে, কারণ প্রায়শই এটি করা একমাত্র জায়গা এবং এই জাতীয় চেকগুলি প্রায়শই আশ্চর্যরকম দ্রুত হয়। স্থির বিশ্লেষণ দ্রুত করা ঠিক আছে, যা খুব কমই ঘটে। ইউনিট পরীক্ষা চালানো ঠিক নয়।
আপনার অবিচ্ছিন্ন ইন্টিগ্রেশন সার্ভারে ইউনিট পরীক্ষা চালান।
নিশ্চিত করুন যে বিকাশকারীরা বিল্ডটি ভেঙে দেওয়ার পরে স্বয়ংক্রিয়ভাবে অবহিত হয়ে গেছে (বা ইউনিট পরীক্ষাগুলি ব্যর্থ হওয়ার পরে, আপনি যদি নিজের কোডের সাথে পরিচয় করিয়ে দিতে পারেন এমন কিছু সম্ভাব্য ভুল পরীক্ষা করে এমন একটি সরঞ্জাম হিসাবে একটি সংকলককে বিবেচনা করেন যা কার্যত একই জিনিস)।
উদাহরণস্বরূপ, শেষের বিল্ডগুলি চেক করতে কোনও ওয়েব পৃষ্ঠায় যাওয়া কোনও সমাধান নয়। তাদের স্বয়ংক্রিয়ভাবে জানানো উচিত । একটি পপআপ দেখানো বা একটি এসএমএস পাঠানো কীভাবে তাদের জানানো হতে পারে তার দুটি উদাহরণ।
নিশ্চিত করুন যে বিকাশকারীরা বুঝতে পারেন যে বিল্ডটি ভাঙ্গা (বা ব্যর্থ হওয়া রিগ্রেশন পরীক্ষাগুলি) ঠিক নয় এবং এটি হওয়ার সাথে সাথেই তাদের শীর্ষস্থানীয় অগ্রাধিকারটি এটি ঠিক করা। তারা কোনও উচ্চ-অগ্রাধিকার বৈশিষ্ট্যটিতে কাজ করছে কিনা তা বিবেচ্য নয় যে তাদের বস আগামীকালের জন্য জাহাজে পাঠাতে বলেছিল: তারা বিল্ডটি ব্যর্থ হয়েছে, তাদের এটি ঠিক করা উচিত।
নিরাপত্তা
সুরক্ষা হোস্ট করা সার্ভারটি কাস্টম কোড যেমন চলমান ইউনিট পরীক্ষাগুলি বিশেষত সুরক্ষার কারণে চালানো উচিত নয়। গিটল্যাবের একই সার্ভারে সিআই রানারটিতে এই কারণগুলি ইতিমধ্যে ব্যাখ্যা করা হয়েছে ?
অন্যদিকে, আপনার ধারণাটি প্রাক-প্রতিশ্রুতি হুক থেকে বিল্ড সার্ভারে কোনও প্রক্রিয়া চালু করা হয়, তবে এটি আরও কমিটগুলি কমিয়ে দেবে।