আমাদের কি পরীক্ষার ডেটা দরকার বা আমরা ইউনিট পরীক্ষা এবং ম্যানুয়াল পরীক্ষার উপর নির্ভর করতে পারি?


10

আমরা বর্তমানে একটি মাঝারি / বৃহত পিএইচপি / মাইএসকিউএল প্রকল্পে কাজ করছি। আমরা পিএইচপিউইনিট ও কোনিটের সাথে ইউনিট টেস্টিং করছি এবং আমাদের দুটি পুরো সময়ের পরীক্ষক রয়েছে যা ম্যানুয়ালি অ্যাপ্লিকেশনটি পরীক্ষা করছে। আমাদের পরীক্ষা (মক) ডেটা বর্তমানে এসকিউএল স্ক্রিপ্টগুলির সাহায্যে তৈরি করা হয়েছে।

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

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

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

উত্তর:


4

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

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

উভয় প্রক্রিয়া গ্রাহকের কাছে একটি মানের পণ্য সরবরাহ করার জন্য গুরুত্বপূর্ণ এবং প্রয়োজনীয়। আপনি একক ইউনিট পরীক্ষার উপর নির্ভর করতে পারবেন না। আপনার যা যা বোঝার দরকার তা হ'ল এটির বৈধতা নিশ্চিত করার জন্য আপনার পরীক্ষার ডেটা পরিচালনা করার একটি নির্ভরযোগ্য উপায়।

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


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

@ christian.p আপনার প্রশ্নের স্পষ্টতা সম্পর্কে আমার আপডেট পরীক্ষা করুন।
এজেসি

সুতরাং আপনার সমাধানটি স্ক্রিপ্টগুলি পরিত্যাগ করা এবং কেবল ইউআইয়ের মাধ্যমে ম্যানুয়ালি টেস্ট ডেটা যুক্ত করা? পি.ব্রেইন.ম্যাকি এবং ইউআইয়ের সাথে ডেটা সংযুক্ত করার জন্য তার উত্তরগুলি সম্পর্কে কী বলা যায়?
খ্রিস্টান পি

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

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

6

হ্যাঁ, ইউনিট পরীক্ষা করা এবং ডেটা মক-আপ করা একটি সেরা অনুশীলন is প্রকল্পের পরিচালক সঠিক। যেহেতু পরীক্ষার তথ্যগুলিতে একটি "সাধারণ" পরিবর্তন সম্পাদন করা প্রায়শই বাগ তৈরি করে, তবে এটিই সমস্যার মূল বিষয়।

কোডটির উন্নতি প্রয়োজন। এটি না করা (আরে আমাদের পরীক্ষার দরকার নেই) বলা ঠিক নয়, এটি কেবল প্রযুক্তিগত adding ণ যুক্ত করছে । কোডটি আরও ছোট পরীক্ষা-সক্ষম ইউনিটগুলিতে ভাঙ্গা করুন কারণ বিরতি ছাড়াই ইউনিট সনাক্ত করতে অক্ষম হওয়া একটি সমস্যা is

একটি চুল্লী কাজ শুরু করুন। উন্নতিগুলি ছোট রাখুন যাতে তারা পরিচালনা করতে পারে। Godশ্বরের ক্লাস / পদ্ধতিগুলি, ডিআরওয়াই, একক-দায়বদ্ধতা ইত্যাদি অনুসরণ না করে যেমন অ্যান্টি-প্যাটার্নগুলি সন্ধান করুন ...

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

সাধারণভাবে, যদি জটিল ব্যবসায়ের লজিক প্রক্রিয়াগুলির একটি সিরিজ ডেটার একটি সেট তৈরি করে, তবে আমি এটিকে একটি প্রতিবেদন হিসাবে দেখি। প্রতিবেদনটি encapsulate। প্রতিবেদনটি চালান এবং ফলাফলটি অবজেক্টটিকে পরবর্তী পরীক্ষায় ইনপুট হিসাবে ব্যবহার করুন।


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

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

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

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

তবে আমরা কীভাবে অবৈধ মক ডেটার সমস্যাটি মোকাবেলা করব? আমরা যদি ডাটাবেসটির জন্য মক ডেটা তৈরি করতে থাকি তবে আমরা কীভাবে মক ডেটা ঠিক আছে কিনা তা পরীক্ষা করব? যদি ব্যবসায়ের নিয়মের ক্ষেত্রে সেই মানটি X = 2 হয় এবং ডাটাবেসটি এক্স = 100 গ্রহণ করে - যখন ব্যবসায়ের নিয়ম জটিল হয় তখন আমরা কীভাবে পরীক্ষার তথ্যের অখণ্ডতা পরীক্ষা করব?
খ্রিস্টান পি

1

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

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

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

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