কোড কভারেজ কতটা "যথেষ্ট"?


37

আমরা এখানে আমার কাজের সময়ে কোড কভারেজের জন্য একটি ধাক্কা শুরু করছি, এবং এটি আমাকে ভাবতে সক্ষম করেছে .... কোড কভারেজ কতটা যথেষ্ট?

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


এর সদুত্তর আসলেই নেই; আর্টিমা বিকাশকারী ফোরামগুলিতে "আপনার কত ইউনিট টেস্ট কভারেজ দরকার? " এর জন্য কিছু সহায়ক পরামর্শ রয়েছে।
RN01

উত্তর:


19

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


ডাব্লুপিএফ কি অন্তর্নিহিতভাবে পরীক্ষা করা শক্ত, বা আপনি আরও ভাল কভারেজ পাওয়ার জন্য সর্বোত্তম কৌশল অবলম্বনে প্রচেষ্টা এখনও ব্যয় করেননি?
জেবিআরওয়িলকিনসন

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

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

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

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

55

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


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

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

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

38

"যথেষ্ট" তখনই আপনি নিজের কোডটিতে আত্মবিশ্বাসের সাথে পরিবর্তন করতে পারেন যে আপনি কোনও কিছু ভঙ্গ করছেন না। কিছু প্রকল্পে, এটি 10% হতে পারে, অন্যের উপর, এটি 95% হতে পারে।

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


24
"ভয় বিরক্তিতে পরিণত হওয়ার আগ পর্যন্ত পরীক্ষা"
ব্র্যাড ম্যাস

2
কোড অপসারণ সম্পর্কে মন্তব্যের জন্য আপভোট করুন। আমি তার জন্য কোড কভারেজ মেট্রিকগুলি সর্বদা ব্যবহার করি (ভিএস-এ, যেখানে এটি রেখাগুলি highlেকে দেয় না)।
নোহ রিচার্ডস

দুর্দান্ত উদ্ধৃতি @ বিমেস
জয়রেনেট

14

কোড কভারেজ 100% অ্যাসেম্পোটোটিক্যালি পৌঁছেছে। ফলস্বরূপ, শেষ 5% সম্ভবত এটি মূল্য সাধ্যের চেয়ে বেশি প্রচেষ্টা, কারণ আপনি ব্যয় করা প্রচেষ্টার জন্য অদৃশ্যভাবে ছোট রিটার্ন অর্জন করতে শুরু করেন।


7

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

  • বাগগুলি এখনও আসে
  • নকশা এখনও খারাপ হতে পারে
  • আপনি কিছু স্বেচ্ছাসেবী কভারেজ লক্ষ্য জন্য নিজেকে শুটিং সত্যিই হত্যা করতে পারেন - আপনার যুদ্ধ বাছাই: পি

এখানে "টেস্টিওসের পথ" এন্ট্রি রয়েছে যা আমি এখানে উল্লেখ করার উপযুক্ত বলে মনে করি :)


5

বেশিরভাগ কোডের কেবলমাত্র 20% সময় চলবে 80% । একটি কোড কভারেজ বিশ্লেষণ খুব কার্যকর হয় না যদি না সবচেয়ে বেশি পরীক্ষা করার দরকার কী তা নির্ধারণ করার জন্য কল গ্রাফের সাথে জুটিবদ্ধ হয় । এটি আপনাকে জানায় যে আপনার প্রান্তের ঘটনাগুলি সম্ভবত কোথায় রয়েছে। আপনি কেবল সেই প্রান্তের ক্ষেত্রে 100 টি পরীক্ষা নিয়ে আসতে পারেন যা আসল কোডের 5% এরও কম থাকে।

সুতরাং, সমালোচনামূলক পথগুলি সংজ্ঞায়িত 20% এর 100% এবং বিশ্রামের কমপক্ষে 50% (কল গ্রাফ অনুযায়ী) অন্তর্ভুক্ত করার বিষয়টি নিশ্চিত করুন। এটি আপনাকে (মোটামুটি) 70% - 75% মোট কভারেজ পাওয়া উচিত, তবে এটি পরিবর্তিত হয়।

