প্রোগ্রামারদের কাছ থেকে আমার ইউনিট-টেস্টিংয়ের দাবি করা উচিত? [বন্ধ]


26

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

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

আমি কি এখানে পুরোপুরি লাইনের বাইরে আছি?

কোন মতামত জন্য আমাকে যুক্তি প্রদান করুন।


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

10
তারা সরবরাহকারী বাছাই করার সিদ্ধান্তের অংশ হিসাবে তারা ইতিমধ্যে পরীক্ষার প্রয়োগ করেছে কিনা তা বিবেচনা করা উচিত নয়?
বার্ট

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

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

8
@ চাদ: এজন্যই আমি এই প্রশ্নটি করছি: আমার দৃ b় বিলিফকে চ্যালেঞ্জ জানাতে :-)
মর্টেন

উত্তর:


46

আমি দৃly়ভাবে বিশ্বাস করি, কোডের মান এবং স্থায়িত্ব ডকুমেন্ট করার একমাত্র উপায় যথাযথ স্বয়ংক্রিয় ইউনিট-পরীক্ষা।

জিনিসটি হ'ল আপনি (বা খুব কমই কমপক্ষে) জনগণের উপর চাপ দিয়ে সঠিক স্বয়ংক্রিয় ইউনিট-পরীক্ষা পাবেন না। ছদ্মবেশী পরীক্ষা নেওয়া এবং প্রকল্পগুলির ব্যয় চালিয়ে নেওয়া একটি ভাল উপায়।

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


6
+1 আমি খারাপ ইউনিট পরীক্ষাগুলি লিখতে পারি যা সমস্ত কিছুর পরীক্ষা করে দেখা যায় তবে বাস্তবে সমস্ত কিছুর পরীক্ষা করার জন্য সেগুলি পরিচালনা করে না। এটি গুণ যুক্ত করে না বা কোনও কিছু প্রমাণ করে না।
সোয়েলেন্টগ্রি

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

3
@ ক্রিসো - ঠিক এটি গেমড করা যেতে পারে তা প্রমাণ করে যে এটি অপের প্রয়োজনীয়তা পূরণ করে না।
SoylentGray

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

1
@ ম্যাথিউফ্লিন: ব্যতিক্রমী কারণ ছাড়াই পরীক্ষাগুলি মক ডেটা / কাঠামো নিয়ে চলে। প্রত্যাশিত ইনপুটগুলি দিয়ে প্রচুর জিনিসগুলি সুখী পথে চালিত করে।
তেলস্তিন

18

ব্যক্তিগতভাবে আমি মনে করি যে আপনার ক্ষেত্রে আপনার পরিবর্তে গ্রহণযোগ্যতার পরীক্ষার ক্ষেত্রে চিন্তা করা উচিত:

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

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


"ব্ল্যাক বক্স" হাইপোথিসিস ভুল - গ্যারেট হলের উত্তর সম্পর্কে মর্টেনের মন্তব্য দেখুন।
ডক ব্রাউন

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

@ ডকব্রাউন আমি দেখছি একটি সাদা বাক্স হওয়ার পরেও কি আপনি এটির সাথে একমত হন?

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

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

8

আমি দৃly়ভাবে বিশ্বাস করি, কোডের মান এবং স্থায়িত্ব ডকুমেন্ট করার একমাত্র উপায় যথাযথ স্বয়ংক্রিয় ইউনিট-পরীক্ষা।

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

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

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


6

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

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


প্রকৃতপক্ষে যথাযথ ইউনিট পরীক্ষার জন্য তারা যে কোডটি পরীক্ষা করছে তার 100% এরও বেশি ব্যয় হয় তবে আপনি আর্থিক দিক থেকে সঠিক পথে রয়েছেন। অযোগ্য ইউনিট পরীক্ষার জন্য যথাযথের চেয়ে আরও বেশি দাম!

5

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

যদি আপনি কেবল প্রকল্পগুলি কিনে থাকেন তবে আপনি সেগুলি তৃতীয় পক্ষের লাইব্রেরির মতো ব্যবহার করতে পারেন এবং বিশ্বাস করেন না যে আপনি তাদের সংশোধন করবেন, তবে নিম্ন-মানের কোডের ঝুঁকি কম, যতক্ষণ না এটি বাস্তবে কার্যকর হয়।

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


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

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

2

আপনি অর্থ প্রদান করছেন, তার সমস্ত ইউনিট পরীক্ষার অনুলিপি / প্রতিবেদন সহ আপনি যা চান তা দাবি করতে পারেন।

এমনকি আপনি পরীক্ষাগুলি লিখতে পারেন, বা কমপক্ষে পরীক্ষার বিবরণগুলি নিজেই লিখতে পারেন।

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


1
আমি কি পরীক্ষিত কোড চাইবো ?? কেউ ইউনিট-পরীক্ষা ছাড়াই স্থিতিশীল, নির্ভরযোগ্য এসডাব্লুয়ের বৃহত টুকরো উত্পাদন করতে পারে ??
মর্টেন

