স্বয়ংক্রিয় পরীক্ষার অসুবিধাগুলি কী কী?


49

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

এখানে আমি কয়েকটি নিয়ে এসেছি:

  • প্রদত্ত বৈশিষ্ট্যের জন্য আরও প্রাথমিক বিকাশকারী সময় প্রয়োজন
  • দলের সদস্যদের একটি উচ্চতর দক্ষতার স্তর প্রয়োজন
  • সরঞ্জামের প্রয়োজনীয়তা বৃদ্ধি করুন (পরীক্ষার রানার, ফ্রেমওয়ার্ক ইত্যাদি)
  • জটিল বিশ্লেষণের প্রয়োজন হয় যখন পরীক্ষার ক্ষেত্রে একটি ব্যর্থ পরীক্ষার মুখোমুখি হয় - এই পরিবর্তনটি কি আমার পরিবর্তনের কারণে অপ্রচলিত বা এটি আমাকে বলছে যে আমি কোন ভুল করেছি?

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

এছাড়াও, আমি উপরোক্ত উদাহরণগুলিতে বিতর্ক করার জন্য আমি কারও খোঁজ করছি না । আমি সত্য হিসাবে নিচ্ছি যে অবশ্যই কিছু অসুবিধা থাকতে হবে (সবকিছুর ট্রেড-অফ রয়েছে) এবং আমি সেগুলি বুঝতে চাই।


18
"জটিল বিশ্লেষণের প্রয়োজন ..." পরীক্ষা ব্যর্থতার কারণ নয়, এটি একটি সূচক। কোনও পরীক্ষা না করা বলতে কোনও জটিল ব্যর্থতার বিশ্লেষণের প্রয়োজন নেই বলে আপনার মাথাটি কাদাতে লেগে থাকার চেয়ে ভাল।
পি.ব্রেইন.ম্যাকি

1
* পরীক্ষাগুলি যখন প্রতিটি বিল্ড পরিচালিত হয় তখন আর বিল্ড বার হয়, এবং পরীক্ষাগুলি যখন খুব নিম্ন স্তরের হয় (টেস্টিং গেটার এবং সেটটার) থাকে তখন পুনরাবৃত্তি হয়
রাচেট ফ্রিক

2
1. যদি কোনও বিকাশকারী নতুন বৈশিষ্ট্যগুলি পরীক্ষা করতে সময় ব্যবহার করে তবে তাদের ব্যর্থ হওয়ার ঝুঁকি হ্রাস পেয়েছে যার অর্থ আপনার পণ্যটি আরও স্থিতিশীল। ২. আপনার দলের সদস্যদের পরীক্ষা-কেন্দ্রীকরণ পদ্ধতির জন্য শিক্ষিত করা ভাল জিনিস, তারা এই জ্ঞানটি কাজের (এবং জীবন) অন্যান্য জিনিসের জন্য ব্যবহার করতে পারেন। ৩. পরীক্ষার পরিবেশের জন্য একটি স্বয়ংক্রিয় ইনস্টলেশন তৈরি করুন ৪. এটি আমাকে বলে যে ১ টি পরীক্ষা খুব বেশি করে।
CS01

1
যদি একই বিকাশকারী প্রকৃত কোডের কোডিংয়ের মতো পরীক্ষাগুলি কোডিং করে থাকে তবে তারা কোডিং করার সময় তারা যেগুলি ভেবেছিল সেগুলি পরীক্ষা করার জন্য কেবল একই পরীক্ষার কেসগুলির বিষয়ে চিন্তা করবে।
পল টমলিন

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

উত্তর:


