আমি বৈজ্ঞানিক কম্পিউটিংয়ে পরীক্ষা-চালিত বিকাশের বিশাল সমর্থক। অনুশীলনে এটির ইউটিলিটিটি কেবল বিস্ময়কর এবং কোড বিকাশকারীরা যে ক্লাসিক ঝামেলাগুলি জানেন সেগুলি সত্যিই সরিয়ে দেয়। যাইহোক, বৈজ্ঞানিক কোডগুলি পরীক্ষা করার ক্ষেত্রে অন্তর্নিহিত অসুবিধা রয়েছে যা সাধারণ প্রোগ্রামিংয়ে দেখা হয় না, তাই টিডিডি পাঠ্য টিউটোরিয়াল হিসাবে ভয়ানক কার্যকর নয়। উদাহরণ স্বরূপ:
সাধারণভাবে আপনি কোনও প্রদত্ত জটিল সমস্যার পূর্বের কোনও সঠিক উত্তর জানেন না, তাই আপনি কীভাবে একটি পরীক্ষা লিখতে পারেন?
সমান্তরালতার ডিগ্রি পরিবর্তিত হয়; আমি সম্প্রতি একটি বাগের মুখোমুখি হয়েছি যেখানে এমপিআই কাজগুলি 3 এর একাধিক হিসাবে ব্যবহার করা ব্যর্থ হবে, তবে 2 এর একাধিক কাজ করেছে। অতিরিক্তভাবে, সাধারণ পরীক্ষার কাঠামোগুলি এমপিআইয়ের খুব প্রকৃতির কারণে খুব বেশি এমপিআই-বান্ধব বলে মনে হয় না - আপনাকে কার্যের সংখ্যা পরিবর্তন করতে একটি পরীক্ষা বাইনারি পুনরায় কার্যকর করতে হবে।
বৈজ্ঞানিক কোডগুলিতে প্রায়শই অনেকগুলি দৃly়ভাবে সংযুক্ত, আন্তঃনির্ভরশীল এবং বিনিময়যোগ্য অংশ থাকে। আমরা সকলেই উত্তরাধিকারের কোডটি দেখেছি এবং আমরা জানি যে ভাল ডিজাইনটি ছেড়ে যাওয়া এবং বৈশ্বিক ভেরিয়েবলগুলি ব্যবহার করা কতটা লোভনীয়।
প্রায়শই একটি সংখ্যাসূচক পদ্ধতিটি "পরীক্ষামূলক" হতে পারে, বা কোডার এটি কীভাবে কাজ করে এবং এটি বোঝার চেষ্টা করছে তা পুরোপুরি বুঝতে পারে না, সুতরাং প্রত্যাশিত ফলাফলগুলি অসম্ভব।
আমি বৈজ্ঞানিক কোডের জন্য যে পরীক্ষাগুলি লিখি তার কয়েকটি উদাহরণ:
সময়ের সমন্বয়কারীদের জন্য, একটি সঠিক সমাধান সহ একটি সাধারণ ওডিই ব্যবহার করুন এবং পরীক্ষা করুন যে আপনার ইন্টিগ্রেটর এটি নির্দিষ্ট প্রদত্ত নির্ভুলতার মধ্যে সমাধান করে এবং বিভিন্ন ধাপের মাপের সাথে পরীক্ষা করে সঠিকতার ক্রমটি সঠিক।
শূন্য-স্থিরতা পরীক্ষা: 0 বাউন্ডারি / প্রাথমিক শর্ত সহ একটি পদ্ধতি 0 এ রয়ে গেছে তা পরীক্ষা করুন।
ইন্টারপোলেশন পরীক্ষা: একটি রৈখিক ক্রিয়াকলাপ দেওয়া, আশ্বাস দিন যে একটি দ্বিখণ্ডতা সঠিক।
উত্তরাধিকারের বৈধতা: সঠিক বলে জানা একটি লিগ্যাসি অ্যাপ্লিকেশনটিতে কোডের একটি অংশকে আলাদা করুন এবং পরীক্ষার জন্য কিছু বিচ্ছিন্ন মানগুলি টানুন।
এটি এখনও প্রায়শই আসে যে ম্যানুয়াল ট্রায়াল এবং ত্রুটি বাদ দিয়ে আমি কীভাবে কোডের একটি প্রদত্ত অংশটিকে সঠিকভাবে পরীক্ষা করতে পারি তা বুঝতে পারি না। আপনি সংখ্যার কোডের জন্য লিখেছেন এমন পরীক্ষার কয়েকটি উদাহরণ এবং / বা বৈজ্ঞানিক সফ্টওয়্যার পরীক্ষার জন্য সাধারণ কৌশল সরবরাহ করতে পারেন?