3
@ মর্টেন: আপনি অনির্ধারিত কোড চান না - তবে স্বয়ংক্রিয় ইউনিট-টেস্টিং কেবল কোড পরীক্ষা করার উপায় নয়। অন্যদের মধ্যে কোডের মান উন্নয়নের জন্য এটি কেবল একটি বিল্ডিং ব্লক।
ডক ব্রাউন

3
@ মর্টেন: ইউনিট-টেস্টিং কোডের একমাত্র উপায় নয়। 1996 এর আগে কেউ কোনও প্রকার আনুষ্ঠানিক ইউনিট টেস্টিং করেনি তবে সফ্টওয়্যার এখনও কাজ করে।
gbjbaanb

1
@gbjbaanb আপনি কি যুক্তি দিচ্ছেন যে এটি নতুন কারণ এটি কার্যকর নয়? : p আমি ইউনিট টেস্টিং সহ এবং ছাড়াই সফ্টওয়্যারে কাজ করেছি এবং ইউনিট পরীক্ষাগুলি সহ লেখাগুলি উল্লেখযোগ্যভাবে সহজ এবং দ্রুত ছিল (মূলত কারণ বাগগুলি সন্ধান এবং ফিক্সিং সহজ ছিল)।
মনিকা

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

1

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

তবে বিষয়গুলির চাহিদা দাবি করা ফলাফলগুলি আপনার পছন্দসই ফলাফলগুলি অর্জন করতে পারে না কারণ অন্যরা বিস্তারিতভাবে জানিয়েছে।

আপনার চ্যালেঞ্জ হ'ল লোককে ব্যাখ্যা করা এবং বোঝানো - আরও শক্ত দক্ষতা!

আমি শুরুতে পরিচালনার সাথে শুরু করব পরীক্ষার প্রো এবং কনস এবং রাস্তার নিচে প্রদত্ত অর্থের ব্যাখ্যা দিয়ে। 'আমি প্রোপার ইউনিট পরীক্ষা লিখি' (মূলধন আপনার) এর মত বিবৃতিগুলির পিছনে আবেগটি যোগাযোগ না করার জন্য দয়া করে সাবধান হন। আপনি শব্দগুলি 'চিৎকার' করতে চান না (যেমন সমস্ত ক্যাপগুলি বোঝায়) আপনি লোককে বোঝাতে এবং বোঝাতে চাইবেন যাতে তারা নিজেরাই সঠিক সমাধানটি বেছে নিতে পারে।

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


প্রশ্ন ছিল বাইরের বিক্রেতার জন্য; উত্তরটি অভ্যন্তরীণ দল সম্পর্কে।
জনএমসিজি

1

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

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

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


1

ইউনিট টেস্টিং সেই সরবরাহকারী কীভাবে উন্নয়ন চক্রের সময় ঝুঁকিগুলি পরিচালনা করে তার একটি ইঙ্গিত। যারা ইউনিট টেস্ট ব্যবহার করে ঝুঁকি হ্রাস করে এবং সেই পরীক্ষাগুলির মান কতটা ঝুঁকি পরিচালিত হয় তার একটি ইঙ্গিত।

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

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

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


0

আমি কাস্টম সফটওয়্যারটি কেনার বিষয়ে এই নিবন্ধটি বেশ কার্যকরভাবে পেয়েছি: http://blog.8thlight.com/paul-pagel/2012/06/20/ententerferences-guide-to-buying-software.html

তারা যে নম্বরটি জিজ্ঞাসার জন্য জিজ্ঞাসা করবেন তারা হ'ল সরবরাহকারী পরীক্ষা লেখেন কিনা।


0

অন্যদের সাথে সম্মত হন যে ইউনিট পরীক্ষাগুলির ডিমান্ডিং পরীক্ষার জন্য পরীক্ষার দিকে পরিচালিত করে; এমন কিছু যা আপনি যা চান তার বিপরীতে।

আপনার সরবরাহকারীদের পরীক্ষা করার প্রক্রিয়াতে; তাদের বিকাশ প্রক্রিয়াটি কী তা জিজ্ঞাসা করুন কারণ পরীক্ষার প্রক্রিয়াটির একটি মাত্র অংশ।

তাদের কি একটি স্বয়ংক্রিয় বিল্ড প্রক্রিয়া আছে? তারা কিছু পরিচালনার দৃষ্টান্ত অনুসরণ করে? তাদের কি সঠিকভাবে প্রশিক্ষিত পরীক্ষক এবং একটি স্বতন্ত্র মানের আশ্বাসের দল রয়েছে ? ডকুমেন্টেশন মান সম্পর্কে কীভাবে?

