ইউনিট টেস্টে এলোমেলো তথ্য?


136

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

আমি তাকে এর বিপরীতে বেশ কয়েকটি বিভিন্ন কারণ দিয়েছি, মূলটি হ'ল:

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

অন্য সহকর্মী যোগ করেছেন:

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

এই কাজটি থামিয়ে দেওয়ার জন্য আমি তাকে অন্য কোনও কারণ যুক্ত করতে পারি?

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


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

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

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

যদি আপনার ইউনিট পরীক্ষাটি এলোমেলোভাবে উত্পন্ন মানের কারণে ব্যর্থ হয় এবং এই মানটি দৃ an়তার অংশ না হয় তবে আপনার ইউনিট পরীক্ষার ডিবাগিংয়ের জন্য শুভকামনা।
eriksmith200

উত্তর:


72

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

একটি প্রোগ্রাম (বা ইউনিট) নির্দিষ্টকরণ একটি অনুমান যা সেখানে কিছু প্রোগ্রাম উপস্থিত যে এটি পূরণ করে। প্রোগ্রামটি নিজেই সেই অনুমানের প্রমাণ। কোন ইউনিট পরীক্ষার হওয়া উচিত তা খণ্ডন করার জন্য প্রতি-প্রমাণ সরবরাহ করার চেষ্টা যা প্রোগ্রামটি অনুমান অনুসারে কাজ করে।

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

আপনি কোন ভাষাটি ব্যবহার করছেন তা আমি জানি না তবে এখানে দেখুন:

জাভা http://functionaljava.org/

স্কালা (বা জাভা) http://github.com/rickynils/scalacheck

হাস্কেল http://www.cs.chalmers.se/~rjmh/QuickCheck/

। নেট: http://blogs.msdn.com/dsyme/archive/2008/08/09/fscheck-0-2.aspx

এই সরঞ্জামগুলি আপনার সুগঠিত স্পেকটিকে ইনপুট হিসাবে গ্রহণ করবে এবং স্বয়ংক্রিয়ভাবে উত্পন্ন ডেটা সহ স্বয়ংক্রিয়ভাবে যতগুলি ইউনিট পরীক্ষাগুলি তৈরি করবে। আপনার কোড ভাঙার জন্য সহজতম পরীক্ষার কেসটি সন্ধান করার জন্য এবং এটি প্রান্তের কেসগুলি ভালভাবে কভার করেছে তা নিশ্চিত করার জন্য তারা "সঙ্কুচিত" কৌশলগুলি ব্যবহার করে (যা আপনি টুইট করতে পারেন)।

শুভ পরীক্ষা!


1
এটি +1। ScalaCheck পুনরাবৃত্তিযোগ্য উপায়ে ন্যূনতম, এলোমেলো পরীক্ষার ডেটা তৈরির এক অসাধারণ কাজ করে does
ড্যানিয়েল স্পিউক

17
এটা এলোমেলো নয়। এটা নির্বিচারে। বড় পার্থক্য :)
Apocalisp

রিংটিওয়েস্ট.আরগ এখন আর বিদ্যমান বলে মনে হয় এবং গুগল আমাকে অন্য কোথাও নির্দেশ করে নি। কোন ধারণা এখন এটি কোথায়?
রায়েডওয়াল্ড

এটি এখন কার্যকরী জাভা গ্রন্থাগারের অংশ part লিঙ্ক সম্পাদিত। তবে আমি জাভা কোডটি পরীক্ষা করার জন্য কেবল স্কেলচেক ব্যবহার করব।
অ্যাপোক্যালিস্প

স্কালাচেক গিটহাবে স্থানান্তরিত হয়েছে। উত্তরে আপডেট হওয়া লিঙ্ক। এটি কেবল স্কালার জন্য নয়, জাভার পক্ষেও কার্যকর। (পুরানো লিঙ্কটি ছিল কোড. google.com/p/scalacheck )
রবার্টবি

38

এই ধরণের পরীক্ষার নামকে একটি বানর পরীক্ষা বলা হয় । সঠিক হয়ে গেলে, এটি সত্যই অন্ধকার কোণ থেকে বাগগুলি ধূমপান করতে পারে।

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


26

এখানে একটি অর্ধপথ বাড়ি রয়েছে যার কিছুটা ব্যবহার রয়েছে, যা আপনার পিআরএনজিকে একটি ধ্রুবক সহ বীজ করতে হয়। এটি আপনাকে 'এলোমেলো' ডেটা তৈরি করতে দেয় যা পুনরাবৃত্তিযোগ্য।

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


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

পিআরএনজি কী বোঝায়?
সিস্টেমেভিচ

ছদ্ম র্যান্ডম সংখ্যা উত্পাদক
উইল ডিন

16

