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