ব্যাচ প্রসেসিংয়ের জন্য টিডিডি: এটি কীভাবে করবেন?


14

আমি আরআর এর জন্য "লাল / সবুজ / রিফ্যাক্টর" পছন্দ করি, ইত্যাদি ঠিক আছে।

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

এই ফাইলগুলির বৈশিষ্ট্যগুলিতে মন্থন বেশি, তাই প্রায়শই প্রায়শই অনেকগুলি সংশোধন / বর্ধিতকরণ প্রয়োগ করা হয়।

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

প্রশ্ন >> এই জাতীয় পরিবেশে টিডিডি নীতিমালা কীভাবে আনবেন?


1
এটি ডেটা, বা উত্স কোড, বা উভয় মন্থন?
রবিং

উত্তর:


5

শুধু একটি এফওয়াইআই: ইউনিট টেস্টিং টিডিডির সমতুল্য নয়। টিডিডি এমন একটি প্রক্রিয়া যা ইউনিট পরীক্ষার একটি উপাদান।

এই বলে যে, আপনি যদি ইউনিট পরীক্ষাটি বাস্তবায়নের জন্য সন্ধান করছিলেন তবে আপনি করতে পারেন এমন অনেকগুলি কাজ রয়েছে:

সমস্ত নতুন কোড / বর্ধন পরীক্ষা করা হয়

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

ডেটা পৃথক টুকরা পরীক্ষা করুন

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

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

এটি আপনাকে একটি শক্তিশালী বেস দিতে হবে।

প্রকৃত ডেটা ব্যবহার করা

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


3
কেবলমাত্র নিশ্চিত হয়ে নিন যে আপনি প্রয়োজনে পরীক্ষার ডেটা যথাযথভাবে বেনামে রাখবেন।
ফ্রাঙ্ক শায়ারার

1

এটি অন্য যে কোনও পরিবেশের মতো।

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

তারপরে প্রতিটি নিয়মের জন্য একটি পরীক্ষা লিখুন। এই পরীক্ষাগুলি ব্যর্থ হবে। পরীক্ষা ঠিক করার জন্য কোডটি লিখুন।

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


1

একটি ভাল সফ্টওয়্যার কৌশল দিয়ে শুরু করুন, তারপরে টিডিডি প্রয়োগ করুন।

(অস্বীকৃতি: আমি "মন্থ", বা টিডিডি, বা উভয়ই ভুল বুঝেছি))

"নোংরা ডেটা" ব্যাচের প্রক্রিয়াকরণের জন্য আমার প্রস্তাবিত কৌশলটি এখানে রয়েছে: সুনির্দিষ্ট-বিবাহ-সম্পাদন করুন।

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

দক্ষতা tidbit:

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

"টিডিডি করার আগে আপনি কী তৈরি করতে চান তা জানতে হবে" টিডবিট:

স্পেসিফাই-ট্রেজ-এক্সিকিউটটি প্রতিটি স্তরে প্রয়োজনীয়তাগুলি পরিচালনা করার একটি উপায় এবং ভবিষ্যতের বৃদ্ধির জন্য অনুমতি দেয়।

(যদি কেউ এই তিনটি ধাপের জন্য মানক সঠিক শর্তাদি জানেন তবে দয়া করে আমাকে জানান, আমি আমার উত্তরগুলি সম্পাদনা করব))

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