জুনিতের একটি প্রতিবেদন দেখুন। JUnit ইতিমধ্যে প্যাকেজ দ্বারা সংগঠিত। প্রতিটি প্যাকেজটিতে টেস্টসুইট ক্লাস থাকে (বা থাকতে পারে) যার মধ্যে প্রতিটি একাধিক টেস্ট কেস চালায়। প্রতিটি টেস্টকেসে ফর্মের একাধিক পরীক্ষার পদ্ধতি থাকতে পারেpublic void test*()
, যার প্রতিটিই প্রকৃতপক্ষে তারা যার যার সাথে সম্পর্কিত টেস্ট কেস শ্রেণির উদাহরণ হয়ে উঠবে। প্রতিটি পরীক্ষার পদ্ধতিতে (টেস্টকেস উদাহরণ) একটি নাম এবং একটি পাস / ব্যর্থ মানদণ্ড থাকে।
আমার পরিচালনার জন্য যা প্রয়োজন তা হ'ল পৃথক টেস্টস্টেপ আইটেমগুলির ধারণা , যার মধ্যে প্রতিটি তাদের নিজস্ব পাস / ব্যর্থতার মাপদণ্ডের প্রতিবেদন করে। কোনও পরীক্ষার পদক্ষেপের ব্যর্থতা অবশ্যই পরবর্তী পরীক্ষার পদক্ষেপগুলি কার্যকর করতে বাধা দেয় না।
অতীতে, আমার অবস্থানের পরীক্ষার বিকাশকারীরা টেস্টকেস ক্লাসগুলি প্যাকেজগুলিতে সংগঠিত করে যা পরীক্ষার অধীনে পণ্যটির অংশ (গুলি) এর সাথে সামঞ্জস্য করে, প্রতিটি পরীক্ষার জন্য একটি টেস্টকেস ক্লাস তৈরি করে, এবং প্রতিটি পরীক্ষার পদ্ধতিটিকে পরীক্ষায় পৃথক "পদক্ষেপ" করে তোলে, JUnit আউটপুটে নিজস্ব পাস / ব্যর্থ মানদণ্ড সহ সম্পূর্ণ করুন। প্রতিটি টেস্টকেস একটি স্বতন্ত্র "পরীক্ষা", তবে স্বতন্ত্র পদ্ধতিগুলি বা টেস্টক্যাসের মধ্যে "পদক্ষেপ" পরীক্ষা অবশ্যই একটি নির্দিষ্ট ক্রমে ঘটে থাকে।
টেস্টকেস পদ্ধতিগুলি টেস্টকেসের পদক্ষেপ ছিল এবং পরীক্ষা ডিজাইনাররা পরীক্ষার ধাপে পৃথক পাস / ব্যর্থ মাপদণ্ড পায়। এখন পরীক্ষার পদক্ষেপগুলি ঝাঁপিয়ে পড়েছে, এবং পরীক্ষাগুলি (অবশ্যই) ব্যর্থ হয়।
উদাহরণ স্বরূপ:
Class testStateChanges extends TestCase
public void testCreateObjectPlacesTheObjectInStateA()
public void testTransitionToStateBAndValidateStateB()
public void testTransitionToStateCAndValidateStateC()
public void testTryToDeleteObjectinStateCAndValidateObjectStillExists()
public void testTransitionToStateAAndValidateStateA()
public void testDeleteObjectInStateAAndObjectDoesNotExist()
public void cleanupIfAnythingWentWrong()
প্রতিটি পরীক্ষার পদ্ধতি তার নিজস্ব পৃথক পাস / ব্যর্থ মানদণ্ডকে দৃ as় প্রতিবেদন করে এবং রিপোর্ট করে। অর্ডার দেওয়ার জন্য "এটিকে একটি বড় পরীক্ষা পদ্ধতিতে" ভেঙে ফেলা JUnit সারাংশ প্রতিবেদনে প্রতিটি "পদক্ষেপ" এর পাস / ব্যর্থ মানদণ্ডের গ্রানুলারিটি হারায়। ... এবং এটি আমার পরিচালকদের মন খারাপ করে। তারা বর্তমানে অন্য একটি বিকল্প দাবি করছে।
যে কেউ কীভাবে ব্যাখ্যা করতে পারে যে স্ক্র্যাম্বল্ড পরীক্ষার পদ্ধতিতে অর্ডার সহ একজন জুনিয়ট প্রতিটি অনুক্রমিক পরীক্ষার ধাপের পৃথক পাস / ব্যর্থ মানদণ্ডকে সমর্থন করবে, যেমন উপরে আমার উদাহরণ অনুসারে উদাহরণস্বরূপ এবং প্রয়োজনীয়?
ডকুমেন্টেশন নির্বিশেষে, আমি এটিকে JUnit কাঠামোর একটি গুরুতর প্রতিরোধ হিসাবে দেখছি যা প্রচুর পরীক্ষা বিকাশকারীদের জীবনকে কঠিন করে তুলছে।