একটি অভিজ্ঞতামূলক গবেষণা এবং পুনরাবৃত্তি প্রকাশ করে যে ডেভেলপাররা প্রায়ই টেস্টিং এবং কোড রিভিউ কৌশলগুলির কার্যকারিতা সম্পর্কে ভুল ধারণা পোষণ করে। এই ভুল বিচারগুলি—প্রায়শইএকটি অভিজ্ঞতামূলক গবেষণা এবং পুনরাবৃত্তি প্রকাশ করে যে ডেভেলপাররা প্রায়ই টেস্টিং এবং কোড রিভিউ কৌশলগুলির কার্যকারিতা সম্পর্কে ভুল ধারণা পোষণ করে। এই ভুল বিচারগুলি—প্রায়শই

কেন ডেভেলপাররা ভুল টেস্টিং টেকনিক বেছে নেয়

2025/12/15 05:09

:::info লেখকগণ:

  1. সিরা ভেগাস
  2. প্যাট্রিসিয়া রিওফ্রিও
  3. এসপেরানজা মার্কোস
  4. নাতালিয়া জুরিস্তো

:::

সারসংক্ষেপ

১ ভূমিকা

২ মূল গবেষণা: গবেষণা প্রশ্ন এবং পদ্ধতি

৩ মূল গবেষণা: বৈধতার হুমকি

৪ মূল গবেষণা: ফলাফল

৫ পুনরাবৃত্ত গবেষণা: গবেষণা প্রশ্ন এবং পদ্ধতি

৬ পুনরাবৃত্ত গবেষণা: বৈধতার হুমকি

৭ পুনরাবৃত্ত গবেষণা: ফলাফল

৮ আলোচনা

৯ সম্পর্কিত কাজ

১০ উপসংহার এবং তথ্যসূত্র

সারসংক্ষেপ

সফটওয়্যার উন্নয়নে একটি পুনরাবৃত্ত সমস্যা হল ব্যবহার করার জন্য কৌশল, পদ্ধতি এবং টুল সম্পর্কে ভুল সিদ্ধান্ত নেওয়া। বেশিরভাগ ক্ষেত্রে, এই সিদ্ধান্তগুলি ডেভেলপারদের সেগুলি সম্পর্কে ধারণার উপর ভিত্তি করে নেওয়া হয়। মানুষের ধারণাকে প্রভাবিত করে এমন একটি কারণ হল অতীত অভিজ্ঞতা, তবে এটি একমাত্র কারণ নয়। এই গবেষণায়, আমরা আবিষ্কার করতে চাই যে পূর্ব অভিজ্ঞতা না থাকার ক্ষেত্রে বিভিন্ন কৌশলের ত্রুটি সনাক্তকরণ কার্যকারিতা সম্পর্কে ধারণাগুলি তাদের প্রকৃত কার্যকারিতার সাথে কতটা মিলে যায়।

\ এটি করার জন্য, আমরা একটি অনুভূতিমূলক গবেষণা এবং একটি পুনরাবৃত্তি পরিচালনা করি। মূল গবেষণার সময়, আমরা ছাত্রদের সাথে দুটি পরীক্ষা কৌশল এবং একটি কোড পর্যালোচনা কৌশল প্রয়োগ করে একটি নিয়ন্ত্রিত পরীক্ষা পরিচালনা করি। পরীক্ষার শেষে, তারা একটি জরিপ নেয় যা জানতে চায় কোন কৌশলটি তারা সবচেয়ে কার্যকর বলে মনে করে। ফলাফলগুলি দেখায় যে অংশগ্রহণকারীদের ধারণা ভুল এবং এই অমিলটি গুণমানের দিক থেকে ব্যয়বহুল।