এগুলি আপনাকে তাদের প্রক্রিয়াটির সামগ্রিক মানের বিচার করতে সহায়তা করবে এবং পরিবর্তে তারা কী উত্পন্ন করবে তার গুণগতমান হবে।


0

আমার কাছে মনে হয় যে এই প্রয়োজনীয়তাটি অন্তর্ভুক্ত করার ফলে কিছুটা ব্যবহারিক সুবিধা হবে কারণ এটি কার্যকর করা অসম্ভব।

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

যদি আপনি তা না করেন তবে তারা আপনাকে উড়িয়ে দিতে পারে তবে প্রয়োজনীয়তা পূরণের জন্য "ইউনিট টেস্টের একটি স্যুট চালায়" পাশের বাক্সটি পরীক্ষা করে যদি তাদের ইউটিলিটি সংকলন করে এবং সঞ্চালিত হয় বা অনুরূপ অর্ধ-মূল্যায়িত হয় তবে পাস করে প্রচেষ্টা.

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


0

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

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

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


0

প্রথমে অগ্রাধিকারগুলি সরাসরি পেতে দিন ...

গ্রাহক হিসাবে আপনার ভূমিকায় আপনার প্রধান উদ্বেগ ইউনিট-টেস্টিং নয়

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

আপনি ইউনিট-পরীক্ষাগুলি বিতরণযোগ্য প্রয়োজনীয়তা হিসাবে দাবি করতে পারেন তবে তাদের সাথে বেশ কয়েকটি উত্তরাধিকারী সমস্যা রয়েছে, সবচেয়ে মারাত্মকটি হ'ল মেট্রিকগুলি নির্ধারণের আগে কোনও নিশ্চিত-আগুনের উপায় নেই:

  • ইউনিট পরীক্ষার গ্রহণযোগ্য পরিমাণ কি?

10 টি পরীক্ষা করা উচিত? কিভাবে প্রায় 100 পরীক্ষা? কিভাবে 1000 পরীক্ষা? আসলে, আপনার কতগুলি পরীক্ষার দরকার হবে তা শুরুতেই নির্ধারণ করা বেশ কঠিন। প্রকৃত সংখ্যাটি প্রকৃতপক্ষে অনিবার্য ... যেমন থামানো সমস্যার ... তবে আমরা সেই সমস্যাটি সমাধান করছি না।

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

  • কোড কভারেজ একটি গ্রহণযোগ্য স্তর কি?

"অবশ্যই ১০০%!" আপনি ভাববেন দুর্ভাগ্যক্রমে মেট্রিক বিভ্রান্ত করছে; এমনকি যদি আপনার 100% কোড কভারেজ থাকে তবে আপনি কি নিশ্চিত যে জিনিসগুলি প্রত্যাশা অনুযায়ী কাজ করছে? এটি 100% কভারেজ থাকা সম্ভব তবে সম্পন্ন করা যায় না।

আপনার সত্যিকারের যা করা দরকার তা হ'ল অনুসন্ধানমূলক পরীক্ষা করা, অর্থাত্‍ কোনও জিনিস ভাঙ্গার ক্ষেত্রে সত্যই ভাল কোনও ব্যক্তির সন্ধান করুন এবং তাদের পরীক্ষাটি করতে দিন। কোনও বিকাশকারী এমনকি ভাবেনি যে বাগগুলি সন্ধান করতে।

এছাড়াও আপনার যদি প্রয়োজনীয় কিছু পারফরম্যান্স হ্যাক থাকে এবং পরীক্ষা করতে অসুবিধা হয় এমন ডিজাইনের প্যাটার্ন ব্যবহার করেন (আপনার পছন্দসই সার্চ ইঞ্জিনে "সিঙ্গেলটন" এবং "টিডিডি" অনুসন্ধান করুন এবং আপনি কয়েকটি উদাহরণ পাবেন) তবে 100% খাঁটি ইউনিট পরীক্ষাগুলির সাথে মাঝে মাঝে অপ্রত্যাশিত।

আপনি বিতরণ করা সফ্টওয়্যারটি কাজ করতে চান এবং স্পেসিফিকেশন ডকুমেন্টটি হ'ল এটিই আপনার একমাত্র ওয়ারেন্টি।

আপনার উচ্চ স্তরের পরীক্ষার প্রয়োজন হবে

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

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

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

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

কিছুটা দুঃখের বিষয় যে হাই প্রোফাইল ওপেন সোর্স সফ্টওয়্যারটি ইউনিট-পরীক্ষার সাথে বিতরণ করা যায় তবে একজন পেশাদার সফটওয়্যার বিকাশকারী ঠিক পারেন না, তাই না?

সুতরাং আমি কখন গ্রাহক হিসাবে ইউনিট পরীক্ষার বিষয়ে যত্ন নেব?

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


-1

আপনি কীভাবে জানেন যে বিক্রেতারা ইউনিট পরীক্ষা লিখছেন না।

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

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

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


-1

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


-1

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

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