একটি দলে নতুন লোক হওয়ার সময় বিদ্যমান ইন্টিগ্রেশন এবং ইউনিট পরীক্ষার গুণমান সম্পর্কে আপনি কী করতে পারেন?


21

আমার ক্যারিয়ারে যে পুনরাবৃত্তি থিমটি এসেছিল তা হ'ল একটি দলে আগমনকারী নতুন বিকাশকারী এবং দ্রুত বিদ্যমান ইউনিট এবং ইন্টিগ্রেশন টেস্ট স্যুটগুলির সহজাত অবিশ্বাস having

সাক্ষাত্কারের সময় আপনাকে পরিচালনার মাধ্যমে বলা হয় যে তারা "ইউনিট পরীক্ষার দৃ strongly় সমর্থন করে" এবং তারা প্রকাশ্যে এটি উত্সাহিত করে। তারা করে, কিন্তু পরীক্ষাগুলি সম্পর্কে নিজেরাই সমস্ত কিছু কেবলমাত্র ভুল। 100% একীকরণ পরীক্ষার কভারেজ থাকলেও 10% এরও কম পুনরাবৃত্তযোগ্য ইউনিট পরীক্ষার কভারেজ থাকাকালীন তারা 100% কভারেজ দাবি করছে এমনটি সত্য Like আমি অন্যান্য কিছু সমস্যা পেয়েছি:

  1. কোন ইউনিট পরীক্ষা কি এবং একটি ইন্টিগ্রেশন পরীক্ষা কোনটির মধ্যে সুস্পষ্ট ইঙ্গিত নেই। ইউনিট এবং ইন্টিগ্রেশন পরীক্ষা একই ক্লাসে একত্রে মিশ্রিত হয়।

  2. ইন্টিগ্রেশন টেস্টে নির্দিষ্ট পরিবেশের ডাটাবেসে খুব নির্দিষ্ট গতিশীল ডেটার উপর অঘোষিত স্পষ্ট নির্ভরতা থাকে।

  3. অ-ট্রানজেকশনাল ইন্টিগ্রেশন টেস্ট, মূলত টেস্টগুলি যা নিজের পরে পরিষ্কার করতে বিরক্ত করতে পারে বা না পারে, কখনও কখনও টেস্টটি পুনরায়যোগ্য করে তুলতে ম্যানুয়াল ডাটাবেস "স্ক্রাবিং" প্রয়োজন হয় requ

  4. যে কোনও উপহাস করা যায় না, এবং অ্যাপ্লিকেশন কোডকে কেবল উপহাস করা সম্ভব হওয়ার জন্য একটি বড় ওভারহাল প্রয়োজন। অন্য কথায়, মনে না রেখে পরীক্ষা করুন।

  5. কোনও পরীক্ষার নামটি দ্রুত দেখার জন্য এবং কোন পরীক্ষাগুলি চলছে তা মোটামুটি নির্ধারণের জন্য কোনও স্পষ্ট নামকরণের কনভেনশন নেই।

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

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

এই পরিস্থিতিতে নিজেকে খুঁজে পেলে আপনি কী করবেন? এইরকম কিছু মোকাবেলা করার জন্য আক্রমণটির সর্বোত্তম পরিকল্পনাটি আপনার কী মনে হয়?

রিলিজ জুড়ে বিস্তৃত একটি স্মৃতিসৌধ প্রচেষ্টাতে সমস্ত পরীক্ষার রিফ্যাক্টর করা উচিত? এই উত্তরাধিকারী প্রকল্পটির এক দিনের কঠিন ইউনিট পরীক্ষার কভারেজ থাকতে পারে এই ধারণাটি কি আপনার ছেড়ে দেওয়া উচিত?


6
বন্ধু, আসল বিশ্বে আপনাকে স্বাগতম।
টিডামার্স

20
আপনি পরীক্ষা করে খুশি হন।
জোয়েল ইথারটন

3
আপনি এমন সংস্থাগুলির পক্ষে কেন কাজ করবেন যারা আপনার দক্ষতার মাত্রার নীচে স্পষ্ট?
ট্রোজাননেম

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

1
আমি মনে করি আমরা একই দলের হয়ে কাজ করতে পারি। এখন আপনি (এবং আমি) আমাদের পরবর্তী সাক্ষাত্কারের সময় কীভাবে প্রশ্ন জিজ্ঞাসা করতে পারেন তা জানেন। (আসলে, আমার পরিবেশের 100% বা এমনকি 10% ইন্টিগ্রেশন টেস্ট কভারেজের কাছাকাছি কোথাও নেই [সত্য ইউনিট পরীক্ষা? এটি পাগল কথা!]), তবে আমি যে সমস্ত বিষয়গুলি নিয়ে কাজ করছি তার
সবগুলিই