\ ফলাফলগুলি সম্পর্কে আরও অন্তর্দৃষ্টি পাওয়ার জন্য, আমরা নিয়ন্ত্রিত পরীক্ষাটি পুনরাবৃত্তি করি এবং জরিপটি সম্প্রসারিত করি যাতে অংশগ্রহণকারীদের কৌশল এবং প্রোগ্রাম সম্পর্কে মতামত সম্পর্কে প্রশ্ন অন্তর্ভুক্ত করা যায়। পুনরাবৃত্ত গবেষণার ফলাফলগুলি মূল গবেষণার ফলাফলগুলি নিশ্চিত করে এবং পরামর্শ দেয় যে অংশগ্রহণকারীদের ধারণাগুলি জটিলতা সম্পর্কে তাদের মতামত বা কৌশলের জন্য পছন্দের উপর নয় বরং তারা কতটা ভালভাবে কৌশলগুলি প্রয়োগ করেছে বলে মনে করে তার উপর ভিত্তি করে হতে পারে।

১. ভূমিকা

বর্তমানে একটি ক্রমবর্ধমান জনপ্রিয় অনুশীলন হল সফটওয়্যার উন্নয়ন সংস্থাগুলি ডেভেলপারদের তাদের নিজস্ব প্রযুক্তিগত পরিবেশ বেছে নিতে দেওয়া। এর অর্থ হল বিভিন্ন ডেভেলপার বিভিন্ন উৎপাদনশীলতা টুল (প্রোগ্রামিং ভাষা, IDE, ইত্যাদি) ব্যবহার করতে পারে। যাইহোক, সফটওয়্যার ইঞ্জিনিয়ারিং (SE) একটি মানব-নির্ভর শৃঙ্খলা যেখানে ভুল সিদ্ধান্তগুলি সম্ভাব্যভাবে ফলস্বরূপ সফটওয়্যারের গুণমান বিপন্ন করতে পারে। SE-তে, সফটওয়্যার উন্নয়নে কোন পদ্ধতি, কৌশল এবং টুল ব্যবহার করা হবে সে সম্পর্কে সিদ্ধান্তগুলি সাধারণত প্রমাণের পরিবর্তে ডেভেলপারদের ধারণা এবং/অথবা মতামতের উপর ভিত্তি করে নেওয়া হয়, যেমন Dyb˚a et al. [19] এবং Zelkowitz et al. [55] দ্বারা পরামর্শ দেওয়া হয়েছে।

\ যাইহোক, অনুভূতিমূলক প্রমাণ উপলব্ধ নাও হতে পারে, কারণ নির্দিষ্ট পদ্ধতি, কৌশল বা টুলগুলি একটি নির্দিষ্ট সেটিংয়ের মধ্যে বা এমনকি একেবারেই অধ্যয়ন করা নাও হতে পারে। বিকল্পভাবে, ডেভেলপাররা সহজেই এই ধরনের গবেষণার সাথে পরিচিত নাও হতে পারে, Vegas & Basili [49] অনুসারে। এই ভিত্তিতে, এটি আবিষ্কার করা গুরুত্বপূর্ণ যে ডেভেলপারদের ধারণা (বিশ্বাস) বাস্তবতার সাথে কতটা মিলে যায় এবং, যদি তারা না করে, তাহলে এই অমিলের পিছনে কী আছে তা খুঁজে বের করা, যেমন Devanbu et al.[14] দ্বারা উল্লেখ করা হয়েছে। মনোবিজ্ঞান অনুসারে, অভিজ্ঞতা মানুষের ধারণায় একটি ভূমিকা পালন করে। এটি Devanbu et al. [14] দ্বারা SE-তেও পর্যবেক্ষণ করা হয়েছে।

