সাধারণভাবে
আপনার অবিচ্ছিন্ন ইন্টিগ্রেশন পাইপলাইনে আত্মবিশ্বাসী হওয়ার জন্য আপনার কাছে পর্যাপ্ত স্বয়ংক্রিয় পরীক্ষা কখন হবে?
আপনি কী সম্পর্কে আত্মবিশ্বাসী হতে চান সে সম্পর্কে যদি আপনি চিন্তা করেন তবে উত্তরটি সম্ভবত পরিষ্কার হয়ে যাবে। শেষ পর্যন্ত, এটি 1-1 মানচিত্র; প্রতিটি পরীক্ষা আপনাকে যা পরীক্ষা করে তা একটি বিষয়ে আত্মবিশ্বাসী করে তোলে:
- ইউনিট টেস্টিং আপনাকে আত্মবিশ্বাস দেয় যে কোনও শ্রেণি (বা মডিউল) এটির জন্য পরীক্ষা করা হয়।
- ইন্টিগ্রেশন টেস্টিং আপনাকে আত্মবিশ্বাস দেয় যে বেশ কয়েকটি ইউনিট যেভাবে পরীক্ষিত হয় তাতে একসাথে কাজ করে।
- শেষ থেকে শেষের পরীক্ষাটি আপনাকে আত্মবিশ্বাস দেয় যে পুরো প্রয়োগটি একটি নির্দিষ্ট কাজ করে, পরীক্ষায় এটির বর্ণনা রয়েছে।
আপনি আপনার প্রশ্নটি যেভাবে তৈরি করেছেন সেখান থেকে আপনি সম্ভবত এখনই একটি বড়-চিত্র ব্যবসায়িক অর্থে চিন্তা করছেন, উদাহরণস্বরূপ:
আমি আত্মবিশ্বাসী হতে চাই যে আমার অ্যাপটি এক্স করতে পারে ।
সুতরাং আপনি একটি শেষ-থেকে-শেষের পরীক্ষা লিখুন যা এক্স করার চেষ্টা করে এবং এটি যদি এটি সঠিকভাবে করে তবে তা পরীক্ষা করে।
আরও কংক্রিট
এগুলি হ'ল খুব স্ব-রেফারেন্সিয়াল, কিন্তু এটি কারণ এটিই নেমে আসে। সেখানে কেবল নয় এটি আরও অনেক কিছু।
উদাহরণস্বরূপ, রান্নার রেসিপিগুলি তৈরি করতে আপনি কোনও অ্যাপ লিখেছেন তা কল্পনা করুন। একটি বৈশিষ্ট্য হ'ল, যদি আপনি বিভিন্ন পরিমাণে বিভিন্ন ধরণের পনির যোগ করেন তবে এটি আপনাকে সঠিক তাপমাত্রা এবং সময় দেয় যাতে সেগুলি সমস্ত গলে যায়।
সুতরাং আপনি CheeseMeltCalculator
এটির জন্য একটি ইউনিট পরীক্ষা লিখতে পারেন যেখানে আপনি এটি 100 গ্রাম গৌদা এবং 200 গ্রাম ইমেন্টাল পনির দেন এবং তারপরে আপনি পরীক্ষা করে দেখুন যে তাপমাত্রা এবং সময়টি সঠিকভাবে পরিণত হয়েছে। এর অর্থ আপনি এখন আত্মবিশ্বাসী হতে পারেন যে CheeseMeltCalculator
100 গ্রাম গৌদা এবং 200 গ্রাম পনির জন্য কাজ করে। এখন আপনি যদি 200g এর পরিবর্তে 300g গৌদা দিয়ে এই পরীক্ষার পুনরাবৃত্তি করেন তবে আপনি বেশ আত্মবিশ্বাসী হতে পারেন যে এটি বিভিন্ন মানের জন্য সঠিকভাবে কাজ করে। আপনার জন্য পরীক্ষার যোগ করতে পারেন 0
, -1
এবং int.MaxValue
গৌড় এর ছ আত্মবিশ্বাসী যে কোড লেঙ মারা না হতে (অথবা অভিপ্রেত যেমন সঠিকভাবে আপ ভ্রমণের) অদ্ভুত ইনপুট জন্য।
CheeseMeltCalculator
পুরো খাদ্য তাপমাত্রা এবং সময় গণনা প্রক্রিয়ায় সঠিকভাবে অন্তর্ভুক্ত করা হয়েছে কিনা তা পরীক্ষা করতে আপনি একটি ইন্টিগ্রেশন পরীক্ষা লিখতে পারেন । যদি এটি ভুল হয়ে যায়, তবে CheeseMeltCalculator
উপরের পরীক্ষাগুলি ঠিকঠাক হয়, আপনি আত্মবিশ্বাসের সাথে বিশ্বাস রাখতে পারেন যে বাগটি অন্য ক্যালকুলেটরগুলিতে বা বিভিন্ন ক্যালকুলেটর থেকে ডেটা একত্রিত করার পথে রয়েছে।
এবং পরিশেষে আপনি একটি সম্পূর্ণ রেসিপি তৈরির জন্য একটি শেষ থেকে শেষের জন্য পরীক্ষা লিখতে পারেন, এবং আপনি যা যা যা পরীক্ষা করেন তার মধ্যে একটি হল ফলাফলের তাপমাত্রা এবং সময়। যদি আগের 2 টি স্তরগুলির পরীক্ষাগুলি ভাল হয় তবে এটির জন্য এটি ভুল হয়ে যায় তবে আপনি আবারও আত্মবিশ্বাসের সাথে বলতে পারেন যে সেই অংশগুলি সঠিক এবং ভুলটি কীভাবে তাপমাত্রার গণনা প্রয়োগের সাথে একীভূত হয় সে সম্পর্কে is উদাহরণস্বরূপ, সম্ভবত ব্যবহারকারীর ইনপুটটি সঠিকভাবে স্থানান্তরিত হয়নি।
এবং পরিশেষে , যদি এই সমস্ত পরীক্ষা ভাল হয়, তবে আপনি আত্মবিশ্বাসী হতে পারেন যে " আপনি যদি বিভিন্ন ধরণের বিভিন্ন ধরণের পনির যোগ করেন তবে এটি আপনাকে সঠিক তাপমাত্রা এবং সময় দেয় যাতে সেগুলি সমস্ত গলে যায় "
দীর্ঘ সংক্ষিপ্ত বিবরণ
মুল বক্তব্যটি হচ্ছে আপনি "এটি সঠিকভাবে কাজ করে" একটি পরীক্ষা করতে পারবেন না। আপনি কেবল "যদি আমি এক্স করি, ওয়াই হয়" পরীক্ষা করতে পারেন।
যাইহোক, এটি হ'ল জিনিস যা প্রকল্পের জন্য প্রযুক্তিগত বিবরণে থাকা উচিত। " যদি আপনি বিভিন্ন ধরণের বিভিন্ন ধরণের পনির বিভিন্ন পরিমাণ যুক্ত করেন তবে এটি আপনাকে সঠিক তাপমাত্রা এবং সময় দেয় যাতে সেগুলি সমস্ত দ্রবীভূত হয় " ক্লায়েন্টকে কেবল সমাপ্ত পণ্যটি কী করবে সে সম্পর্কে পরিষ্কার প্রত্যাশা দেয় না, পরিবর্তিত হতে পারে স্বয়ংক্রিয় পরীক্ষায়।
অতিরিক্ত তথ্য
ব্যবহারকারী রিচার্ড একটি সম্পাদনায় এই তথ্যটি যুক্ত করেছেন:
মার্টিন ফওলারের সর্বাধিক সাধারণ কৌশলগুলি সম্পর্কে তার ওয়েবসাইটে খুব সুন্দর সংক্ষিপ্তসার রয়েছে: https://martinfowler.com/articles/microservice-testing/
আমি এটি মুছে ফেলতে চাই না, তবে আমি এটি বলতে চাই: এই উত্তরের তুলনায় এটি একটি "সংক্ষিপ্তসার" নয়, বরং দুর্দান্ত গ্রাফিক্স এবং সমস্ত কিছু সহ আরও গভীরতর ব্যাখ্যা explanation
আমার পরামর্শটি হ'ল: আমার উত্তরটি পড়ার পরে যদি সমস্ত কিছু আপনার কাছে বোঝায় তবে আপনি হয়ে গেছেন। যদি বিষয়গুলি এখনও অস্পষ্ট মনে হয় তবে কিছুটা সময় আলাদা করে রেখে লিঙ্কিত নিবন্ধটি পড়ুন।