বিউটিফুল কোড বইটিতে , "বিউটিফুল টেস্টস" নামে একটি অধ্যায় রয়েছে, যেখানে তিনি বাইনারি অনুসন্ধান অ্যালগরিদমের জন্য একটি পরীক্ষার কৌশলটি অনুসরণ করেন । একটি অনুচ্ছেদে বলা হয় "টেস্টিংয়ের র‌্যান্ডম অ্যাক্টস", যাতে তিনি অ্যালগোরিদমকে পুরোপুরি পরীক্ষা করার জন্য এলোমেলো অ্যারে তৈরি করেন। আপনি গুগল বইয়ের 95 পৃষ্ঠায় অনলাইনে এর কয়েকটি পড়তে পারেন তবে এটি দুর্দান্ত মূল্যবান বই book

সুতরাং মূলত এটি কেবল দেখায় যে পরীক্ষার জন্য এলোমেলো ডেটা তৈরি করা একটি কার্যকর বিকল্প।


16

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

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

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

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

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

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

এলোমেলোভাবে পরীক্ষাগুলির জন্য অনেক কিছু বলা যায়, বিশেষত ভাল লেখা রয়েছে, তাই এগুলি বরখাস্ত করার জন্য খুব তাড়াতাড়ি করবেন না!


14

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

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

আমি অতিরঞ্জিত করছি তবে আমি এই পরীক্ষার মধ্যে এলোমেলো তথ্য ইনজেকশন করতে পছন্দ করি যে এই চিহ্ন হিসাবে "এই ভেরিয়েবলটির মান এই পরীক্ষার ফলাফলকে প্রভাবিত করবে না"।

আমি বলব যদিও আপনি যদি এলোমেলো ভেরিয়েবল ব্যবহার করেন তবে সেই পরীক্ষার ভিত্তিতে আপনার পরীক্ষাটি কাঁটাচামচ করুন, তবে এটি গন্ধ।


10

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


9
  • যদি এটি একটি এলোমেলো মান এবং পরীক্ষা ব্যর্থ হয়, আমাদের ক) অবজেক্টটি ঠিক করতে হবে এবং খ) প্রতিবার সেই মানটির জন্য নিজেকে পরীক্ষা করতে বাধ্য করা হবে, সুতরাং আমরা জানি এটি কার্যকর হয়, তবে এটি এলোমেলো যেহেতু আমরা জানি না মানটি কী ছিল

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


9

আপনার সহকর্মী অদ্ভুত-পরীক্ষা করছেন , যদিও তিনি এটি সম্পর্কে জানেন না। এগুলি সার্ভার সিস্টেমে বিশেষভাবে মূল্যবান।


2
তবে এটি ইউনিট পরীক্ষার চেয়ে মৌলিকভাবে আলাদা জিনিস নয়? এবং একটি ভিন্ন সময়ে সম্পন্ন?
এন্ডোলিথ

1
@ এন্ডোলিথে পদার্থবিজ্ঞানের কোনও আইন নেই যা আপনাকে নির্দিষ্ট সময়ে নির্দিষ্ট পরীক্ষা চালাতে বাধ্য করে
ব্যবহারকারী 253751

1
@ এমমিবিস তবে নির্দিষ্ট সময়ে নির্দিষ্ট পরীক্ষা করার ভাল কারণ রয়েছে। আপনি যখনই কোনও ব্যবহারকারী "Ok" বোতাম টিপেন ততবার আপনি ইউনিট পরীক্ষার ব্যাটারি চালান না।
এন্ডোলিথ

5

আপনি একবারে কিছু এলোমেলো ডেটা তৈরি করতে পারবেন (আমি একবারে বোঝাতে চাইছি, একবার টেস্টে রান করার সময় নয়), তারপরে এটি সমস্ত পরীক্ষায় ব্যবহার করতে পারি?

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


5

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


আমি যুক্ত করব যে ফাজিংয়ের জন্য এলোমেলো ইনপুট ব্যবহার করা যখন সম্ভব হয় তখন কভারেজ-গাইডেড ফজিংয়ের একটি দুর্বল বিকল্প।
gobenji

1

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

"স্বেচ্ছাসেবক" ডেটা ধারণাটি গুরুত্বপূর্ণ যে কোনও বিষয়কে ইঙ্গিত করার উপায় হিসাবেও খুব কার্যকর । আমাদের কিছু গ্রহণযোগ্যতা পরীক্ষা রয়েছে যা মনে আসে যেখানে প্রচুর শব্দ ডেটা রয়েছে যা পরীক্ষার হাতের কাছে কোনও প্রাসঙ্গিক নয়।


0

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


0

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

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

এখনও কি যোগ্যতা এলোমেলো হয়? বিয়ার দিয়ে কথা বলা যাক। :-)


0

আমি পরীক্ষার ডেটা সমস্যার তিনটি সমাধান কল্পনা করতে পারি:

  • স্থির ডেটা দিয়ে পরীক্ষা করুন
  • এলোমেলো ডেটা দিয়ে পরীক্ষা করুন
  • একবার এলোমেলো ডেটা তৈরি করুন , তারপরে এটি আপনার স্থির ডেটা হিসাবে ব্যবহার করুন

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

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


-2

আপনার লোক যদি পরীক্ষাটি স্থির করে ফেলতে ব্যর্থ হয় তবে কীভাবে আবার পরীক্ষা চালাতে পারে? অর্থাৎ সে পরীক্ষার পুনরাবৃত্তিযোগ্যতা হারায়।

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

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


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