পরীক্ষা চালিত বিকাশ - পরীক্ষা কে লিখতে হবে?


12

মূলত, পরীক্ষা লেখার বিকাশকারীদের দায়িত্ব, তবে আমি লক্ষ্য করেছি যে অনেক ক্ষেত্রে / ই-পরিপক্ক বিকাশকারীরা সেই ক্ষেত্রেও ৮০% কভারেজ দেয় না।
আমার কীভাবে একজন QA ব্যক্তি বিকাশকারীর পরিবর্তে প্রদত্ত প্রকল্পের জন্য সমস্ত পরীক্ষা লেখার জন্য নিবেদিত রয়েছে?
এটা কি কোন কনস আছে?


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

উত্তর:


19

টেস্ট-চালিত বিকাশে, পরীক্ষাগুলি অবশ্যই বিকাশকারী দ্বারা লিখিত হতে হবে। অন্যথায় বিকাশকারী ছাড়া অন্য কেউ বিকাশ চালাচ্ছেন।

সুতরাং আপনি অ-বিকাশকারীকে পরীক্ষা লেখার কাজ দেওয়ার সাথে সাথেই সেই ব্যক্তিটি বিকাশকারী হয়ে যায়।

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


1
আপনার যদি দক্ষতা-ভিত্তিক অবস্থানের দিক থেকে দু'জন মত মানসিক ব্যক্তি থাকে তবে আপনি পরীক্ষা এবং কোডের মধ্যে অদলবদল / একটি জুটি প্রোগ্রামিং পদ্ধতিতে টিডিডি-এর কাছে যেতে পারেন। তাদেরকে পরীক্ষক / প্রোগ্রামার / কোড বানর বলুন ... আপনি যখন ছুঁয়েছেন তখন কারওর দক্ষতা সেট about
অ্যারন ম্যাকআইভার

এবং প্রদত্ত যে আপনি সম্ভবত প্রতি মিনিটে লেখার_তিনি লেখার_কোড-রান_টেস্ট আপনি আপনার অগ্রগতির হারকে নির্মূল করবেন।
ফ্র্যাঙ্ক শেয়ার

7

কিউএর কাজটি সম্পূর্ণ ভিন্ন ধরণের পরীক্ষা করা (যেমন ব্যবহারযোগ্যতা / সংহতকরণ পরীক্ষা) করা। কোডটিতে ব্যবহৃত প্রযুক্তিগুলি তাদের সত্যই জানতে হবে না।

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

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


2

এই ক্ষেত্রে এমনকি 80% কভারেজ দেয় না

এটি কোনও ম্যানেজমেন্ট সমস্যা হতে পারে।

বা এটি অপ্রাসঙ্গিক হতে পারে।

প্রথমত, ৮০% থেকে ১০০% কভারেজের মধ্যে পার্থক্যটি খুব অল্প বেনিফিটের জন্য সম্ভবত প্রচুর ব্যয়।

"কভারেজ" মানে যে কোনও অর্থ হতে পারে। কোড, লজিক পাথ ইত্যাদির লাইনগুলি আমি অনুমান করছি যে আপনি কোডের লাইন (লজিক পাথ নয়) বোঝাচ্ছেন।

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

20% আরও পরীক্ষা সর্বদা 20% বেশি মানের হয় না।

দ্বিতীয়ত। এটি একটি ব্যবস্থাপনা সমস্যা problem যদি পরিচালন 100% কভারেজ চায় তবে তাদের এমন একটি পুরষ্কার সিস্টেম স্থাপন করতে হবে যা 80% কভারেজটি "মুক্ত করার পক্ষে যথেষ্ট" পরিবর্তে 100% কভারেজকে পুরস্কৃত করে।

আরও পরীক্ষাগুলি লিখতে কিউএ ভাবেনকে যুক্ত করা খুব বেশি উপকার করবে না।

আরও পরীক্ষাগুলি লেখার জন্য বিকাশকারীদের যুক্ত করা যা 100% পরীক্ষার কভারেজের প্রয়োজন হবে।


100% কভারেজ সম্পর্কে কে কিছু বলেছে?
এরিক উইলসন

@ ফারমবয়: প্রশ্নটি ইঙ্গিত দেয় যে ৮০% কভারেজ যথেষ্ট ভাল নয়। কি যথেষ্ট ভাল? সাধারণ যাদুকরী সংখ্যাটি 100% কভারেজ।
এস। লট

1
তবে আমার কোচ সবসময় আমাকে 110% দিতে বলেছিলেন। আমি কেন এই পরিমাণ কভারেজের প্রয়োজন
পড়তে

@ বেরিন লরিটস: আমি আপনার পিছনে আছি 200%।
এস .লট

1
@ জোব: "কিছু কিউএ লোকেরা কিছু কোড লিখতে পারে"। ঠিক। তারপরে তারা ডেভেলপার হয়ে যায়, এটি একটি ভাল জিনিস।
এস .লট

2

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

ক্রিয়াকলাপ পরীক্ষা একটি QA প্রক্রিয়া যা একটি QA দল দ্বারা করা এবং করা উচিত। এগুলি বিকাশকারী দ্বারা করা যেতে পারে তবে একজন বিকাশকারী উন্নত হতে পারে কারণ কোনও ব্যবহারকারী অ্যাপ্লিকেশনটি ব্যবহার করতে পারে এমন সমস্ত উপায় বিকাশকারী জানেন না might

দুটিই টিডিডি ফ্যাশনে করা যায়।


2

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

আপনার এও লক্ষ্য করা উচিত যে কভারেজটি আপনাকে কোডের গুণমান সম্পর্কে বলবে না এবং ডোমেনের বিধিগুলি কভার করা হচ্ছে কিনা তা আপনাকে জানাবে না।


0

আপনার যদি কমপক্ষে ৮০% কভারেজ দরকার হয় তবে কয়েকটি জিনিস আপনার করা দরকার:

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

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

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

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