26

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

  • বিকাশের সময়: পরীক্ষা-চালিত বিকাশের সাথে এটি ইতিমধ্যে ইউনিট পরীক্ষাগুলির জন্য গণনা করা হয়, তবে আপনার এখনও ইন্টিগ্রেশন এবং সিস্টেম টেস্টের প্রয়োজন, যার জন্য অটোমেশন কোডেরও প্রয়োজন হতে পারে। কোডটি একবারে লিখিত হয় সাধারণত বেশ কয়েকটি পরবর্তী পর্যায়ে পরীক্ষা করা হয়।

  • দক্ষতা স্তর: অবশ্যই, সরঞ্জামগুলি সমর্থন করতে হবে। তবে এটি কেবল আপনার নিজস্ব দল নয়। বৃহত্তর প্রকল্পে আপনার একটি পৃথক পরীক্ষামূলক দল থাকতে পারে যা আপনার দলের এবং অন্যের মধ্যে থাকা ইন্টারফেসগুলি পরীক্ষা করার জন্য পরীক্ষা লিখবে। তাই আরও অনেক লোকের আরও জ্ঞান থাকতে হবে।

  • সরঞ্জাম সরঞ্জামের প্রয়োজন: আপনি সেখানে উপস্থিত হন। এটিতে যুক্ত করার মতো বেশি কিছু নেই।

  • ব্যর্থ পরীক্ষা: এটি হ'ল আসল বাগার (যাই হোক আমার পক্ষে)। বিভিন্ন কারণ রয়েছে, যার প্রত্যেকটিরই অসুবিধা হিসাবে দেখা যেতে পারে b এবং সবচেয়ে বড় অসুবিধা হ'ল সময়টি ঠিক করার জন্য প্রয়োজনীয় কারণগুলির মধ্যে কোনটি আসলে আপনার ব্যর্থ পরীক্ষার জন্য প্রযোজ্য।

    • আসল বাগের কারণে ব্যর্থ হয়েছে। (কেবল সম্পূর্ণতার জন্য, এটি অবশ্যই সুবিধাজনক)
    • ব্যর্থ হয়েছে, কারণ আপনার পরীক্ষার কোডটি একটি চিরাচরিত বাগ দিয়ে লেখা হয়েছে।
    • ব্যর্থ হয়েছে, কারণ আপনার পরীক্ষার কোডটি আপনার পণ্যের পুরানো সংস্করণের জন্য লেখা হয়েছে এবং এটি আর উপযুক্ত নয়
    • ব্যর্থ হয়েছে, কারণ প্রয়োজনীয়তাগুলি পরিবর্তিত হয়েছে এবং পরীক্ষিত আচরণকে এখন 'সঠিক' বলে মনে করা হচ্ছে
  • অ-ব্যর্থ পরীক্ষা: এগুলিও একটি অসুবিধা এবং এটি বেশ খারাপও হতে পারে। এটি বেশিরভাগ ক্ষেত্রে ঘটে থাকে, যখন আপনি জিনিসগুলি পরিবর্তন করেন এবং অ্যাডামের উত্তরটির কাছাকাছি চলে আসে। যদি আপনি আপনার পণ্যের কোডটিতে কিছু পরিবর্তন করেন তবে পরীক্ষার জন্য এটি মোটেই দায়বদ্ধ নয়, তবে এটি আপনাকে এই "সুরক্ষার ভ্রান্ত ধারণা" দেয়।

    অ-ব্যর্থ পরীক্ষার একটি গুরুত্বপূর্ণ বিষয় হ'ল প্রয়োজনীয়তার পরিবর্তনটি পূর্ববর্তী আচরণকে অবৈধ হতে পারে। আপনার যদি শালীন ট্রেসেবিলিটি থাকে তবে প্রয়োজনীয় পরিবর্তনটি আপনার টেস্টকোডের সাথে মেলাতে সক্ষম হওয়া উচিত এবং আপনি জানেন যে আপনি আর সেই পরীক্ষায় বিশ্বাস করতে পারবেন না। অবশ্যই, এই সন্ধানের অক্ষমতা বজায় রাখা আরও একটি অসুবিধা। এবং যদি আপনি এটি না করেন তবে আপনি এমন একটি পরীক্ষা শেষ করেছেন যা ব্যর্থ হয় না, তবে আসলে আপনার পণ্যটি ভুলভাবে কাজ করে তা যাচাই করে । কোথাও রাস্তার নিচে এটি আপনাকে আঘাত করবে .. সাধারণত কখন / কোথায় আপনি এটি আশা করেন expect

  • অতিরিক্ত স্থাপনার ব্যয়: আপনি কেবল নিজের মেশিনে বিকাশকারী হিসাবে ইউনিট-টেস্টগুলি চালান না। স্বয়ংক্রিয় পরীক্ষাগুলির সাহায্যে, কেউ আপনার কাজটি কখন ভেঙে দিয়েছে তা জানতে কোনও কেন্দ্রীয় স্থানে অন্যের কাছ থেকে যাতায়াতের সময় সেগুলি কার্যকর করতে চান। এটি দুর্দান্ত, তবে এটি সেট আপ এবং রক্ষণাবেক্ষণ করা দরকার।


