গিট শাখার কৌশলটি পরীক্ষার / কিউএ প্রক্রিয়াটির সাথে একীভূত হয়


131

আমাদের উন্নয়ন দল গিটফ্লো শাখার কৌশলটি ব্যবহার করে আসছে এবং দুর্দান্ত হয়েছে!

আমাদের সফ্টওয়্যারটির মান উন্নত করতে সম্প্রতি আমরা কয়েকজন পরীক্ষক নিয়োগ করেছি। ধারণাটি হ'ল প্রতিটি বৈশিষ্ট্য পরীক্ষক দ্বারা পরীক্ষা / কিউএ করা উচিত।

অতীতে, বিকাশকারীরা পৃথক বৈশিষ্ট্যযুক্ত শাখাগুলিতে বৈশিষ্ট্যগুলিতে কাজ করে এবং হয়ে developগেলে সেগুলি আবার শাখায় মার্জ করে । বিকাশকারী সেই featureশাখায় নিজের কাজ নিজেই পরীক্ষা করবেন । পরীক্ষকগণের সাথে এখন, আমরা এই প্রশ্নটি জিজ্ঞাসা শুরু করি

কোন শাখায় পরীক্ষককে নতুন বৈশিষ্ট্যগুলি পরীক্ষা করা উচিত?

স্পষ্টতই, দুটি বিকল্প আছে:

  • স্বতন্ত্র বৈশিষ্ট্য শাখায়
  • উপর developশাখা

বিকাশ শাখায় পরীক্ষা করা

প্রাথমিকভাবে, আমরা বিশ্বাস করি এটি যাওয়ার নিশ্চিত উপায় কারণ:

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

এর সাথে সবচেয়ে বড় সমস্যা হ'ল:

  • developশাখা বাগ সঙ্গে দূষিত হয়।

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

বৈশিষ্ট্য শাখায় পরীক্ষা করা

সুতরাং আমরা আবার চিন্তা করেছি এবং সিদ্ধান্ত নিয়েছি আমাদের বৈশিষ্ট্য শাখাগুলির বৈশিষ্ট্যগুলি পরীক্ষা করা উচিত। আমরা পরীক্ষার আগে, আমরা developশাখা থেকে বৈশিষ্ট্য শাখায় পরিবর্তনগুলি একত্রিত করি ( developশাখার সাথে ধরা যাক )। এটা ভাল:

  • আপনি এখনও মূলধারার অন্যান্য বৈশিষ্ট্যগুলির সাথে বৈশিষ্ট্যটি পরীক্ষা করেন
  • আরও বিকাশ (যেমন বাগ সংশোধন, বিরোধ নিষ্পত্তি) developশাখাকে দূষিত করবে না ;
  • বৈশিষ্ট্যটি সম্পূর্ণরূপে পরীক্ষা ও অনুমোদন না হওয়া পর্যন্ত আপনি সহজেই প্রকাশ না করার সিদ্ধান্ত নিতে পারেন;

তবে কিছু ত্রুটি রয়েছে

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

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


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


2
আমাদের মডেল ঠিক একই। আপনার কিউএ টিম ক্ষেত্রের সমস্যাগুলি বা ইউএটি প্রক্রিয়া চলাকালীন সমস্যাগুলি থেকে আলাদা (যেমন আপনার যদি থাকে) বৈশিষ্ট্য শাখাগুলিতে কীভাবে সমস্যাগুলি প্রতিবেদন করে সে সম্পর্কে শুনতে আগ্রহী। আমরা আটলাসিয়ান JIRA ব্যবহার করি এবং আমাদের দুজনের জন্য আলাদা একটি কর্মপ্রবাহ রয়েছে।
void.pointer

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

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

উত্তর:


102