সমালোচনা ছাড়াই সমালোচনামূলক প্রান্তের মামলাগুলি ছেড়ে যাওয়ার সময় মোট কভারেজটি 70% এর বেশি পাওয়ার চেষ্টা করার সময় নষ্ট করবেন না।


কোড কভারেজ সরঞ্জাম সংজ্ঞা দিয়ে কল গ্রাফ তৈরি করে না?
জেবিআরউইলকিনসন

4

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

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

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

আমাদেরও নিশ্চিত করতে হবে যে আমরা অবজেক্ট কোডটিও কভার করেছি।

এটি মূল্য / ব্যয়ের বিপরীতে আমাদের ক্ষেত্রে খুব বেশি ঝুঁকির মধ্যে ভারসাম্যপূর্ণ। একটি ত্রুটি হারিয়ে যাওয়ার ঝুঁকির উপর ভিত্তি করে একটি জ্ঞাত পছন্দ প্রয়োজন।


3

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

আমার এমন প্রকল্প রয়েছে যেখানে সেই বিন্দুটি 0%, কারণ কভারেজটি ডিজাইন এবং অন্যান্য প্রকল্পগুলিকে ক্ষতি না করে গণনা করা অসম্ভব যেখানে এটি 92% এর বেশি।

কোড কভারেজ মেট্রিকগুলি কেবলমাত্র যদি আপনি কিছু পরীক্ষা মিস করে থাকতে পারেন তবে তা দেখানোর ক্ষেত্রে কার্যকর। তারা আপনাকে আপনার পরীক্ষার মান সম্পর্কে কিছুই বলে না।


2

স্পেস ক্রিটিকাল সফ্টওয়্যারটির 100% স্টেটমেন্ট কভারেজ প্রয়োজন।

প্রথমে এটি কোনও তাত্পর্যপূর্ণ নয়। প্রত্যেকে জানে যে একটি পূর্ণ পরীক্ষার কভারেজের অর্থ এই নয় যে কোডটি পুরোপুরি পরীক্ষা করা হয়েছে এবং অ্যাপ্লিকেশনটি পরীক্ষা না করেই 100% কভারেজ পাওয়া এত কঠিন নয়।

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


2

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

100%

Java.util সংগ্রহের মতো একটি পাবলিক এপিআই-তে, এটি কোনও ডেটাবেজে মিলিত হয় না এবং এইচটিএমএল ফেরত দেয় না, আমি মনে করি 100% কভারেজ একটি আদিম লক্ষ্য, এমনকি যদি আপনি সময় বা অন্যান্য কারণে 90-95% স্থিতিশীল হন তবে সীমাবদ্ধতার। আপনার সম্পূর্ণ বৈশিষ্ট্যযুক্ত হওয়ার পরে পরীক্ষার কভারেজ বাড়ানো অন্য ধরণের কোড পর্যালোচনার চেয়ে তদন্তের আরও বিশদ স্তরের জোর করে। যদি আপনার এপিআই মোটামুটি জনপ্রিয় হয়, লোকেরা এটি যেভাবে আশা করতে পারে না সেভাবে এটি ব্যবহার করবে, এটি সাবক্লাস করবে, ডিজিটালাইজড করবে। আপনি চান না যে তাদের প্রথম অভিজ্ঞতাটি কোনও বাগ খুঁজে পাওয়া, বা ডিজাইনের তদারকি করতে হবে!

90%

ব্যবসায়ের অবকাঠামো কোডের জন্য, যা ডেটা স্ট্রাকচার গ্রহণ করে এবং ডেটা স্ট্রাকচার রিটার্ন করে, 100% সম্ভবত সম্ভবত একটি ভাল সূচনা লক্ষ্য, তবে এই কোডটি যদি প্রচুর অপব্যবহারের আমন্ত্রণ জানাতে যথেষ্ট জনসাধারণী না হয়, তবে 85% এখনও গ্রহণযোগ্য?

75%

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

50% বা তারও কম

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

0% কাছাকাছি

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

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

সম্পূর্ণ 0%

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

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


1

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

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


0

আপনার টেস্ট স্যুটটিতে কখন পর্যাপ্ত কভারেজ রয়েছে তা জানার জন্য কোড কভারেজটি ব্যবহারের ব্যবস্থা হিসাবে আমার পক্ষে এই উচ্চ মত নেই।

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

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

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