ইউনিট পরীক্ষার বনাম ইউনিট পরীক্ষাগুলির সংক্ষিপ্তকরণ th


14

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

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

সুতরাং প্রতিটি আচরণের জন্য আমার পরীক্ষাগুলি আচরণটি সেট আপ করে, এটি মানচিত্রে লিখতে বাধ্য করে, তারপরে কাঙ্ক্ষিত চলাফেরার জন্য ম্যাপ-পার্সিং ফাংশন সম্পাদন করে। যদি সেই আন্দোলনটি আমার নির্দিষ্টকরণগুলিকে সন্তুষ্ট করে তবে আমি খুশি।

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

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

সুতরাং এখন আমি জ্ঞানীয় অসম্পূর্ণতা ভুগছি। এই পরীক্ষাগুলি গঠনের সর্বোত্তম উপায় কী?


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

উত্তর:


10

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

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

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


আমি অনুমান করি যে লেখকের মূল বক্তব্যটি ছিল আপনার এই উচ্চ-স্তরের পরীক্ষার জন্য স্টাব / মক বা সত্যিকারের বাস্তবায়ন ব্যবহার করা উচিত
সাইবেরিয়ানগুই

2

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

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

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


0

আমার মনে হয় আপনি এমন স্টাফ পরীক্ষা করার চেষ্টা করছেন যা ইউনিটের চেয়ে অনেক উচ্চ স্তরের।

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


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