1
ব্যর্থ পরীক্ষায়, যদি প্রয়োজনীয় পরীক্ষাগুলি বর্তমান পরীক্ষাগুলি ব্যর্থ হওয়ার কারণ পরিবর্তন করে, পরীক্ষাটি পাশ হয় কারণ পূর্ববর্তী বাস্তবায়ন আর বৈধ নয়, যদি এটি ব্যর্থ না হয় তবে এর অর্থ বাস্তবায়ন প্রয়োজনীয়তার সাথে খাপ খায় না ...
CS01

কেস 4 (খ) পরীক্ষা-চালিত উন্নয়ন সম্পর্কে যা তা: আপনি একটি ব্যর্থ পরীক্ষা লিখেন, তারপরে আপনি পণ্যটি প্রসারিত করেন, তারপরে আপনি যাচাই করেন যে এই পরিবর্তনটি পরীক্ষাকে সফল করে তোলে। এটি আপনাকে ফল্টলিখিত লিখিত পরীক্ষার বিরুদ্ধে সুরক্ষিত করে যা সর্বদা সফল হয়, বা সর্বদা ব্যর্থ হয়।
কিলিয়ান ফুট

উত্তর প্রকাশের জন্য ধন্যবাদ। সেখানে অনেক অন্তর্দৃষ্টি আছে। আমি বিশেষত ব্যর্থ পরীক্ষার বিভিন্ন কারণগুলির পার্থক্যের প্রশংসা করি। অতিরিক্ত স্থাপনার ব্যয় অন্য একটি দুর্দান্ত পয়েন্ট।
যৌক্তিকগীত

মজার বিষয় আমি খুঁজে পেয়েছি হ'ল এলওসি অনুপাতের প্রতি আমার বাগ পরীক্ষার জন্য এটি সত্যিকারের কোডের চেয়ে অনেক খারাপ। আমি বাস্তবের চেয়ে পরীক্ষার বাগগুলি খুঁজে পেতে এবং ফিক্সিংয়ে বেশি সময় ব্যয় করি। :-)
ব্রায়ান নোব্লাচ

ব্যর্থ হয়েছে, কারণ আপনার পরীক্ষার কোডটি আপনার পণ্যের পুরানো সংস্করণের জন্য লেখা হয়েছে এবং এটি আর উপযুক্ত নয় - যদি আপনার পরীক্ষাগুলি এর কারণে ভঙ্গ হয় তবে সম্ভবত আপনার পরীক্ষাগুলি আচরণের চেয়ে ইমপ্লান্টেশন বিশদ পরীক্ষা করে চলেছে। ক্যালকুলেট হাইগস্টনম্বার ভি 1 এর এখনও ক্যালকুলেট হাইগাস্টন
म्बर

29

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


2
যে কেউ একজন খুব বড় লিগ্যাসি কোড বেসের 80% কাজ করে, আমি এর সাথে আরও একমত হতে পারি না। তবে এটিকে প্রশমিত করতে, আমি এর কয়েকটি [লিঙ্ক] অ্যামাজন / ওয়ার্কিং- কার্যকরীভাবে- শ্রেনী- মিশেল- ফিথার্স / ডিপি / in এ ব্যবহার করেছি look
দেবসোলো

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

21

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


গুড পয়েন্ট রস এটি লাগানোর একটি আকর্ষণীয় উপায়।
যৌক্তিকগীত

সম্মত, যদিও আমার অভিজ্ঞতায় যাইহোক, ইউনিট পরীক্ষাগুলির কারণে তাত্ক্ষণিকভাবে নতুন লিখিত কোডে সম্ভাব্য বাগগুলি খুঁজে পাওয়ার (যেমন রিগ্রেশন টেস্টগুলি) সঞ্চিত সময়টি এই অতিরিক্ত রক্ষণাবেক্ষণের সময়কে ছাড়িয়ে গেছে।
dodgy_coder

15

আমি বলব না যে এগুলি সম্পূর্ণরূপে প্রযোজ্য অসুবিধাগুলি, তবে আমি যে কয়েকটিকে সবচেয়ে বেশি আঘাত করেছি তা হ'ল:

  • একটি জটিল এন্টারপ্রাইজ অ্যাপ্লিকেশনটিতে পরীক্ষা সেট আপ করার সময়।
  • পুরানো পরীক্ষাগুলি পরিচালনা করা যা ভুলভাবে ব্যর্থ হয়, অন্য কথায়, সিস্টেমটি বিকশিত হয়েছে এবং এখন পরীক্ষাগুলি ভুল।
  • প্যাচী বা অজানা পরীক্ষা কভারেজ থেকে ভ্রান্ত আত্মবিশ্বাস।

