আহ ... এখানে উত্তরগুলিতে ইউনিট এবং ইন্টিগ্রেশন টেস্টের ভাল পয়েন্ট রয়েছে!
আমি এখানে ব্যয় সম্পর্কিত এবং ব্যবহারিক দৃষ্টিভঙ্গি মিস করি । এটি বলেছে যে আমি খুব বিচ্ছিন্ন / পারমাণবিক ইউনিট পরীক্ষার (সম্ভবত একে অপরের থেকে অত্যন্ত স্বতন্ত্র এবং এগুলিকে সমান্তরাল এবং কোনও নির্ভরতা ছাড়াই, যেমন ডাটাবেস, ফাইল সিস্টেম ইত্যাদিতে চালানোর বিকল্পের সাহায্যে) এবং (উচ্চ স্তরের) ইন্টিগ্রেশন পরীক্ষার সুফল দেখতে পাচ্ছি, তবে ... এটি ব্যয় (সময়, অর্থ, ...) এবং ঝুঁকির বিষয় ।
সুতরাং আরও কিছু কারণ রয়েছে, যা আমার অভিজ্ঞতা থেকে "কীভাবে পরীক্ষা করতে হবে" ভাবার আগে আরও অনেক গুরুত্বপূর্ণ (যেমন "কী পরীক্ষা করতে হবে" ) ...
আমার গ্রাহক অতিরিক্ত পরীক্ষার রক্ষণ এবং রক্ষণাবেক্ষণের জন্য অর্থ প্রদান করেন? আমার পরিবেশে কি আরও পরীক্ষামূলক-চালিত পদ্ধতির (পরীক্ষার আগে কোড লিখুন) সত্যই কার্যকর ব্যয় করা যায় (কোড ব্যর্থতার ঝুঁকি / ব্যয় বিশ্লেষণকারী, মানুষ, ডিজাইনের চশমা, পরীক্ষার পরিবেশ সেটআপ)? কোডটি সর্বদা বগি, তবে পরীক্ষার উত্পাদন ব্যবহারের দিকে নিয়ে যাওয়া (সবচেয়ে খারাপ ক্ষেত্রে!) আরও কার্যকর কার্যকর হতে পারে?
এটি আপনার কোডের মান (মানদণ্ড) বা ফ্রেমওয়ার্ক, আইডিই, ডিজাইনের নীতিগুলি ইত্যাদির উপরও নির্ভর করে যা আপনি এবং আপনার দল অনুসরণ করেন এবং তারা কতটা অভিজ্ঞ। একটি ভাল লিখিত, সহজেই বোধগম্য, যথেষ্ট পরিমাণে ডকুমেন্টেড (আদর্শ স্ব-ডকুমেন্টিং), মডুলার, ... কোড বিপরীতে তুলনায় কম কম বাগের পরিচয় দেয়। সুতরাং প্রকৃত "প্রয়োজন", চাপ বা সামগ্রিক রক্ষণাবেক্ষণ / বাগফিক্স ব্যয় / বিস্তৃত পরীক্ষার জন্য ঝুঁকি বেশি নাও হতে পারে।
আসুন আমরা একে একে চূড়ান্ত দিকে নিয়ে যাই যেখানে আমার দলের একজন সহকর্মী পরামর্শ দিয়েছিলেন, আমাদের ডাটাবেসের মধ্যে এবং ক্লাস করে সমস্ত শ্রেণীর জন্য কাঙ্ক্ষিত 100% কভারেজ সহ আমাদের খাঁটি জাভা ইই মডেল লেয়ার কোডটি পরীক্ষা করার চেষ্টা করতে হবে। অথবা যে ব্যবস্থাপকটি ইন্টিগ্রেশন টেস্টগুলি সমস্ত সম্ভাব্য বাস্তব ব্যবহারের ক্ষেত্রে এবং ওয়েব ইউআই ওয়ার্কফ্লোগুলির 100% দিয়ে আচ্ছাদন করতে চায় তা আমরা ব্যর্থ হওয়ার জন্য কোনও ব্যবহারের ক্ষেত্রে ঝুঁকি নিতে চাই না। তবে আমাদের প্রায় 1 মিলিয়ন ইউরোর একটি বাজেট রয়েছে, সমস্ত কিছু কোড করার জন্য বেশ কিছু শক্ত পরিকল্পনা। গ্রাহকের পরিবেশ, যেখানে সম্ভাব্য অ্যাপ্লিকেশন বাগগুলি মানুষ বা সংস্থাগুলির পক্ষে খুব বড় বিপদ হবে না। আমাদের অ্যাপটি অভ্যন্তরীণভাবে কয়েকটি (গুরুত্বপূর্ণ) ইউনিট পরীক্ষা, ইন্টিগ্রেশন টেস্ট, ডিজাইনযুক্ত পরীক্ষার পরিকল্পনাগুলির কী গ্রাহক পরীক্ষা, একটি পরীক্ষার পর্ব ইত্যাদি দিয়ে পরীক্ষা করা হবে আমরা কিছু পারমাণবিক কারখানা বা ফার্মাসিউটিকাল উত্পাদনের জন্য কোনও অ্যাপ বিকাশ করি না!
আমি নিজে চেষ্টা করে পরীক্ষা লেখার চেষ্টা করি এবং আমার কোড পরীক্ষা করার সময় বিকাশ করি। তবে আমি প্রায়শই এটি টপ-ডাউন পদ্ধতির (ইন্টিগ্রেশন টেস্টিং) থেকে করি এবং ভাল পয়েন্টটি সন্ধান করার চেষ্টা করি, যেখানে গুরুত্বপূর্ণ পরীক্ষাগুলির জন্য "অ্যাপ্লিকেশন স্তর কাটা" করা যায় (প্রায়শই মডেল-স্তরে)। (কারণ এটি "স্তরগুলি" সম্পর্কে প্রায়শই প্রচুর পরিমাণে থাকে)
তদুপরি ইউনিট এবং ইন্টিগ্রেশন পরীক্ষার কোড সময়, অর্থ, রক্ষণাবেক্ষণ, কোডিং ইত্যাদির উপর নেতিবাচক প্রভাব ছাড়াই আসে না এটি দুর্দান্ত এবং প্রয়োগ করা উচিত, তবে যত্ন সহকারে এবং উন্নত পরীক্ষার অনেক দীর্ঘ 5 বছর পরে বা তার সাথে সম্পর্কিত বিষয়গুলি বিবেচনা করে কোড।
সুতরাং আমি বলব এটি সত্যিকারের বিশ্বাস এবং ব্যয় / ঝুঁকি / উপকারের মূল্যায়নের উপর অনেক নির্ভর করে ... বাস্তব জীবনের মতো যেখানে আপনি অনেকগুলি বা 100% সুরক্ষা ব্যবস্থা নিয়ে ঘুরে বেড়াতে চান না এবং চান না।
বাচ্চা কোথাও উপরে উঠতে পারে এবং নীচে পড়ে নিজেই আহত হতে পারে। গাড়ী কাজ বন্ধ করতে পারে কারণ আমি ভুল জ্বালানীতে ভরাট করেছি (অবৈধ ইনপুট :))। টাইম বোতামটি 3 বছর পরে কাজ করা বন্ধ রাখলে টোস্টটি পোড়া হতে পারে। তবে আমি কখনই রাজপথে গাড়ি চালাতে চাই না এবং আমার বিচ্ছিন্ন স্টিয়ারিং হুইলটি আমার হাতে ধরে রাখতে চাই না :)