\ যাইহোক, এই গবেষণা ব্যবহৃত প্রযুক্তিতে পূর্বের অভিজ্ঞতা না থাকার ক্ষেত্রে ধারণাগুলি বাস্তবতার সাথে কতটা মিলে যায় তা আবিষ্কার করতে চায়। এটি বেশ কয়েকটি কারণে অর্থপূর্ণ: 1) অভিজ্ঞতা ডেভেলপারদের ধারণাকে প্রভাবিত করে এমন একমাত্র কারণ নয়; 2) উন্নয়ন দলগুলি সাধারণত অভিজ্ঞতা সহ এবং ছাড়া মানুষের মিশ্রণ দিয়ে গঠিত; এবং 3) কোন ধরনের অভিজ্ঞতা ধারণাকে প্রভাবিত করে তা স্পষ্ট নয়। উদাহরণস্বরূপ, Dieste et al. [17] সিদ্ধান্ত নেয় যে পেশাদার অভিজ্ঞতার পরিবর্তে একাডেমিক অভিজ্ঞতা টেস্ট-ড্রিভেন ডেভেলপমেন্ট প্রয়োগ করার সময় ডেভেলপারদের দ্বারা তৈরি কোডের বাহ্যিক গুণমানকে প্রভাবিত করতে পারে।

\ আমরা অধ্যয়ন করতে চাই যে তিনটি ত্রুটি সনাক্তকরণ কৌশলের কার্যকারিতা সম্পর্কে ধারণাগুলি বাস্তবতার সাথে মিলে কিনা, এবং যদি না হয়, তাহলে এই ধারণাগুলির পিছনে কী আছে। আমাদের জ্ঞান অনুযায়ী, এটি এই বিষয়টি অনুভূতিমূলকভাবে মূল্যায়ন করার প্রথম পেপার। এই উদ্দেশ্যে, আমরা ছাত্রদের সাথে একটি অনুভূতিমূলক গবেষণা এবং একটি পুনরাবৃত্তি পরিচালনা করেছি। মূল গবেষণার সময় আমরা (একটি নিয়ন্ত্রিত পরীক্ষার অংশ হিসাবে) অংশগ্রহণকারীদের দ্বারা প্রয়োগ করা দুটি পরীক্ষা কৌশল এবং একটি কোড পর্যালোচনা কৌশলের কার্যকারিতা পরিমাপ করেছি। তারপর আমরা অনুভূত সবচেয়ে কার্যকর কৌশল (একটি জরিপের মাধ্যমে সংগৃহীত) প্রকৃত কৌশলের বিপরীতে যাচাই করেছি।

\ অতিরিক্তভাবে, আমরা কার্যকারিতার ক্ষতির দিক থেকে ধারণা এবং বাস্তবতার মধ্যে অমিলের খরচ বিশ্লেষণ করেছি। প্রধান আবিষ্কারগুলির মধ্যে রয়েছে:

– বিভিন্ন লোক বিভিন্ন কৌশলকে আরও কার্যকর বলে মনে করে। কোন একটি কৌশলকে অন্যদের তুলনায় বেশি কার্যকর বলে মনে করা হয় না। – 50% অংশগ্রহণকারীর (23 জনের মধ্যে 11 জন) ধারণা ভুল।

– কৌশলের ভুল ধারণা গড়ে 31pp (শতাংশ পয়েন্ট) কার্যকারিতা কমাতে পারে।

\ এই আবিষ্কারগুলি আমাদের অংশগ্রহণকারীদের ধারণার পিছনে কী থাকতে পারে তা অনুসন্ধান করার জন্য একটি পুনরাবৃত্তিতে গবেষণার লক্ষ্য প্রসারিত করতে পরিচালিত করেছে। এটি করার জন্য, আমরা নিয়ন্ত্রিত পরীক্ষার একটি পুনরাবৃত্তিতে তারা প্রয়োগ করেছে এমন কৌশল এবং তারা পরীক্ষা করেছে এমন প্রোগ্রাম সম্পর্কে তাদের মতামত পরীক্ষা করেছি। প্রধান আবিষ্কারগুলির মধ্যে রয়েছে:

– পুনরাবৃত্তির ফলাফলগুলি মূল গবেষণার আবিষ্কারগুলি নিশ্চিত করে।

