ডাটাবেস এবং ইউনিট / ইন্টিগ্রেশন টেস্টিং


25

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

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

ডাটাবেস কার্যকারিতা পরীক্ষা করার সেরা উপায়টি নিম্নলিখিত সেটআপগুলি মনে করে:

  1. আসলে পরীক্ষাটি চালুর আগে একটি "সেটআপ" পর্যায়ে আপনি প্রথমে ডাটাবেসের সমস্ত টেবিল কেটে ফেলুন
  2. তারপরে আপনি যে পরীক্ষা চালাতে চলেছেন তার জন্য প্রয়োজনীয় সমস্ত ডেটা sertোকান
  3. তারপরে আপনি পরীক্ষার কেসগুলি চালাবেন এবং যাচাই করুন
  4. তারপরে একটি "টিয়ারডাউন" পর্যায়ে আপনি আবার ডেটাবেসের সমস্ত টেবিলগুলি কেটে ফেলেন

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

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


উত্তর:


21

আমার জন্য ইউনিট পরীক্ষাগুলি ডাটাবেসটির সাথে ডিল করা উচিত নয়, ইন্টিগ্রেশন টেস্টগুলি ডাটাবেসের সাথে ডিল করে।

ইন্টিগ্রেশন টেস্টগুলি যা ডাটাবেসের সাথে ডিল করে বাস্তবে টিয়ার আপ এবং টিয়ার ডাউন অ্যাপ্রোচ সহ একটি খালি ডাটাবেস থাকা উচিত, লেনদেন ভিত্তিক পদ্ধতির ব্যবহার করা বেশ ভাল উপায় (যেমন সেটআপের উপর একটি লেনদেন এবং টিয়ার ডাউনে রোলব্যাক তৈরি করা)।

আপনার বন্ধুরা যা করতে চায় বলে মনে হচ্ছে তা হল 'রিগ্রেশন' দৃষ্টিকোণ থেকে পরীক্ষা করা, যেমন সেখানে সত্যিকারের ডেটা রয়েছে এবং দেখুন সিস্টেমটি কীভাবে প্রতিক্রিয়া দেখায়, কোনও সিস্টেম নিখুঁত না হওয়ার পরে এবং সাধারণত কোথাও কোথাও সরবরাহ করা খারাপ ডেটা থাকতে পারে provide আপনার ডোমেন মডেল থেকে কিছু quirks।

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


আমি শুধু আমি নোট নিশ্চিত কি পার্থক্য ইউনিট টেস্টিং ইন্টিগ্রেশন পরীক্ষার মধ্যে ব্যতীত আমি শুনেছি ইউনিট ব্যঙ্গ ডেটা এবং ইন্টিগ্রেশন একটি ডাটাবেস ব্যবহার করা উচিত ব্যবহার করা উচিত (অন্য থ্রেড শুরু programmers.stackexchange.com/questions/101300/... চিত্র পার্থক্য আউট )। তা বাদে, আপনি যা বলছেন তার সমস্ত কিছুই আমি যা ভাবছি তার সাথে মিল রয়েছে বলে মনে হয়।
রায়ানজেক

কোনও সমস্যা নেই, আমি আপনার অন্যান্য উত্তরে আরও তথ্য যুক্ত করেছি
নিকোলাস মেইন

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

1
integration tests- আপনি কি বোঝাতে চেয়েছেন? আমি মডিউল যা ডাটাবেসের ব্যবহার করছেন উল্লেখ করা হয়েছে করতে পারেন এবং উচিত ইউনিট পরীক্ষা দিয়ে পরীক্ষা করা। ডেটাবেস আমাকে ম্যানুয়ালি উপহাস করতে পারে বা মেমোরি প্রয়োগের সাথে প্রতিস্থাপন করতে পারে
Hellboy

6

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

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

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


2

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

পরীক্ষাগুলি কীভাবে লেখা উচিত তা আপনি ঠিকই রেখেছেন, আমি ব্যতীত কিছু ছাঁটাই করব না:

  • সেটআপ পর্ব: ডাটাবেসের সাথে একটি সংযোগ পান এবং ডেটা .োকান
  • রান পর্ব
  • টিয়ার ডাউন ফেজ: sertedোকানো ডেটা সরান (কাটা)

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


