রিলেশনাল ডাটাবেস রিগ্রেশন টেস্টে ডেটা কোয়ালিটি


9

আমি একটি ওপেন সোর্স মিউজিয়াম কালেকশন ম্যানেজমেন্ট ওয়েব অ্যাপ্লিকেশনটিতে কাজ করছি যা একটি যাদুঘরের প্রবেশ, অনুদান, edণ প্রাপ্ত বা অন্যথায় অর্জিত তথ্যাদি ট্র্যাক করার জন্য ব্যবহার করা হয়।

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

আমি কেবল আমার বিশ্ববিদ্যালয়ের ডিগ্রি শেষ করছি এবং এটি যখন আমি ডাটাবেস ডিজাইনের কথা বলি তখন আমি পেশাদার নই এবং তাই আমার যা আছে "কাজ" করার বিষয়টি নিশ্চিত করার জন্য আমি সত্যিই একটি পুঙ্খানুপুঙ্খ পরীক্ষা স্যুট তৈরি করতে চাই।

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

"ডেটা কোয়ালিটি" পরীক্ষার উল্লেখ নিয়ে বিভ্রান্তি আসে উপরের নিবন্ধে লেখক উল্লেখ করেছেন যে আপনি পরীক্ষার মাধ্যমে নিম্নলিখিতটি বৈধ করতে চান:

  • কলাম ডোমেন মান নিয়ম
  • কলাম ডিফল্ট মান নিয়ম
  • মান অস্তিত্ব নিয়ম
  • সারি মান নিয়ম
  • আকার নিয়ম

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

উত্তর:


3

এই প্রশ্নের একটি সম্পূর্ণ উত্তর খুব দীর্ঘ হবে। আমি মূল বিষয়গুলি উল্লেখ করার চেষ্টা করব।

উদ্বেগ পৃথক করতে, আপনি পরীক্ষাগুলি এখানে খুঁজছেন হতে পারে:

একটি - ডাটাবেস নকশা বৈধকরণ।

বি - যাচাই করুন যে প্রোগ্রাম (গুলি) ডাটাবেসের সাথে সঠিকভাবে ইন্টারঅ্যাক্ট করছে।

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

আপনার নির্দিষ্ট প্রশ্নের উত্তর দিতে:

কলাম ডোমেন মান নিয়ম

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

উদাহরণ স্বরূপ:

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

  • আপনি কি এমন কোনও কলামে নেতিবাচক মান সঞ্চয় করতে পারেন যেখানে ব্যবসায়ের এটির প্রয়োজন হয়?

কলাম ডিফল্ট মান নিয়ম

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

মান অস্তিত্ব নিয়ম

যেহেতু আমি এটি বুঝতে পারি, আপনি ডাটাবেসে প্রত্যাশার মতো ডেটা sertedোকানো বা আপডেট শো যাচাই করেছেন।

সারি মান নিয়ম

এইটির সঠিক অর্থ কী তা সম্পর্কে আমি পরিষ্কার নই।

আকার নিয়ম

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

কীভাবে / কোথায় শুরু হবে সে সম্পর্কে নির্দেশিকা

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

  • কলামটি কি সংজ্ঞায়িত প্রকারের (ইন্টের মতো নাম দেওয়ার কোনও অর্থ নেই) বলে মনে করা হচ্ছে?

  • আকার কি ব্যবসায়ের প্রয়োজনীয়তার সাথে সামঞ্জস্যপূর্ণ?

  • ব্যবসায়ের প্রয়োজনীয়তার সমস্ত কলাম কি ডাটাবেসে পাওয়া যায়?

  • নাল কলামগুলি কি সত্যিই alচ্ছিক?

  • প্রভৃতি

এরপরে, আপনি উপরের পরীক্ষার জন্য পরীক্ষার কেসগুলি ডিজাইন করতে পারেন। আপনি বেশিরভাগ পরীক্ষা করতে জিইউআই ব্যবহার করতে পারেন।

অন্যান্য গুরুত্বপূর্ণ ডাটাবেস পরীক্ষা রয়েছে যা আপনি উল্লেখ করেন নি। যারা এর সাথে চুক্তি করে:

1 - প্রাথমিক কীগুলি ব্যবসার দৃষ্টিকোণ থেকে সত্যই অনন্য Test

2 - যে অনন্য সূচকগুলি (পিকে ছাড়া অন্যান্য) পরীক্ষা করা ব্যবসায়ের দৃষ্টিকোণ থেকে সত্যই অনন্য।

3 - বিদেশী কী বাধা পরীক্ষা করে

4 - কোনও সারি মুছে ফেলা হবে এবং এর সাথে সম্পর্কিত সারিগুলিতে এর প্রভাব কী হবে তা পরীক্ষা করা।

5 - বিশেষ ডাটাবেস নির্মাণ সম্পর্কিত অন্যান্য পরীক্ষা যেমন CHEKC, ট্রিগারগুলির উপস্থিতি থাকলে।

6 - সঠিক টেবিলের স্বাভাবিককরণ এবং সেই সাধারণ কলামগুলি সঠিক মান ধারণ করে।

উপরেরটি কোনও সম্পূর্ণ তালিকা নয় তবে এটি আপনাকে শুরু করা উচিত।


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

KristenD। @ সংগো আমি প্রতিক্রিয়াটির প্রশংসা করি।
NoChance

1

আমি মনে করি আপনি এটি ভুল উপায়ে পৌঁছেছেন।

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

আপনি যা করতে চান তা ডেটাবেজে প্রেরণের আগে ডেটাতে বৈধতা / ফিল্টারিংয়ের নিয়ম ।

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

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

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


আমি দেখতে পাচ্ছি আপনি কোথা থেকে এসেছেন এবং ডেটাবেস হিট হওয়ার আগে ডেটা যাচাই করে এমন ফিল্টার তৈরি এবং পরীক্ষার বিষয়ে আমি সম্পূর্ণরূপে লক্ষ্য রেখেছি, তবে এই প্রশ্নে আমার মূল উদ্দেশ্যগুলি ছিল ডাটাবেসের নকশা যাচাই করার চেষ্টা করা (যতদূর আমি আসলে যতটা পারি এটি ব্যবহার করে) এবং এটি যাচাই করে নিন যে বাস্তবে যা আছে তা যেমন কাজ করা হয়েছিল ঠিক তেমন হয়েছে (উদাহরণস্বরূপ নিশ্চিত করা যে বিদেশী কী বাধাগুলি তার উত্তরে @ এমদাদ কেরেম হিসাবে উল্লিখিত হয়নি data তথ্য বৈধতা আনার জন্য আপনাকে ধন্যবাদ যদিও এটি অত্যন্ত অবিচ্ছেদ্য ডাটাবেস ব্যবহার করে এমন কোনও অ্যাপ্লিকেশনের অংশ।
ক্রিস্টেন ডি
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.