আমরা যেভাবে এটি করি তা নিম্নলিখিত:

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

  1. বিকাশকারী প্রতিটি নতুন বৈশিষ্ট্যের জন্য একটি বৈশিষ্ট্য শাখা তৈরি করে।
  2. বৈশিষ্ট্য শাখাটি (স্বয়ংক্রিয়ভাবে) বিকাশকারীদের পরীক্ষা করার জন্য প্রতিটি প্রতিশ্রুতি সহ আমাদের টেস্ট পরিবেশে মোতায়েন করা হয়।
  3. যখন বিকাশকারী স্থাপনার সাথে সম্পন্ন হয় এবং বৈশিষ্ট্যটি পরীক্ষার জন্য প্রস্তুত হয় তবে তিনি বৈশিষ্ট্য শাখায় বিকাশকারী শাখাকে একীভূত করে এবং বৈশিষ্ট্য শাখাকে মোতায়েন করেন যেখানে টেস্টে সর্বশেষতম বিকাশ পরিবর্তন রয়েছে।
  4. টেস্টে পরীক্ষক পরীক্ষা করে। তিনি হয়ে গেলে তিনি গল্পটি "গ্রহণ করেন" এবং বিকাশের বৈশিষ্ট্য শাখাকে মার্জ করে। যেহেতু বিকাশকারী পূর্বে বৈশিষ্ট্যটিতে বিকাশকারী শাখাটি মার্জ করেছিল আমরা সাধারণত খুব বেশি সংঘাতের আশা করি না। যাইহোক, যদি এটি হয় তবে বিকাশকারী সহায়তা করতে পারে। এটি একটি কৃপণ পদক্ষেপ, আমি মনে করি এটি এড়ানোর সর্বোত্তম উপায় হ'ল বৈশিষ্ট্যগুলি যতটা সম্ভব ছোট / নির্দিষ্ট রাখা keep বিভিন্ন বৈশিষ্ট্যগুলি শেষ পর্যন্ত একভাবে বা অন্যভাবে মার্জ করতে হবে। অবশ্যই দলের আকার এই পদক্ষেপের জটিলতায় একটি ভূমিকা পালন করে।
  5. বিকাশ শাখাটিও (স্বয়ংক্রিয়ভাবে) টেস্টে স্থাপন করা হয়। আমাদের একটি নীতি আছে যা শাখা তৈরি করে এমন বৈশিষ্ট্যগুলি বিকাশকারী শাখাকে ব্যর্থ করতে পারে যদিও কখনও ব্যর্থ হয় না।
  6. একবার কোনও বৈশিষ্ট্য স্থির হয়ে গেলে আমরা বিকাশ থেকে একটি রিলিজ তৈরি করি। এটি স্বয়ংক্রিয়ভাবে স্ট্যাগিংয়ে স্থাপন করা হয়। উত্পাদন স্থাপনার আগে সেখানে বিস্তৃত প্রান্ত থেকে শেষের পরীক্ষা হয়। (ঠিক আছে আমি সম্ভবত কিছুটা বাড়িয়ে বললাম সেগুলি খুব বেশি বিস্তৃত নয় তবে আমি মনে করি সেগুলি হওয়া উচিত)। আদর্শভাবে বিটা পরীক্ষক / সহকর্মী অর্থাৎ প্রকৃত ব্যবহারকারীদের সেখানে পরীক্ষা করা উচিত।

আপনি এই পদ্ধতির সম্পর্কে কি মনে করেন?


2
কীভাবে আমরা নিশ্চিত করব যে বৈশিষ্ট্য 1 এবং বৈশিষ্ট্য 2 যা স্বতন্ত্রভাবে পরীক্ষা করা হয়েছিল সেগুলিও একসাথে যাওয়ার জন্য ভাল (প্রশ্নটিতে উল্লিখিত)?
কুমার দীপক

2
আমরা পরোক্ষভাবে করি, একটিকে মার্জ করে এবং তার পরে অন্যটিকে বিকাশ করতে পারি। এটি উপরের প্রক্রিয়াটির 4 ধাপ এবং এটি কালানুক্রমিক ক্রমযুক্ত with সুতরাং যদি বৈশিষ্ট্য 2 মার্জ হওয়ার জন্য প্রস্তুত তবে বৈশিষ্ট্য 1 ইতিমধ্যে মার্জ করা হয়েছে, তবে বৈশিষ্ট্য 2 বিকাশকারী এবং পরীক্ষককে তাদের মার্জটি কার্যকর হবে কিনা তা নিশ্চিত করতে হবে।
আসপাসিয়া

1
আমি মনে করি যাইহোক এই গিট ব্রাঞ্চিং মডেল অনুসারে আপনার দুটি বৈশিষ্ট্য শাখা একে অপরের সাথে মার্জ করার কথা নয়।
আসপাসিয়া

1
আমরা step ধাপে সমস্যায় পড়েছি, বিশেষত ক্র্যাঞ্চ সময়ে একাধিক বৈশিষ্ট্য বিকাশে সরিয়ে নিয়ে যাওয়ার কারণে, কারণ ত্রুটিযুক্ত মার্জগুলি যা QA বৈশিষ্ট্য শাখায় সাইন ইন করার পরে ঘটে, যদিও ডিভলপটি যতটা সম্ভব দেরীতে ফিরিয়ে দেওয়া হয়েছিল। আমি এখানে আরও বিস্তারিতভাবে মন্তব্য করেছি: stackoverflow.com/a/25247382/411282
জোশুয়া গোল্ডবার্গ

