আমি কি ইউনিট পরীক্ষায় একটি টীকাটির অস্তিত্ব পরীক্ষা করতে পারি?


9

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

আমি জিইটিএস (ভাল ইউনিট পরীক্ষা) তৈরি করার চেষ্টা করছি, তাই আমি ভেবেছিলাম যে আমি আমার পরীক্ষাগুলিতে এই "প্রযুক্তিগত প্রয়োজনীয়তা" নথিভুক্ত করতে পারি, এটি একটি পরীক্ষার কেস দিয়ে বলে।

তবে এটি কোনও বৈশিষ্ট্য নয়, এটি বাস্তবায়নের বিশদ হিসাবে এবং এটি পদ্ধতির আচরণের সাথে লিঙ্কযুক্ত নয় (পদ্ধতিটি খালি থাকতে পারে, তবে এটির অস্তিত্ব থাকতে হবে এবং এটিকে ব্যাখ্যা করতে হবে)।

এটির জন্য একটি পরীক্ষা তৈরি করা কি ঠিক আছে বা এই টীকাটির অস্তিত্ব পরীক্ষা করার জন্য অন্য কোনও উপায় আছে?


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

উত্তর:


5

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

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


2

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


ওহে! এটি আকর্ষণীয়, উদাহরণস্বরূপ, আপনি কীভাবে @ সরানো টীকাটির আচরণটি পরীক্ষা করবেন?
JSBach

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

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