পরীক্ষার জন্য একটি নির্দিষ্ট পদ্ধতির কতটা মূল্যবান তা নির্ভর করে যে বিকাশের অধীনে থাকা সিস্টেমটি কীভাবে সমালোচনা করে, এবং অন্যান্য কিছু মিশন সমালোচনামূলক সিস্টেম তার উপর কতটা নির্ভর করে। আপনার ওয়েবসাইটের জন্য একটি সাধারণ গেস্টবুক স্ক্রিপ্টটি খুব কমই মিশন সমালোচনামূলক বিবেচনা করা যেতে পারে, তবে এটি যে ওয়েবসাইটটি চালিত হয় এটি যদি সম্ভবত কোনও বাগ দ্বারা আপস করা যেতে পারে যা ডেটাবেজে অসম্পূর্ণ ইনপুটটিকে অনুমতি দেয় এবং সেই সাইটটি কিছু অত্যাবশ্যক পরিষেবা সরবরাহ করে, তবে হঠাৎ এটি অনেক বেশি হয়ে যায় গেস্টবুকের স্ক্রিপ্টের পুরোপুরি পরীক্ষা করা গুরুত্বপূর্ণ। ফ্রেমওয়ার্ক / লাইব্রেরি কোডের ক্ষেত্রেও একই কথা। আপনি যদি বাগ সহ কোনও কাঠামো বিকাশ করেন, তবে সেই কাঠামোর বৈশিষ্ট্যটি ব্যবহার করে এমন প্রতিটি অ্যাপ্লিকেশনেও একই বাগ রয়েছে।
পরীক্ষাগুলি চালিত বিকাশ যখন পরীক্ষাগুলি আসে তখন আপনাকে সুরক্ষার অতিরিক্ত স্তর দেয়। আপনি যদি কোডটি পরীক্ষা করতে চান তার পাশাপাশি বা তারপরেও যদি পরীক্ষাগুলি লিখে থাকেন তবে আপনি পরীক্ষাগুলি ভুল পেয়ে যাবেন এমন একটি আসল ঝুঁকি রয়েছে। আপনি যদি প্রথমে সমস্ত পরীক্ষাগুলি লিখেন তবে কোডটি অভ্যন্তরীণভাবে কীভাবে কাজ করে আপনি তার জন্য পরীক্ষাগুলি কীভাবে প্রভাবিত করতে পারে তা কার্যকর করতে পারে না এবং এর ফলে আপনার অজান্তে এমন পরীক্ষাগুলি লেখার সম্ভাবনা কম থাকে যা মনে করে যে কোনও নির্দিষ্ট ভ্রান্ত আউটপুট সঠিক।
পরীক্ষিত চালিত বিকাশও আপনার বিকাশকারীদের এমন কোড লিখতে উত্সাহিত করে যা পরীক্ষা করা সহজ, কারণ তারা নিজেদের আরও বেশি কাজ করতে চায় না! যে কোডটি যাচাই করা সহজ তা এমন কোড হতে পারে যা বোঝা, পুনরায় ব্যবহার এবং বজায় রাখা সহজ।
এবং রক্ষণাবেক্ষণ হল যেখানে আপনি সত্যিই টিডিডির পুরষ্কারগুলি কাটাবেন। সফ্টওয়্যারটিতে ব্যয় করা বেশিরভাগ প্রোগ্রামিংয়ের প্রচেষ্টা রক্ষণাবেক্ষণ সম্পর্কিত। এর অর্থ এটি নতুন বৈশিষ্ট্যগুলি দিতে, বাগগুলি সংশোধন করতে বা এটিকে নতুন পরিস্থিতিতে মানিয়ে নিতে লাইভ কোডে পরিবর্তন করা। এই ধরনের পরিবর্তনগুলি করার সময়, আপনি নিশ্চিত হতে চান যে আপনি যে পরিবর্তনগুলি করেছেন তার কাঙ্ক্ষিত প্রভাব রয়েছে এবং আরও বড় কথা, এগুলির প্রভাবগুলির কোনও অপ্রত্যাশিত নক নেই। আপনার কোডের জন্য যদি আপনার একটি সম্পূর্ণ পরীক্ষার স্যুট থাকে তবে এটি যাচাই করা সহজ যে আপনি যে কোনও পরিবর্তনগুলি অন্য কোনও কিছু ভঙ্গ করছেন না এবং আপনি যে পরিবর্তনগুলি করেন কিছু অন্যরকম করে যদি আপনি তাড়াতাড়ি কারণটি সনাক্ত করতে পারেন verify সুফলগুলি দীর্ঘমেয়াদী।
আপনি আপনার প্রশ্নে নিম্নলিখিতটি বলেছেন:
আমি কিছু জিনিসের জন্য পরীক্ষা লেখার কিছু সুবিধা দেখছি তবে খুব কম। আমি যখন প্রথম পরীক্ষাটি লেখার ধারণাটি পছন্দ করি তখনও আমি দেখতে পাই যে আমার পরীক্ষাগুলি ডিবাগ করার চেষ্টা করার জন্য আমি আরও বেশি সময় ব্যয় করেছি যাতে আমি সত্যিকারের কোডটি ডিবাগিংয়ের চেয়ে সত্যই বোঝাতে পারি say এটি সম্ভবত কারণ পরীক্ষার কোডটি কোডটি যা পরীক্ষা করে তার চেয়ে প্রায়শই জটিল। আমি আশা করি এটি উপলব্ধ সরঞ্জামগুলির সাথে কেবলমাত্র অনভিজ্ঞতা (এই ক্ষেত্রে আরএসপেক)।
এটি আমার কাছে মনে হয় যে আপনি যথেষ্ট পরীক্ষা নিচ্ছেন না। একটি ইউনিট পরীক্ষা অত্যন্ত সহজ বলে মনে করা হয়, পদ্ধতি কলগুলির কেবল একটি ক্রম, তারপরে প্রকৃত ফলাফলের তুলনায় প্রত্যাশিত ফলাফলের তুলনা করার জন্য একটি জোর দেওয়া। এগুলি সহজ হিসাবে বোঝানো হচ্ছে কারণ আপনার পরীক্ষাগুলির বাগগুলি বিপর্যয়কর হবে এবং আপনি যদি পরীক্ষাগুলিতে লুপ, শাখা বা অন্যান্য প্রোগ্রাম নিক্ষেপ করে নিয়ন্ত্রণ পরীক্ষা করে থাকেন তবে পরীক্ষার মধ্যে এটি একটি বাগ প্রবর্তিত হওয়ার সম্ভাবনা বেশি থাকে। আপনি যদি ডিবাগিং পরীক্ষাগুলিতে প্রচুর সময় ব্যয় করেন তবে এটি ইঙ্গিত দেয় যে আপনার পরীক্ষাগুলি অত্যধিক জটিল এবং আপনার সেগুলি সহজ করা উচিত।
যদি পরীক্ষাগুলি সরল করা যায় না, কেবল এই বাস্তবতার চেয়ে পরামর্শ দেওয়া হয় যে পরীক্ষার অধীনে কোডটিতে কিছু সমস্যা আছে। উদাহরণস্বরূপ, যদি আপনার শ্রেণীর দীর্ঘ পদ্ধতি থাকে, তবে প্রচুর পরিমাণে / অন্যটি / অন্যথায় বা স্যুইচ স্টেটমেন্টগুলি বা শ্রেণীর বর্তমান অবস্থার দ্বারা নির্ধারিত জটিল ইন্টারঅ্যাকশন রয়েছে এমন একটি উচ্চ সংখ্যক পদ্ধতি রয়েছে তবে পরীক্ষাগুলি প্রয়োজনীয়তার দ্বারা অত্যন্ত জটিল হতে হবে সম্পূর্ণ কোড কভারেজ সরবরাহ এবং সমস্ত ইভেন্টের পরীক্ষা করতে to যদি আপনার ক্লাসে অন্যান্য ক্লাসের উপর হার্ড কোডিং নির্ভরতা থাকে তবে এটি আপনার হুপের সংখ্যা আরও বাড়িয়ে দেবে আপনার কার্যকরভাবে আপনার কোড পরীক্ষা করার জন্য আপনাকে ঝাঁপিয়ে পড়তে হবে।
যদি আপনি কয়েকটি ক্লাসিক প্রয়োগের পাথের সাথে সংক্ষিপ্ত পদ্ধতিগুলি সহ আপনার ক্লাসগুলিকে ছোট এবং উচ্চ দৃষ্টি নিবদ্ধ রাখেন এবং অভ্যন্তরীণ পরিস্থিতি দূর করার চেষ্টা করেন তবে পরীক্ষাগুলি সরল করা যায়। এবং এটি বিষয়টির ক্রুশ জাতীয়। ভাল কোডটি সহজাতভাবে পরীক্ষা করা সহজ। কোডটি যদি পরীক্ষা করা সহজ না হয় তবে এটির সাথে সম্ভবত কিছু ভুল আছে।
ইউনিট পরীক্ষাগুলি লেখা এমন একটি বিষয় যা আপনাকে দীর্ঘমেয়াদে উপকৃত করে এবং এগুলি এড়ানো এড়ানো কেবল পরবর্তী সময়ের জন্য সমস্যা সঞ্চয় করে। আপনি প্রযুক্তিগত debtণের ধারণার সাথে পরিচিত নাও হতে পারেন, তবে এটি আর্থিক debtণের মতো কাজ করে। পরীক্ষা না লিখে, কোডের মন্তব্য না করা, হার্ড কোডড নির্ভরতাতে লেখা এবং inণে যাওয়ার উপায়গুলি are আপনি প্রথম দিকে কোণগুলি কেটে "orrowণ" নেওয়ার চেষ্টা করুন এবং এটি আপনাকে একটি শক্ত সময়সীমার দিকে আঘাত করতে সহায়তা করতে পারে তবে আপনি প্রকল্পে আগে সাশ্রয় করার সময়টি onণে রয়েছে। কোডটি পরিষ্কার না করে, সঠিকভাবে মন্তব্য করা বা একটি পরীক্ষার স্যুট তৈরি না করেই চলে এমন প্রতিটি দিন আপনার আগ্রহের জন্য ব্যয় করবে। এটি যত দীর্ঘ হয়, তত বেশি আগ্রহ জমে। অবশেষে, আপনি আবিষ্কার করবেন যে আপনার কোডটি এমন জটলা জবাবদিহি হয়ে উঠেছে যা আপনি অনিচ্ছাকৃত ফলাফলগুলি ট্রিগার না করে পরিবর্তন করতে পারবেন না।
আপনি প্রাথমিকভাবে ইউনিট পরীক্ষাগুলি লেখার এবং "প্রযুক্তিগত creditণ" ফর্ম হিসাবে তাদের আপ টু ডেট রাখার কথা ভাবতে পারেন। আপনি ভাল অনুশীলন অনুসরণে প্রকল্পের প্রথম দিকে ব্যয় করে আপনি ব্যাংকে সময় দিন। আপনি প্রকল্পের রক্ষণাবেক্ষণের পর্যায়ে পৌঁছানোর পরে এই দূরদর্শিতার উপর আগ্রহ অর্জন করবেন। আপনি যখন কোনও পরিবর্তন আনতে চান, আপনি সহজেই পরিবর্তনের যথার্থতাটি যাচাই করতে পারেন এবং এতে কোনও অযাচিত পার্শ্ব প্রতিক্রিয়া নেই এবং আপনি দ্রুত এবং গোলমাল ছাড়াই দরজাটি আপডেট করতে পারেন। যদি বাগগুলি দেখা দেয় তবে আপনি একটি নতুন ইউনিট পরীক্ষা যুক্ত করতে পারেন যা বাগটি অনুশীলন করে, তারপরে কোডটিতে বাগটি ঠিক করুন। আপনি পরবর্তী ইউনিট পরীক্ষা চালানোর সময় আপনি বাগটি ঠিক করা হয়েছে কিনা তা যাচাই করতে সক্ষম হবেন এবং এর ফলে অন্য কোনও সমস্যা হয়নি। আরও, আপনি "প্রতিক্রিয়া" এড়াতে পারবেন,
টিএল: ডিআর - হ্যাঁ, এগুলি সত্যই বিশ্ব সহায়তা, তবে তারা একটি বিনিয়োগ। সুবিধাগুলি কেবল পরে প্রকাশিত হয়।