উত্তর:


6

প্রথমত, অন্যান্য পোস্টার যেমন ইতিমধ্যে লিখেছেন, আপনার খুশি ইউনিট / ইন্টিগ্রেশন টেস্টিং বোঝা উচিত (কোনও প্রযুক্তিগত উপায়ে নয়, আমি বোঝাতে চাইছি এটি করার কারণটি বোঝা গেল) এবং পরিচালনা দ্বারা ধাক্কা।

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

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

এখন, আপনি যা করতে চান তার উপর অগ্রাধিকার দিন। কার্যগুলিকে অগ্রাধিকার দিন, সর্বদা জেনে থাকুন যে আপনার প্রথম অগ্রাধিকার সর্বদা আপনার বর্তমান প্রকল্পের অ্যাসাইনমেন্ট হবে ... আপনার পরীক্ষার সমস্যা হিসাবে, আমি এখানে তিনটি ধাপে যা করব:

  1. ইউনিট এবং ইন্টিগ্রেশন পরীক্ষার মধ্যে পার্থক্য কীভাবে করবেন? নিম্নলিখিত সমাধানগুলি প্রয়োগ করতে পারে এবং একচেটিয়া নয়:

    • পরীক্ষার কেস পদ্ধতিগুলির নাম রিফ্যাক্টর (পরীক্ষাগুলির ক্ষেত্রে পরীক্ষার ক্ষেত্রে একই নামে ভাগ করা সঠিক আচরণের কারণে ক্লাস নয়)
    • দুটি টিকা তৈরি করুন, যার একটি নাম "ইউনিট টেস্ট", অন্যটি "ইন্টিগ্রেশন টেস্ট"। এই টীকাগুলি ক্লাসে এবং পদ্ধতিতে ব্যবহার করা যেতে পারে। যদি একটি সম্পূর্ণ ক্লাস দুটি ইউনিট বা ইন্টিগ্রেশন পরীক্ষার সমন্বয়ে গঠিত হয়, আপনি ক্লাসটি ডান টীকা দিয়ে চিহ্নিত করতে পারেন। যদি তা না হয় তবে আপনি প্রতিটি পদ্ধতিটি সঠিক টীকা দিয়ে চিহ্নিত করতে পারেন। এছাড়াও, এই টীকাগুলি পরীক্ষাগুলি শুরু করার আগে গতিশীলভাবে ফিক্সচারগুলি ইনজেকশনের জন্য কার্যকর হতে পারে (পর্ব 3)
  2. প্রতিটি ইন্টিগ্রেশন পরীক্ষার জন্য, প্রতিটি পরীক্ষার শুরুতে ডাটাবেসে যে "ডেটাসেট" থাকা প্রত্যাশা করা হয় তা তালিকাভুক্ত করুন এবং এর শেষে কী অপসারণ করা উচিত (উদাহরণ: সারণী এক্স, "আইডি" সহ একটি রেকর্ডের প্রয়োজন "1" এ সেট করুন, এবং "নাম" "foo" ইত্যাদিতে সেট করুন)। নোট করুন যে আপনি যা সরিয়েছেন তা শুরুর দিকে আপনার চেয়ে বড় / ছোট হতে পারে যেহেতু কোড নিজেই যথাক্রমে অধ্যবসায় স্তর থেকে অবজেক্টগুলিকে যুক্ত / অপসারণ করতে পারে। আপনি সম্ভবত তাড়াতাড়ি লক্ষ্য করবেন যে এই পরীক্ষার কয়েকটি ক্ষেত্রে একই ডেটাসেট বা একই ডাটাবেসের অংশ প্রয়োজন need

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

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

এত কিছুর পিছনে থাকা API / প্রযুক্তি হিসাবে, আপনি বিষয়টি জানেন বলে মনে হচ্ছে।

আশা করি যে কিছুটা সাহায্য করেছে।

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


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

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

14

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

প্রথমত, আপনি যদি মানের মানের কভারেজ না পান তবে আপনি বিদ্যমান কোডটি 'ফিক্স' বা রিফ্যাক্টর করতে পারবেন না, তাই আমি প্রথমে আপনার পরীক্ষার অবকাঠামো ঠিক করার দিকে মনোনিবেশ করব।

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

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

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

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