কেউ কি ঘটনাক্রমে কোনওভাবে ব্যর্থতার কারণ হয়ে ডেটা সংশোধন করার চেয়ে পরীক্ষার জন্য প্রয়োজনীয় প্রতিটি ডাটাবেসের অংশগুলি তৈরি করবো না? যখন কোনও পরীক্ষা ব্যর্থ হয় তখন ডেটা সঠিক কিনা তা নিশ্চিত করে রাখা যা প্রতিরোধ করা যায় can
রায়ানজেক

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

1

আমি মনে করি আপনার কলেজের সাথে আপনার একটি উদাহরণ সঙ্কুচিত করা উচিত এবং সেগুলির সঠিক অর্থ কী তা খুঁজে বের করতে হবে। আপনি উভয় একই পৃষ্ঠায় হতে পারে।

উদাহরণ: অ্যাকাউন্ট লেনদেনের সারণী পরীক্ষা করা

  1. আপনি কোনও লেনদেন ছাড়াই কোনও ব্যবহারকারী / অ্যাকাউন্টের জন্য এই টেবিলটি দেখার পরীক্ষা করতে চান না?
  2. প্রথম রেকর্ড যুক্ত করার পরীক্ষা করে দেখুন এবং ভারসাম্য তৈরি করতে পারেন কিনা তা দেখুন।
  3. ইতিমধ্যে বিদ্যমান রেকর্ড থাকা অবস্থায় রেকর্ড তৈরি করুন এবং চলমান ভারসাম্য এবং অন্য কোনও ব্যবসায় বিধি পরীক্ষা করুন।
  4. বিদ্যমান রেকর্ড এবং অন্যান্য সমস্ত CRUD সহ সারণী দেখুন।

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


0

কয়েকটি উত্তরের দিকগুলি একসাথে আঁকতে এবং আমার 2 পি যুক্ত করতে ...

দ্রষ্টব্য: আমার মন্তব্যগুলি বিশেষত ডাটাবেস পরীক্ষার সাথে সম্পর্কিত , এবং ইউআই পরীক্ষার সাথে সম্পর্কিত নয় (যদিও স্পষ্টভাবে একইভাবে প্রযোজ্য)।

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

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

আমি নিশ্চিত যে বেশিরভাগই সম্মত হবেন যে সামনের শেষ বা রিপোর্ট টেস্টিংয়ের মতো ডাটাবেস পরীক্ষায় অনুরূপ কঠোরতা প্রয়োগ করা উচিত।

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

সুতরাং আমার উত্তরে কিছু প্রসঙ্গ দেওয়া ...

অংশ পরিক্ষাকরণ

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

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

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

(ইউনিট) ইন্টিগ্রেশন টেস্টিং

আমি এই এসই পোস্টটি বিভিন্ন ধরণের পরীক্ষার বিষয়ে কথা বলতে সহায়ক বলে মনে করেছি।

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

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

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

তাই এখন আমি আপনার প্রকৃত প্রশ্নের উত্তর দেওয়ার জন্য কিছু প্রসঙ্গ দিয়েছি

  • ইউনিট এবং ইন্টিগ্রেশন টেস্টিংয়ের ডেটা প্রিপোপুলেটিংয়ের কারণে উত্সাহজনক পরীক্ষার ত্রুটি হতে পারে এবং এড়ানো উচিত।
  • ধারাবাহিক পরীক্ষাগুলি নিশ্চিত করার একমাত্র উপায় হ'ল উত্স ডেটা সম্পর্কে কোনও অনুমান করা এবং এটি কঠোরভাবে নিয়ন্ত্রণ করা।
  • উত্স নিয়ন্ত্রিত ডাটাবেস কোডের একটি পৃথক শাখায় একই পরীক্ষার মাধ্যমে অন্য পরীক্ষক একই পরীক্ষার সাথে বৈঠক করছেন না তা নিশ্চিত করার জন্য একটি পৃথক পরীক্ষা কার্যকর করার প্রসঙ্গটি গুরুত্বপূর্ণ।

-3

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

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


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

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

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

ইউনিট টেস্টিং কখনই একটি ডেটাবেস ব্যবহার করা উচিত নয় - ইন্টিগ্রেশন টেস্ট ডাটাবেস ব্যবহার করে।
নিকোলাস মেনে

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