অ-মিশন সমালোচনামূলক স্টাফগুলির জন্য কি শেষ থেকে শেষ এবং ইন্টিগ্রেশন টেস্টগুলি মূল্যবান?


9

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

উদাহরণস্বরূপ যদি কোনও ওয়েব স্টোর কোনও অর্ডার হারিয়ে ফেলে তবে তারা পরিবর্তে আইটেমটি + আরও একটি আইটেমকে ক্ষমা চেয়ে প্রেরণ করতে পারে। শেষ ব্যবহারকারী সম্ভবত সেভাবে আরও সুখী হয়ে উঠতে পারে এবং সংস্থাটি সামগ্রিকভাবে অর্থ সাশ্রয় করে।

আমার অনুমান আমার প্রশ্ন, সাধারণভাবে একটি ইন্টিগ্রেশন টেস্ট এবং E2E পরীক্ষার জন্য কত খরচ হয় এবং এটি কত টাকা বাঁচায়? এর জন্য ঝুঁকি / ব্যয়ের গণনা করার কোনও উপায় আছে কি?


4
এর জন্য ঝুঁকি / ব্যয়ের গণনা করার কোনও উপায় আছে কি? আসলে উভয়ই করা এবং তারপরে তুলনা করা ছাড়া অন্যটি নয়।
রবি ডি

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

আপনি কি মনে করেন যে অ্যামাজনের মতো কোনও ওয়েব স্টোর কয়েক ঘন্টা বা অর্ডার হারিয়ে ফেললে ব্যবসায়ের প্রভাব কী হবে? তারা বিনা ব্যয়ে আইটেমগুলি পুনরায় পাঠানোর চেষ্টা করতে পারে তবে এটি তাদের সুনামের জন্য কী করবে?
বার্ট ভ্যান ইনজেন শেহেনো

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

উত্তর:


12

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

সুতরাং, আপনার ব্যয় অনুমানের ক্ষেত্রে, ব্যর্থতার ক্ষেত্রে আপনার ব্যাকআপ পরিকল্পনার ব্যয় ব্যয়ের তুলনায় আপনি E2E পরীক্ষাগুলি প্রয়োগের জন্য ব্যয়টি তুলনা করেন না, আপনি তুলনা করুন:

  • ম্যানুয়ালি E2E পরীক্ষা করার জন্য ব্যয় (প্রতিটি নতুন প্রকাশের আগে বেশ কয়েকবার)

বনাম

  • স্বয়ংক্রিয় E2E পরীক্ষাগুলি বিল্ডিংয়ের জন্য (এবং বজায় রাখা) ব্যয়

আপনি যদি E2E টেস্টগুলি বেশ কয়েকবার ব্যবহার করতে পারেন তবে বেশিরভাগ টেস্টে রান আসে যেখানে ব্যয়গুলি বিরতি-এমনকি পয়েন্টে পৌঁছায়। কোন E2E পরীক্ষা আপনি ম্যানুয়ালি করবেন এবং কোনটি স্বয়ংক্রিয় করবে তা আপনি যখন পরিকল্পনা করতে চান তখন সেই ম্যাট্রিকটি প্রয়োগ করা উচিত।

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


ধন্যবাদ, এটি একটি দুর্দান্ত উত্তর। E2E পরীক্ষার উদাহরণগুলি কী যা কার্যকর করা সহজ তবে আরও বিকাশ এবং রক্ষণাবেক্ষণের দিকে নিয়ে যায়?
মার্ক

2
@ মার্ক: আমি অনুমান করি আপনি আমার শেষ বাক্যটি ভুল বুঝেছিলেন, আমি বিভিন্ন পরীক্ষার কথা বলছিলাম: যেগুলি কার্যকর করা / বজায় রাখা সহজ এবং সেগুলিও নয়।
ডক ব্রাউন

সঠিক, সম্পাদিত সংস্করণ এটিকে আরও পরিষ্কার করে তোলে।
মার্ক

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

7

সম্ভবত স্বজ্ঞাতভাবে পাল্টা, স্বয়ংক্রিয় পরীক্ষাটি কোনও পরীক্ষার তুলনায় বিকাশের সময়কে হ্রাস করতে পারে। সুতরাং এটি একটি জয়ের জয়।