8
+1 এবং আমি "উদাহরণ দিয়ে নেতৃত্ব দিয়ে শুরু করুন" যুক্ত করব। যে লোকটি ভিতরে যায় এবং কেউ বলে না যে "আপনি এটি ভুল করছেন" কিন্তু আপনি যদি উন্নতি দেখান তবে তারাও সম্ভবত তাদের অনুসরণ করবে।
স্টিভেনভি

2
বয় স্কাউট নিয়মের জন্য +1 , কোনও ওভারহল পদ্ধতির চেয়ে ব্যবহার এবং বিক্রয় করা অনেক সহজ।
ম্যাথিউ এম।

10

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

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

আইএমও আপনার প্রথম লক্ষ্যটি হওয়া উচিত টিমটিকে আরও খারাপ পরীক্ষার উত্পাদন থেকে বিরত রাখা । সুতরাং আপনার সতীর্থদের প্রতিটি নির্দিষ্ট উন্নতির সুবিধা প্রদর্শন করে শুরু করুন। যদি তারা একটি নির্দিষ্ট কৌশলটির কার্যকারিতা দেখেন - এটি বাহ্যিক নির্ভরতা কাটা, প্রতিটি পরীক্ষার পরে মূল অবস্থা পুনরুদ্ধার করা, বা ইউনিট এবং ইন্টিগ্রেশন পরীক্ষার পৃথক করা - তারা সেগুলি প্রয়োগ করা শুরু করবে। এটি নিজেই আস্তে আস্তে তবে অবশ্যই দীর্ঘমেয়াদে পরীক্ষার বেসের সামগ্রিক মানের উন্নতি করবে (যদি আপনার এখন 1000 টি খারাপ পরীক্ষার সমস্যা রয়েছে এবং টিমটি আগামী বছরের মধ্যে 1000 টি ভাল পরীক্ষা তৈরি করে, আপনি খারাপ পরীক্ষার অনুপাতকে কমিয়ে আনবেন 100% থেকে 50% পর্যন্ত)। এটি একবার সুরক্ষিত হয়ে গেলে, আপনি কেস ভিত্তিতে কোনও মামলায় বিদ্যমান পরীক্ষাগুলি পুনরুদ্ধার করার বিষয়ে সিদ্ধান্ত নিতে পারেন। আবার, ছোট উন্নতি সময়ের সাথে সাথে বড় পরিবর্তনগুলি যুক্ত করবে।

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


6

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

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


2
আমার উল্লেখ করা উচিত ছিল যে মূল গন্ডগোল সৃষ্টিকারী কেউই এখানে নেই of তারা যে প্রযুক্তিগত debtণ তৈরি করেছে এবং চালিয়ে গেছে, সেগুলি মোকাবেলায় তারা মনে করেনি।
maple_shaft

4
@ ম্যাপেল_শ্যাফ্ট: এটি ভাল যে তারা চলে গেছে ... আপনি কারও চেহারা না হারিয়ে জিনিসগুলি উন্নত করতে পারেন।
কেভিন cline

2

দলে নতুন হওয়া সম্পর্কে ভাল বিষয়টি হ'ল জিনিসগুলির প্রতি আপনার "নতুন" দৃষ্টিভঙ্গি রয়েছে। খারাপ দিকটি হ'ল অন্যদের আপনার বিশ্বাস করতে খুব কষ্ট হতে পারে।

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

তবে একে একে ধীরে ধীরে নিন এবং আশা করুন যে আপনার ধারণাগুলি ধীরে ধীরে নতুন গোষ্ঠীর মধ্যে "ধরুন"।


2

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

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

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

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

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


2

সময়ের সাথে সাথে তাদের ঠিক করুন

আমি একই পরিস্থিতিতে ছিলাম। আমি প্রতিদিন সকালে পরীক্ষার মধ্য দিয়ে এক ঘন্টা ব্যয় করেছি এবং সেগুলি স্থির না করা পর্যন্ত তাদের ফিক্সিং করেছি। এটি একটি মাঝারি আকারের কোডবেস ছিল এবং আমি মনে করি আমি 1.5 মাসে শেষ করেছি। আমি আমাদের পরীক্ষাগুলিতে আরও বেশি আত্মবিশ্বাসী হয়েছি।

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

  • নিজেই পরে পরিষ্কার
  • পুনরাবৃত্তিযোগ্য
  • পরিবেশগত মিথস্ক্রিয়া হ্রাস করে
  • সামঞ্জস্যপূর্ণ

পথে আমি আরও উন্নত পরীক্ষার নির্মাণের সুসমাচার প্রচার করেছি (যা আমি মানুষকে অনেকটাই বুগড করে বলেছি)।

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