পরীক্ষামূলক কভারেজ যা প্যাচযুক্ত তা নিরাপত্তার একটি মিথ্যা অনুভূতি তৈরি করতে পারে। আপনি যদি কোনও চুল্লি করেন এবং পরীক্ষার জন্য এটির বৈধতা প্রমাণ করেন তবে আপনার পরীক্ষাগুলি কী প্রমাণ করেছে যে এটি প্রমাণ করতে সক্ষম?

পরীক্ষা তৈরি করতে যে সময় লাগে তা আমাদের মাঝে মাঝে সমস্যা হয়ে দাঁড়ায়। আমাদের স্বয়ংক্রিয় পরীক্ষায় কেবল ইউনিট পরীক্ষা অন্তর্ভুক্ত থাকে না, তবে কেস টেস্টগুলিও ব্যবহার করা হয়। এগুলি বিস্তৃত হতে পারে এবং প্রসঙ্গে প্রয়োজন।

অবশ্যই, আমার দৃষ্টিকোণটি এমন কোনও অ্যাপ্লিকেশন থেকে যা এর ইউনিট পরীক্ষার চেয়ে পুরানো।


ওপি ইতিমধ্যে প্রশ্নে সময় এবং অপ্রচলিত কোড coveredেকেছে।
পি.ব্রেইন.ম্যাকি

@ পি.ব্রায়ান.ম্যাকি আসলে সময় উপাদানটি বিষয়গত। পরীক্ষার কোড দেওয়ার সময় পরীক্ষার কী প্রয়োজন তা বোঝার জন্য সময় থেকে আলাদা হয় এবং পরীক্ষাকে সঠিকভাবে কোড করে।
অ্যাডাম হল্ডসওয়ার্থ

@ অ্যাডামহোল্ডসওয়ার্থ আপনাকে ধন্যবাদ যেগুলি অসুবিধার কয়েকটি ভাল উদাহরণ। আমি আসলেই ভ্রান্ত আত্মবিশ্বাসের কোণটি বিবেচনা করি নি।
যৌক্তিকগীত

9

আমি বলব তাদের সাথে মুখ্য সমস্যা হ'ল তারা সুরক্ষার একটি মিথ্যা ধারণা প্রদান করতে পারে । আপনার ইউনিট পরীক্ষা করার কারণে এটির অর্থ এই নয় যে তারা আসলে কিছু করছে এবং এর মধ্যে প্রয়োজনীয়তাগুলি সঠিকভাবে পরীক্ষা করাও অন্তর্ভুক্ত।

এছাড়াও স্বয়ংক্রিয় পরীক্ষাগুলিতে বাগগুলিও নিজের মধ্যে অন্তর্ভুক্ত করা যেতে পারে , যাতে ইউনিট পরীক্ষাগুলি তাদের প্রয়োজনীয় পরীক্ষা-নিরীক্ষার প্রয়োজন হয় কিনা তা নিয়েই প্রশ্ন আসে ।


পরীক্ষা চালিত বিকাশ বৈশিষ্ট্য কোডটি লেখার আগে একটি ব্যর্থ পরীক্ষার প্রয়োজনের মাধ্যমে প্রথমটিকে সহায়তা করে। এখন আপনি জানেন যে বৈশিষ্ট্যটি ভঙ্গ হলে, পরীক্ষাটি ভেঙে যাবে। দ্বিতীয়টির জন্য, জটিল পরীক্ষার কোডটি একটি কোড গন্ধ। আবার পরীক্ষাটি লিখে প্রথমে আপনি এটিকে সহজ করে তোলার চেষ্টা করতে পারবেন এবং কঠিন কাজটিকে বৈশিষ্ট্য কোডে রেখে দিতে পারেন যা পরীক্ষাটি সংশোধন করে।
ডেভিড হার্কনেস

কোড পরীক্ষা করা কঠিন হওয়া কোনও কোডের গন্ধ নয়। পরীক্ষার সবচেয়ে সহজ কোডটি ক্লাস হিসাবে মাস্ক্রেডিং ফাংশন কলগুলির একটি দৈত্য চেইন।
এরিক রেপেন

4