ধারণাটি পরীক্ষাটি বিভিন্ন স্তরের অবদান রাখে

  1. কঠোর প্রয়োজন সংগ্রহ এবং নির্দিষ্টকরণ জোর

    এটি উন্নয়নের গতিতে বিশাল প্রভাব ফেলে। আরও বিশদ জিজ্ঞাসা না করে ফিরে যাওয়া, কোনও ভুল বোঝাবুঝি, কোনও অনিবদ্ধ বৈশিষ্ট্য ইত্যাদি

  2. কোনও বৈশিষ্ট্য সম্পূর্ণ হওয়ার পরে বিকাশকারীরা জানেন

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

  3. নতুন বৈশিষ্ট্যগুলির সাথে প্রবর্তিত বাগগুলি তাত্ক্ষণিকভাবে সনাক্ত করা যায়।

    এগুলি সহজেই আপনার জন্য একটি স্প্রিন্টের জন্য ব্যয় করতে পারে এবং যদি সেগুলি সনাক্ত না করা হয় তবে একটি সম্পূর্ণ বৈশিষ্ট্য পুনর্লিখনের প্রয়োজন।

  4. দ্রুত মুক্তি চক্র

    এর অর্থ ফ্লাইটে কম কোড, যার অর্থ কম সংশ্লেষ, যার অর্থ কম কাজ এবং বিকাশকারীদের জন্য কম জটিলতা

বিশেষত আপনার যদি একটি পরীক্ষার কাঠামো সেটআপ থাকে তবে এই পরীক্ষাগুলি লেখার ক্ষেত্রে এই দক্ষতার তুলনায় আপনার সাশ্রয়ের চেয়ে কম সময় লাগে।

এছাড়াও, আপনি ম্যানুয়াল টেস্টিংয়ের সময় সাশ্রয় করেন এবং শেষের দিকে আপনি আরও ভাল পণ্য পান।


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

হ্যাঁ, আমি ধরে নিয়েছি যে আমাদের ইউনিট পরীক্ষা জায়গায় রয়েছে
মার্ক

1

আমার উত্তর? সম্ভবত, সম্ভবত না

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

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

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

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

এই সমস্তগুলি রক্ষণাবেক্ষণ এবং চলমান মানুষের প্রয়োজন। শেষে আমরা কয়েকটি EOE পরীক্ষা মুছতে শুরু করেছি এবং অনেকগুলি ইউনিট / ইন্টিগ্রেশন পরীক্ষার সাথে তাদের প্রতিস্থাপন করব।

সুতরাং, আমার রক্ষণশীল পরামর্শ হ'ল গুগল থেকে পরীক্ষামূলক পিরামিড ব্যবহার করা:

প্রথম অনুমান হিসাবে, গুগল প্রায়শই একটি 70/20/10 বিভাজনের পরামর্শ দেয়: 70% ইউনিট পরীক্ষা, 20% ইন্টিগ্রেশন পরীক্ষা এবং 10% শেষ-থেকে শেষ পর্যন্ত পরীক্ষাগুলি। প্রতিটি দলের জন্য সঠিক মিশ্রণটি আলাদা হবে তবে সাধারণভাবে এটি পিরামিড আকারটি ধরে রাখতে হবে।


0

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

সফ্টওয়্যার বিকাশ প্রায়শই সাংগঠনিক রাজনীতিতে নজর রাখা প্রয়োজন।


0

"এটি সর্বজনবিদিত যে শেষ থেকে শেষ এবং ইন্টিগ্রেশন পরীক্ষাগুলি ব্যয়বহুল।"

আমি মনে করি আমি এই দাবির সাথে একমত নই।

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

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

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

  1. স্বয়ংক্রিয়ভাবে সহজ এবং চলমান রাখতে বেশি রক্ষণাবেক্ষণের প্রয়োজন নেই।
  2. সামঞ্জস্যপূর্ণ, পর্যাপ্ত, ম্যানুয়াল পরীক্ষার প্রক্রিয়া প্রয়োগ করতে সর্বাধিক সময় গ্রহণ করুন।
  3. পণ্যটি ভেঙে যদি ছেড়ে দেওয়া হয় তবে আপনাকে বা আপনার বসকে নির্বোধের মতো দেখতে ঝুঁকিপূর্ণ করে তুলবে।

আপনার মনে হয় যে উপযুক্ত E2E সহ পরীক্ষার যে কোনও ফর্ম ব্যবহার করুন। যদিও তাদের উপর ফোকাস।


0

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

আপনার জিজ্ঞাসা করা উচিত যে E2E- পরীক্ষার অভাবের কারণে উত্পাদনের মধ্যে বাস্তবে সবচেয়ে খারাপ সমস্যাটি সবচেয়ে খারাপ সমস্যাটি কী। এবং মারফিস আইন মনে রাখবেন।


0

আমি ধরে নিই যে এই প্রশ্নটি এন্টারপ্রাইজ ওয়েব অ্যাপ্লিকেশন সম্পর্কে।

মাঝারি-সমালোচনামূলক সামগ্রীর জন্য আমার সুপারিশ:

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

আমি মনে করি যে বেশিরভাগ পরীক্ষাগুলি এপিআই স্তর বা উপাদান স্তরের হওয়া উচিত। আমি ইউনিট পরীক্ষাগুলি সম্পর্কে কিছু চিন্তা করি না যা কেবলমাত্র কিছু অভ্যন্তরীণ ফাংশন সম্পাদন করে।

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