8
আপনার কি প্রতিটি বৈশিষ্ট্য শাখার জন্য একটি সম্পূর্ণ টেস্ট পরিবেশ (ডিবি, সার্ভার, ক্লায়েন্ট, ইত্যাদি) রয়েছে? অথবা তারা পরিবেশ ভাগ করে নেয় এবং কেবল আলাদা আলাদা নাম থাকে (যেমন অ্যাপ্লিকেশন-নাম_ফেসার 1- অ্যাপ্লিকেশন নাম_ফ্যাটার 2) ইত্যাদি
হিনলিংকস

41

পরীক্ষার আগে, আমরা বিকাশকারী শাখা থেকে বৈশিষ্ট্য শাখায় পরিবর্তনগুলি মার্জ করি

না, বিশেষত যদি 'আমরা' QA পরীক্ষক হয়। সংশ্লেষের মধ্যে সম্ভাব্য দ্বন্দ্বগুলি সমাধান করা জড়িত, যা সেরা বিকাশকারীরা (তারা তাদের কোড জানেন) দ্বারা সম্পন্ন করা হয়, এবং কিউ পরীক্ষক দ্বারা নয় (যাকে যত তাড়াতাড়ি সম্ভব পরীক্ষা করার জন্য এগিয়ে যাওয়া উচিত)।

বিকাশকারীকে তার featureশাখার উপরেdevel একটি রিবেস তৈরি করুন এবং সেই featureশাখাটি পুশ করুন (যা বিকাশকারী কর্তৃক সর্বাধিক সাম্প্রতিক develশাখা রাজ্যের শীর্ষে সংকলন এবং কাজ করে যাচাই করেছে) push
এটি এর জন্য অনুমতি দেয়:

প্রতিবার পরীক্ষক ত্রুটি সনাক্ত করে, সে বিকাশকারীকে এটি প্রতিবেদন করবে এবং বর্তমান বৈশিষ্ট্য শাখাটি মুছে ফেলবে ।
বিকাশকারীরা এটি করতে পারেন:

  • বাগ ঠিক করুন
  • সাম্প্রতিক সংগ্রহিত বিকাশকারী শাখার শীর্ষে পুনর্বাসনা (আবার নিশ্চিত করুন যে তার কোডটি অন্য বৈধ বৈশিষ্ট্যগুলির সাথে একীকরণে কাজ করে)
  • featureশাখা ঠেলা ।

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


আপনি কি "মার্জটি ব্যবহার করবেন না, পরিবর্তে পুনরায় ব্যবহার করবেন" বলছেন? যদি তা হয়, তবে আমি বিভ্রান্ত হয়ে পড়েছি, দুটির মধ্যে পার্থক্যের বিষয়ে গিট এফএকিউ দেওয়া হয়েছে: git.wiki.kernel.org/index.php/…
ভিকি

1
@VickiLaidler হ্যাঁ, যদি বৈশিষ্ট্য শাখা QA তে দ্বারা প্রত্যাখ্যাত হয়, ডেভেলপার রি-বেসের ফলে আছে, মার্জ করতে ( stackoverflow.com/a/804178/6309 )
VonC

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

1
আমার উত্তরের দিকে ফিরে তাকালে আমি একটি রিবেসও করব এবং ক্লিনার ইতিহাসের জন্য একীভূত হবে না।
আসপাসিয়া

1
@ স্পেসিয়া ভাল পয়েন্ট আমি আরও দৃশ্যমানতার জন্য উত্তরে পুল-অনুরোধগুলি অন্তর্ভুক্ত করেছি।
ভোনসি

12

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

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

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

আরও তথ্যের জন্য এই লিঙ্কটি দেখুন


আপনি এখনও গিতে শাখা + রিবিসিং সহ সিআই করতে পারেন।
void.pointer

9

আমরা যাকে "সোনার", "রৌপ্য" এবং "ব্রোঞ্জ" বলি তা ব্যবহার করি। এগুলিকে প্রোড, স্টেজিং এবং কেএ বলা যেতে পারে।

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