অটোমেশন পরীক্ষার অনেক সুবিধা থাকলেও এর নিজস্ব অসুবিধাও রয়েছে। কিছু অসুবিধা হ'ল:

  • অটোমেশন পরীক্ষার স্ক্রিপ্টগুলি লেখার জন্য দক্ষতার প্রয়োজন।
  • পরীক্ষার স্ক্রিপ্ট ডিবাগ করা বড় সমস্যা। পরীক্ষার স্ক্রিপ্টে যদি কোনও ত্রুটি উপস্থিত থাকে তবে কখনও কখনও এটি মারাত্মক পরিণতি ঘটাতে পারে।
  • প্লেব্যাক পদ্ধতিগুলির ক্ষেত্রে টেস্ট রক্ষণাবেক্ষণ ব্যয়বহুল। জিইউআই-তে সামান্য পরিবর্তন দেখা গেলেও, পরীক্ষা স্ক্রিপ্টটি নতুন পরীক্ষার স্ক্রিপ্ট দ্বারা পুনর্নির্মাণ বা প্রতিস্থাপন করতে হবে।
  • যদি পরীক্ষা স্ক্রিপ্ট আরও স্ক্রিন পরীক্ষা করে তবে টেস্ট ডেটা ফাইলগুলি রক্ষণাবেক্ষণ করা শক্ত।

উপরোক্ত কিছু অসুবিধাগুলি স্বয়ংক্রিয়ভাবে স্ক্রিপ্টগুলি থেকে প্রাপ্ত সুবিধা থেকে প্রায়শই বিয়োগ করে। যদিও অটোমেশন টেস্টিংয়ের উপকারিতা এবং কর্ন রয়েছে, এটি বিশ্বজুড়ে ব্যাপকভাবে অভিযোজিত।


ধন্যবাদ। ভাল দিক. আমি ব্যাকরণ এবং বিন্যাসের জন্য আপনার পোস্ট সম্পাদনা করেছি। আশা করি কিছু মনে করবেন না।
যৌক্তিকগীত

3

আমি সম্প্রতি গেম ডেভেলপমেন্টের পরীক্ষাগুলি সম্পর্কে একটি প্রশ্ন জিজ্ঞাসা করেছি - এটি বিটিডব্লিউ এটি আমি কীভাবে এটি সম্পর্কে জানতাম। উত্তরগুলি কিছু কৌতূহলী, নির্দিষ্ট অসুবিধাগুলি নির্দেশ করেছে:

  1. যখন আপনার কোডটি সর্বোচ্চ সংযুক্ত করা উচিত তখন এটি ব্যয়বহুল
  2. যখন আপনাকে বিভিন্ন হার্ডওয়্যার প্ল্যাটফর্মগুলি সম্পর্কে সচেতন হতে হবে তখন এটি করা কঠিন যখন আপনার ব্যবহারকারীর কাছে আউটপুট বিশ্লেষণ করা উচিত এবং কোডের ফলাফলটি কেবল একটি বিস্তৃত প্রসঙ্গে বিবেচনা করে
  3. ইউআই এবং ইউএক্স টেস্টিং খুব শক্ত
  4. এবং উল্লেখযোগ্যভাবে, স্বয়ংক্রিয় পরীক্ষাগুলি খুব স্বল্প ব্যয়ের (বা বিনামূল্যে) বিটা পরীক্ষকদের একগুচ্ছের চেয়ে বেশি ব্যয়বহুল এবং কম কার্যকর হতে পারে

চতুর্থ বিষয়টি আমার কিছু অভিজ্ঞতার কথা মনে করিয়ে দেয়। আমি একটি অত্যন্ত পাতলা, এক্সপি-ভিত্তিক, স্ক্রাম পরিচালিত সংস্থায় কাজ করেছি যেখানে ইউনিট পরীক্ষার অত্যন্ত সুপারিশ করা হয়েছিল। যাইহোক, একটি ঝুঁকিপূর্ণ, কম আমলাতান্ত্রিক শৈলীর দিকে যাওয়ার পথে, সংস্থাটি কেবল একটি QA টিম নির্মাণে অবহেলা করেছিল - আমাদের কোনও পরীক্ষার্থী ছিল না। সুতরাং ঘন ঘন গ্রাহকরা>> 95% পরীক্ষার কভারেজ সহ কিছু সিস্টেম ব্যবহার করে তুচ্ছ বাগগুলি খুঁজে পান। সুতরাং আমি অন্য একটি বিষয় যুক্ত করব:

  • অটোমেটেড পরীক্ষার পারে আপনি মনে করেন যে QA তে এবং পরীক্ষার গুরুত্বপূর্ণ নয় তা নিশ্চিত করুন।

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

