আপনি যে অ্যাপটি তৈরি করেছেন তা নিয়ে আপনি উত্তেজিত। শুধু একটি সমস্যা আছে - আপনার কোন পরীক্ষা নেই। আপনি টেস্ট-ড্রাইভেন ডেভেলপমেন্ট ব্যবহার করে এটি লিখতে চেয়েছিলেন, কিন্তু আপনি ঠিক কোথায় শুরু করবেন তা জানেন না। তাই আপনি আটকে আছেন। আপনি কোথায় এখানে থেকে যান? টিডিডি ব্যবহার করে আপনার অ্যাপ লেখার জন্য কোনো পরীক্ষা ছাড়াই আপনি কীভাবে অ্যাপ থেকে পাবেন?
আপনার কাছে ইতিমধ্যেই থাকা কোডটি পরীক্ষা করুন
আপনি কোন পরীক্ষা ছাড়া কোড একটি গুচ্ছ আছে. কিন্তু এর মানে এই নয় যে আপনি আপনার পরীক্ষা এখন লিখতে পারবেন না , বিদ্যমান কোডের বিরুদ্ধে। তাই আপনার কোড যেভাবে কাজ করবে তা নিশ্চিত করতে আপনার কাছে ইতিমধ্যেই থাকা কোডটি পরীক্ষা করা শুরু করুন৷
এটি টিডিডি নয়। কিন্তু বিদ্যমান কোড পরীক্ষা করা আপনাকে শিখতে সাহায্য করবে৷ TDD :
-
আপনি এজ কেস এবং ত্রুটির অবস্থা সম্পর্কে চিন্তা করার অনুশীলন করেন৷৷
প্রতি একক সম্ভাব্য ইনপুট পরীক্ষা করে বছর ব্যয় না করে পরীক্ষা লিখতে, আপনাকে কোডটি কোথায় ভাঙ্গার সম্ভাবনা সবচেয়ে বেশি তা নিয়ে ভাবতে হবে। আপনি যে পদ্ধতিটি পরীক্ষা করছেন সেটি যদি একটি স্ট্রিং নেয়, আপনি এটিকে একটি প্রতীক পাস করলে কী হবে? আপনি
nil
পাস করলে কি হবে ? এবং যদি আপনি এমন একটি ফাংশন পরীক্ষা করছেন যা সংখ্যাগুলিকে ভাগ করে, তাহলে আপনি এটিকে 0 দিয়ে পরীক্ষা করতে পারবেন। তবে আপনাকে সম্ভবত 1 এবং দিয়ে পরীক্ষা করার দরকার নেই 2.আপনি পর্যাপ্ত পরীক্ষা লেখার পরে, আপনি ভবিষ্যদ্বাণী করতে শুরু করবেন যে আপনার পদ্ধতিগুলি কোথায় ভাঙার সম্ভাবনা সবচেয়ে বেশি। এবং একবার আপনি TDDing শুরু করলে, আপনি এই দক্ষতাটি শক্তিশালী পরীক্ষা লিখতে ব্যবহার করতে পারেন যা আপনার কোডকে আপনার প্রান্তের ক্ষেত্রে আরও ভালভাবে পরিচালনা করতে বাধ্য করে৷
-
আপনি ভাল-গঠিত পরীক্ষা লেখার অনুশীলন করেন।
আপনি যখন বাস্তবতার পরে পরীক্ষাগুলি লেখেন, আপনি সেই পরীক্ষাগুলি গঠনের জন্য বিভিন্ন নিদর্শন চেষ্টা করতে পারেন। আপনি যে কোডটি পরীক্ষা করছেন তা ইতিমধ্যেই সেখানে রয়েছে, তাই আপনি আপনার পরীক্ষা এবং এটি কীভাবে লেখা হয়েছে তার উপর ফোকাস করতে পারেন। এবং একবার আপনি কিছু ভাল প্যাটার্ন শিখলে, আপনি যখন করবেন না তখন আপনি আরও ভাল পরীক্ষা লিখবেন ঝুঁকতে কোড আছে।
-
আপনি এমন জিনিসগুলি আবিষ্কার করেন যা কোড পরীক্ষা করা কঠিন করে তোলে৷৷
আপনি যখন আরও পরীক্ষা লিখবেন, আপনি বুঝতে শুরু করবেন যে আপনার সিস্টেমের কোন ক্ষেত্রগুলি পরীক্ষা করা সবচেয়ে কঠিন হবে। আপনি যখন সেই অঞ্চলগুলি লক্ষ্য করেন, তখন আপনি সেগুলিকে এমন জায়গা হিসাবে হাইলাইট করতে পারেন যেগুলির রিফ্যাক্টরিং প্রয়োজন৷ আরও ভাল, আপনি প্রথমবার আরও পরীক্ষাযোগ্য কোড লিখতে শুরু করবেন।
একবার আপনি জানতে পারবেন যে পরীক্ষা করা সহজ কোডটি কেমন দেখাচ্ছে, আপনি সেই জ্ঞানের সাথে পরীক্ষা করা সহজ এপিআইগুলিকে TDD করতে পারেন৷ এবং এটি আপনাকে দ্রুত আপনার অ্যাপ তৈরি করতে সাহায্য করবে৷
৷
টিডিডিতে সহজ করুন
আপনি দক্ষতা তৈরি করতে পরীক্ষা-পরবর্তী ব্যবহার করতে পারেন যা আপনাকে শিখতে সাহায্য করে টিডিডি। কিন্তু আপনি শেষ পর্যন্ত আপনার অ্যাপের টুকরো TDD করতে চান। এবং টিডিডিতে সহজ করার একটি সহজ উপায় আছে, এবং এখনও বিদ্যমান কোডের উপর নির্ভর করুন:রিগ্রেশন পরীক্ষা লিখুন।
রিগ্রেশন পরীক্ষা আপনাকে ইতিমধ্যেই ঠিক করে রাখা কোড ভাঙা থেকে বিরত রাখে। ধারণা বেশ সহজ। যখনই আপনি একটি বাগ সম্পর্কে শুনবেন, ব্রাউজারে ক্লিক করার পরিবর্তে এটি পুনরুত্পাদন করুন:
- একটি ব্যর্থ পরীক্ষা লিখুন বাগ পুনরুত্পাদন করতে।
- পরীক্ষা চালান , এবং নিশ্চিত করুন যে তারা ব্যর্থ হয়েছে (কারণ সেই বাগ এখনও বিদ্যমান)।
- বাগটি ঠিক করুন৷ সবচেয়ে সহজ উপায়ে।
- পরীক্ষা চালান , এবং নিশ্চিত করুন যে তারা পাস করেছে।
- রিফ্যাক্টর প্রয়োজনে আপনার সমাধান।
এটি স্ক্র্যাচ থেকে একটি নতুন সিস্টেম টিডিডি করার চেয়ে অনেক সহজ, কারণ আপনি ইতিমধ্যে সেখানে থাকা কোডে পরিবর্তন পরীক্ষা করছেন৷ আপনি "লাল, সবুজ, রিফ্যাক্টর" এর অভ্যাস গড়ে তুলুন যা টিডিডির অপরিহার্য লুপ। এবং এখান থেকে, কোনো পরীক্ষা ছাড়াই সরাসরি TDD-এ যাওয়ার চেষ্টা করার চেয়ে TDD একটি ছোট ধাপ দূরে৷
কিছুই থেকে TDD
পরীক্ষা ছাড়া একটি অ্যাপ শুরু করার জন্য একটি খারাপ জায়গা নয়। আপনি যখন বিদ্যমান কোড পরীক্ষা করবেন, তখন আপনি ভাল TDD পরীক্ষা লিখতে যা প্রয়োজন তা অনেক কিছু শিখবেন। প্রথমে TDD-এর চেয়ে টেস্ট-আফটার সহজ, কারণ আপনাকে এমন APIগুলি কল্পনা করতে হবে না যেগুলি আপনি এখনও ডিজাইন করতে জানেন না। এবং একবার আপনি আপনার অ্যাপে TDD আনার সিদ্ধান্ত নিলে, আপনি রিগ্রেশন পরীক্ষার মাধ্যমে এটিতে সহজ করতে পারেন।
সুতরাং, আপনি যে সিস্টেমটি কল্পনা করছেন তা কীভাবে TDD করতে হয় তা যদি আপনি না জানেন তবে পরীক্ষা লিখতে থাকুন। এমনকি যদি আপনাকে প্রথমে কোড লিখতে হয়।