– অংশগ্রহণকারীরা মনে করে যে কৌশলের কার্যকারিতা একান্তভাবে তাদের কর্মক্ষমতার উপর নির্ভর করে এবং কৌশলের সম্ভাব্য দুর্বলতার উপর নয়। – কৌশলের জটিলতা সম্পর্কে মতামত এবং কৌশলের জন্য পছন্দগুলি অনুভূত কার্যকারিতায় কোন ভূমিকা পালন করে বলে মনে হয় না। এই ফলাফলগুলি ডেভেলপার এবং গবেষকদের জন্য উপযোগী। তারা পরামর্শ দেয়:

– ডেভেলপারদের তাদের বিচারের সীমাবদ্ধতা সম্পর্কে সচেতন হওয়া উচিত।

– এমন টুল ডিজাইন করা উচিত যা ডেভেলপারদের কৌশলগুলি কতটা কার্যকর তা সম্পর্কে প্রতিক্রিয়া প্রদান করে।

– প্রয়োগ করার জন্য কৌশলের সেরা সংমিশ্রণ নির্ধারণ করা উচিত যা একই সাথে সহজে প্রয়োগযোগ্য এবং কার্যকর। – ডেভেলপারদের কাছে অনুভূতিমূলক ফলাফল উপলব্ধ করার জন্য যন্ত্র বিকাশ করা উচিত।

\ এখানে উপস্থাপিত গবেষণার সাথে সম্পর্কিত উপকরণ https://github.com/GRISE-UPM/Misperceptions এ পাওয়া যাবে। নিবন্ধটি নিম্নলিখিতভাবে সংগঠিত। সেকশন 2 মূল গবেষণা বর্ণনা করে। সেকশন 3 এর বৈধতার হুমকি উপস্থাপন করে। সেকশন 4 ফলাফল নিয়ে আলোচনা করে। সেকশন 5 মূল গবেষণায় করা পরিবর্তনের উপর ভিত্তি করে পুনরাবৃত্ত গবেষণা বর্ণনা করে। সেকশন 6 এর বৈধতার হুমকি উপস্থাপন করে। সেকশন 7 এই পুনরাবৃত্ত গবেষণার ফলাফল রিপোর্ট করে। সেকশন 8 আমাদের আবিষ্কার এবং তাদের প্রভাব নিয়ে আলোচনা করে। সেকশন 9 সম্পর্কিত কাজ দেখায়। অবশেষে, সেকশন 10 এই কাজের উপসংহার তুলে ধরে।

\ \

:::info এই পেপারটি CC BY-NC-ND 4.0 লাইসেন্সের অধীনে arxiv-এ উপলব্ধ

:::

\

ডিসক্লেইমার: এই সাইটে পুনঃপ্রকাশিত নিবন্ধগুলো সর্বসাধারণের জন্য উন্মুক্ত প্ল্যাটফর্ম থেকে সংগ্রহ করা হয়েছে এবং শুধুমাত্র তথ্যের উদ্দেশ্যে প্রদান করা হয়েছে। এগুলো আবশ্যিকভাবে MEXC-এর মতামতকে প্রতিফলিত করে না। সমস্ত অধিকার মূল লেখকদের কাছে সংরক্ষিত রয়েছে। আপনি যদি মনে করেন কোনো কনটেন্ট তৃতীয় পক্ষের অধিকার লঙ্ঘন করেছে, তাহলে অনুগ্রহ করে অপসারণের জন্য service@support.mexc.com এ যোগাযোগ করুন। MEXC কনটেন্টের সঠিকতা, সম্পূর্ণতা বা সময়োপযোগিতা সম্পর্কে কোনো গ্যারান্টি দেয় না এবং প্রদত্ত তথ্যের ভিত্তিতে নেওয়া কোনো পদক্ষেপের জন্য দায়ী নয়। এই কনটেন্ট কোনো আর্থিক, আইনগত বা অন্যান্য পেশাদার পরামর্শ নয় এবং এটি MEXC-এর সুপারিশ বা সমর্থন হিসেবে গণ্য করা উচিত নয়।

আপনি আরও পছন্দ করতে পারেন