সবশেষে, আমি কখনও কখনও খুঁজে পাই এমন একটি সমস্যা: স্বয়ংক্রিয় পরীক্ষার সরঞ্জামগুলির উপর নির্ভর করতে পারে এবং সেগুলি সরঞ্জামগুলি খারাপ লেখা হতে পারে। আমি কিছু সময় আগে এক্সএলএল ব্যবহার করে একটি প্রকল্প শুরু করেছি এবং মানুষ, এই জাতীয় প্ল্যাটফর্মের জন্য ইউনিট পরীক্ষা লিখতে এটি কেবল বেদনাদায়ক। আমি ওজেক্টিভ-সি, কোকো এবং এক্সকোড 3 ব্যবহার করে আরেকটি অ্যাপ্লিকেশন শুরু করেছি এবং এটির পরীক্ষার মডেলটি মূলত একগুচ্ছ ওয়ার্কআরউন্ডস।

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


3

দুটি উল্লেখ করা হয় নি:

  • বৃহত পরীক্ষার স্যুট চালাতে সময় লাগতে পারে

আমি স্বয়ংক্রিয় QA প্রচেষ্টার অংশ হয়েছি যেখানে পরীক্ষাগুলি চালাতে আধা দিন সময় লেগেছিল, কারণ পরীক্ষাগুলি ধীর ছিল। আপনি যদি নিজের পরীক্ষাগুলি লেখার বিষয়ে সতর্ক না হন তবে আপনার পরীক্ষার স্যুটটিও এইভাবে চালু হতে পারে। আপনার এখনকার সময়টি পরিচালনা না করা এটি কোনও বড় চুক্তির মতো শোনায় না, "ওহ, আমি কেবল একটি সংশোধন করেছি, তবে সঠিকতা প্রমাণ করতে 4 ঘন্টা সময় লাগবে"।

  • কিছু পরীক্ষার লেখার পদ্ধতির দুর্বলতা

কিছু পরীক্ষার পদ্ধতি (যেমন ইউআই স্বয়ংক্রিয়করণ) প্রতিবার যখন আপনি ঘুরেছেন তখন মনে হচ্ছে এটি ভঙ্গ হবে। বিশেষত বেদনাদায়ক যদি আপনার স্ক্রিপ্টটি পরীক্ষার প্রক্রিয়াটি স্তব্ধ করে দেয় কারণ এটি কোনও বোতামটি প্রদর্শিত হওয়ার জন্য অপেক্ষা করছে - তবে বোতামটির নাম পরিবর্তন করা হয়েছে।

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


2

আমি আরও একটি যোগ করতে চাই, সুরতির একটি ভ্রান্ত ধারণা।

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


0

ব্যবস্থাপনা / উদ্যোগের পুঁজিবাদীকে বোঝানো শক্ত

  • টেস্টআউটশনের অগ্রিম ব্যয় বৃদ্ধি পায়।
  • টেস্টঅটোমেশন বাজারে সময় বাড়ায়।
  • টেস্টআউটমেশনের সুবিধাটি মধ্য এবং লগটারমে আসে। তীব্র প্রতিযোগিতা স্বল্পমেয়াদী বেনিফিটগুলিতে আরও ফোকাস করে।

দেখতে মার্কেট ইউনিট টেস্টিং চালিত বিস্তারিত জানার জন্য।


-1

স্ব-শিক্ষার পরীক্ষাগুলি ব্যবহার করে অন্যতম প্রধান অসুবিধা অতিক্রম করা যায়। এই পরিস্থিতিতে প্রত্যাশিত ফলাফলগুলি সমস্ত ডেটা হিসাবে সংরক্ষণ করা হয় এবং স্ব-লার্নিং মোডে পরীক্ষা স্যুইট ব্যবহারকারী দ্বারা সর্বনিম্ন পর্যালোচনা সহ আপডেটযোগ্য (পুরানো প্রত্যাশিত ফলাফল এবং নতুন প্রকৃত ফলাফলের মধ্যে পার্থক্য দেখান - আপডেট টি যদি y চাপায়)। এই টেস্টুয়েট লার্নিং মোডটি সাবধানতার সাথে ব্যবহার করা দরকার যাতে বগি আচরণটি গ্রহণযোগ্য হিসাবে শেখা যায় না।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.