যখন কোনও বাগ বা বৈশিষ্ট্য পরীক্ষার জন্য প্রস্তুত হয় এটি "ব্রোঞ্জ" এ যায়। এটি একটি জেনকিনস বিল্ডকে ট্রিগার করে যা কোডটি পূর্ব-নির্মিত পরিবেশে ঠেলা দেয়। আমাদের পরীক্ষকরা (উপায় দ্বারা সুপার টেকিজ নয়) কেবল একটি লিঙ্কে আঘাত করেছেন এবং উত্স নিয়ন্ত্রণের বিষয়ে চিন্তা করেন না। এই বিল্ডটিও পরীক্ষা চালায় etc. ইত্যাদি We পরীক্ষাগুলি (ইউনিট, ইন্টিগ্রেশন, সেলেনিয়াম) ব্যর্থ হলে আমরা এই বিল্ডটিতে প্রকৃতপক্ষে টেস্টিং \ qa পরিবেশে কোডটিকে ধাক্কা দিয়ে পিছনে পিছনে চলেছি। যদি আপনি একটি পৃথক সিস্টেমে পরীক্ষা করেন (আমরা এটিকে নেতৃত্ব বলি) আপনি আপনার ক্যায় পরিবেশে পরিবর্তনগুলি পরিবর্তন হতে বাধা দিতে পারেন।

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

কোনও বৈশিষ্ট্য QA পাস করার পরে আমরা এটিকে "রৌপ্য" বা মঞ্চে স্থানান্তরিত করি। একটি বিল্ড চালানো হয় এবং পরীক্ষাগুলি আবার চালানো হয়। সাপ্তাহিক আমরা এই পরিবর্তনগুলিকে আমাদের "সোনার" বা উত্স গাছের দিকে ঠেলে দিই এবং সেগুলি আমাদের উত্পাদন সিস্টেমে স্থাপন করি।

বিকাশকারীরা তাদের পরিবর্তনগুলি সোনার গাছ থেকে শুরু করে। প্রযুক্তিগতভাবে আপনি মঞ্চ থেকে শুরু করতে পারেন যেহেতু সেগুলি শীঘ্রই উঠে যাবে।

জরুরী সমাধানগুলি সরাসরি সোনার গাছে ফেলা হয়। যদি একটি পরিবর্তন QA এর পক্ষে সহজ এবং শক্ত হয় তবে এটি সরাসরি রূপালীতে যেতে পারে যা পরীক্ষার গাছের দিকে তার পথ খুঁজে পাবে।

আমাদের মুক্তির পরে আমরা সোনার (প্রোড) পরিবর্তনগুলি ব্রোঞ্জ (টেস্টিং) এ চাপিয়ে দিই কেবল সমস্ত কিছু সিঙ্কে রাখি।

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

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

"বেকিং" একটি দুর্দান্ত পার্শ্ব প্রতিক্রিয়া। আপনার যদি কিছু মৌলিক পরিবর্তন হয় তবে আপনি এটির জন্য খুব সুন্দর জায়গা থাকতে চান a

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


1

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


1

আমাদের সংস্থায় আমরা চৌকস বিকাশ ব্যবহার করতে পারি না এবং ব্যবসায়িকভাবে প্রতিটি পরিবর্তনের জন্য অনুমোদনের প্রয়োজন হয়, এটি অনেক সমস্যার কারণ হয়ে দাঁড়ায়।

জিআইটির সাথে কাজ করার জন্য আমাদের দৃষ্টিভঙ্গি এটি;

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

জিরার টিকিট প্রক্রিয়াকরণের পদক্ষেপগুলি হ'ল:

  1. বিকাশ-শাখা থেকে একটি নতুন শাখা তৈরি করুন
  2. বৈশিষ্ট্য-শাখায় কোড পরিবর্তন করুন
  3. বৈশিষ্ট্য থেকে পরীক্ষা / কিউএ শাখায় পরিবর্তনগুলি টানুন
  4. ব্যবসায়ের অনুমোদনের পরে আমরা বৈশিষ্ট্য শাখা থেকে পরিবর্তনটিকে বিকাশে টান করি
  5. বিকাশ প্রায়শই একটি রিলিজ এবং তারপরে অবশেষে মাস্টার শাখায় যায়

প্রতিটি অনুরোধকে নিজস্ব বৈশিষ্ট্যে বিভক্ত করা নিশ্চিত করে, কেবল অনুমোদিত পরিবর্তনগুলি উত্পাদনে যায়।

সম্পূর্ণ প্রক্রিয়াটি দেখে মনে হচ্ছে: এখানে চিত্র বর্ণনা লিখুন

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