ইউনিট পরীক্ষা, সংহতকরণ পরীক্ষা, ধোঁয়া পরীক্ষা এবং রিগ্রেশন পরীক্ষা কি?


731

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

উদাহরণস্বরূপ, আমি ইউনিট টেস্টিং এবং ইন্টিগ্রেশন পরীক্ষার জন্য JUnit এবং NUnit ব্যবহার করি । শেষ দুটি, ধোঁয়া পরীক্ষা বা রিগ্রেশন পরীক্ষার জন্য কোনও সরঞ্জাম আছে ?



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

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

অ্যান্ডিএম বর্ণিত হিসাবে ধোঁয়া পরীক্ষা করা হয়। তবে এগুলি এক ধরণের রিগ্রেশন টেস্ট।
কেভিন এমসিডোনেল

2
সম্পর্কিত: stackoverflow.com/questions/4904096/...
rogerdpack

উত্তর:


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

  • সংহতকরণ পরীক্ষা : একাধিক সাবসিস্টেমের সঠিক আন্তঃ-পরিচালনা পরীক্ষা করুন । দুটি ক্লাসের মধ্যে সংহতকরণের পরীক্ষা থেকে শুরু করে উত্পাদন পরিবেশের সাথে সংহতকরণের পরীক্ষা করা পর্যন্ত পুরো বর্ণালী রয়েছে।

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

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

এটিতে আমি যুক্ত করব:

  • স্বীকৃতি পরীক্ষা : পরীক্ষা করুন যে কোনও বৈশিষ্ট্য বা ব্যবহারের ক্ষেত্রে সঠিকভাবে প্রয়োগ করা হয়েছে। এটি একটি ইন্টিগ্রেশন পরীক্ষার অনুরূপ, তবে জড়িত উপাদানগুলির পরিবর্তে সরবরাহের ক্ষেত্রে ব্যবহারের ক্ষেত্রে ফোকাস দেওয়া।

  • সিস্টেম পরীক্ষা : একটি সিস্টেমকে ব্ল্যাক বক্স হিসাবে পরীক্ষা করে । অন্যান্য সিস্টেমে নির্ভরতা প্রায়শই পরীক্ষার সময় ঠাট্টা-বিদ্রূপ করা বা হঠকারী হয়ে থাকে (অন্যথায় এটি একটি সংহতকরণ পরীক্ষার চেয়ে বেশি হবে)।

  • প্রাক ফ্লাইট চেক : 'আমার মেশিনে বিল্ডস' সিনড্রোম উপশম করতে, পরীক্ষার মতো উত্পাদনের মতো পরিবেশে পুনরাবৃত্তি হয়। প্রায়শই এটি পরিবেশের মতো উত্পাদনে স্বীকৃতি বা ধোঁয়া পরীক্ষা করে উপলব্ধি করা হয়।


250
ধূমপান পরীক্ষাটি এক শতাব্দীর আগে ইলেকট্রনিক্সের পূর্বাভাস দেয় এবং নদীর গভীরতানির্ণয় থেকে আসে, যখন পাইপগুলির একটি সিস্টেম আসল ধোঁয়ায় ভরা হত এবং তারপরে দৃষ্টিভঙ্গি পরীক্ষা করা হয়। যদি এটি ধূমপান করে তবে এটি ফুটো হয়ে যায়।
10:56

2
রিগ্রেশন টেস্টগুলি কেবল বাগ ফিক্সগুলি নয়, বৈশিষ্ট্য পরিবর্তনের জন্যও ব্যবহৃত হয়। নীতার নীচের উত্তরটি আরও বিস্তৃত সংজ্ঞা।
ববরোডস

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

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

2
@ ডিডিএ স্যানিটি টেস্টিং এবং ধূমপান পরীক্ষা এক নয়। বিল্ডটি ধূমপান পরীক্ষা পরিষ্কার করার পরে স্যানিটি টেস্টিং করা হয় এবং আরও পরীক্ষার জন্য কিউএ টিম স্বীকৃত হয়, স্যানিটি টেস্টিং সূক্ষ্ম বিবরণ সহ প্রধান কার্যকারিতা পরীক্ষা করে।
ভারত

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

2
রিগ্রেশন টেস্টের সংজ্ঞাটি আসলে কীভাবে তা নয়। @ ডিডিএ এটি সঠিকভাবে সংজ্ঞায়িত করে।
রবার্ট কোরিতনিক

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

: দয়া করে আমার প্রশ্নের দেখুন stackoverflow.com/questions/61711739/...
মিলাদ salimi

এটি শিরোনামটির উত্তর দেয়, তবে ধূমপান পরীক্ষা বা রিগ্রেশন পরীক্ষার জন্য শেষ দুটি ধরণের পরীক্ষার সরঞ্জামগুলির মধ্যে একটি নয় ।
পিটার মর্টেনসেন

90

প্রত্যেকের কিছুটা আলাদা সংজ্ঞা থাকবে এবং প্রায়শই ধূসর অঞ্চল রয়েছে। যাহোক:

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

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

1
@ আলফা_৯৯৯: পাইথনের সম্মেলনটি কী হবে তা আমি জানি না। .NET- এ আমার কাছে বর্তমানে পৃথক তিনটি প্রকল্পে প্রোডাকশন কোড, ইউনিট টেস্ট এবং ইন্টিগ্রেশন টেস্ট রয়েছে, একে অপরের সমকক্ষ - তবে এর প্রচুর বিকল্পও রয়েছে।
জন স্কিটি

ঠিক আছে ধন্যবাদ. আমি অন্য অজগর প্রকল্পটি না দেখিয়ে মানক প্রস্তাবনা খুঁজে পেতে পারি। তবে আমি আপনার অনুসরণ করব ..
alpha_989

: দয়া করে আমার প্রশ্নের দেখুন stackoverflow.com/questions/61711739/...
মিলাদ salimi

@ মিলাদসালিমি: দয়া করে অন্য প্রশ্নের দিকে মনোযোগ দেওয়ার জন্য কেবল কোনও সম্পর্কযুক্ত মন্তব্য যুক্ত করবেন না। আমি দেখতে পেয়েছি আপনি অন্য চারটি পোস্টে এটি করেছেন - দয়া করে করবেন না।
জন স্কিটি

51

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

উদাহরণগুলি হ'ল:

  • শুধুমাত্র ডেভলপমেন্ট / টেস্টিতে উপলব্ধ থাকতে হবে এমন ডেটা কি লাইভ প্রদর্শিত হয়েছে ?
  • একটি পটভূমি প্রক্রিয়া চালাতে ব্যর্থ হয়েছে?
  • একজন ব্যবহারকারী লগইন করতে পারেন?

2
সাইটটি কি আদৌ পিন করা যায় - যথেষ্ট পরিমাণে, বাইনারি ক্যানারি নামে একটি পরিষেবা বিদ্যমান।
ড্যান ড্যাসক্লেস্কু

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

1
আমার কাজটিতে ক্যানারি পরীক্ষার যে পদ্ধতিটি আমরা ব্যবহার করি তা হ'ল প্রথমে কয়েকটি গ্রাহককে একবারে না করে নতুন সংস্করণে স্থানান্তর করা। যদি প্রথম কয়েকটি গ্রাহক বেঁচে থাকে তবে আমরা বাকীটি যুক্ত করতে পারি। সেই প্রথম কয়েকজন ক্যানারি।
00 প্রোমিথিউস

2
@ 00 প্রমিথিউস, এটি বিটা পরীক্ষা।
গ্রেগন্যাশ

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

11

সফ্টওয়্যার পরীক্ষার কৌশলগুলির জন্য সেরা ওয়েবসাইটগুলির একটি থেকে উত্তর:

সফ্টওয়্যার পরীক্ষার ধরণ - সম্পূর্ণ তালিকা এখানে ক্লিক করুন

এখানে চিত্র বিবরণ লিখুন

এটি বেশ দীর্ঘ বিবরণ, এবং আমি এখানে এটি আটকানো যাচ্ছি না: তবে এটি পরীক্ষার সমস্ত কৌশল জানতে চায় এমন ব্যক্তির পক্ষে এটি সহায়ক হতে পারে।


10

ইউনিট পরীক্ষা: সেই নির্দিষ্ট উপাদানটি (যেমন শ্রেণি) যাচাই করা বা নকশাকৃত পরিবর্তিত ফাংশনগুলি যাচাই করা। এই পরীক্ষাটি ম্যানুয়াল বা স্বয়ংক্রিয় হতে পারে তবে এটি উপাদানটির সীমা ছাড়িয়ে যায় না।

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

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

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

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


এটি কয়েকটি উত্তরগুলির মধ্যে একটি যা সরঞ্জাম সম্পর্কে কিছু অন্তর্ভুক্ত করে।
পিটার মর্টেনসেন

8

ইউনিট পরীক্ষা : একটি অ্যাপ্লিকেশনটিতে পৃথক মডিউল বা স্বতন্ত্র উপাদানগুলির পরীক্ষা করা ইউনিট টেস্টিং হিসাবে পরিচিত। ইউনিট পরীক্ষাটি বিকাশকারী দ্বারা সম্পন্ন করা হবে।

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

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

রিগ্রেশন পরীক্ষণের বারবার একই পরীক্ষার বিষয় নির্বাহ নিশ্চিত করার Tat অপরিবর্তিত মডিউল কোনো খুঁত কারণ হবে না। রিগ্রেশন টেস্টিং কার্যকরী পরীক্ষার অধীনে আসে


এটি শিরোনামটির উত্তর দেয়, তবে ধূমপান পরীক্ষা বা রিগ্রেশন পরীক্ষার জন্য শেষ দুটি ধরণের পরীক্ষার সরঞ্জামগুলির মধ্যে একটি নয়। এটি পূর্ববর্তী উত্তরগুলির পুনরাবৃত্তিও করে - এটি সরঞ্জামগুলি সম্পর্কে প্রশ্নের উত্তর দিয়ে অনন্য করা যায়।
পিটার মর্টেনসেন

7

রেজিস্ট্রেশন টেস্টিং-

"বর্তমান সফ্টওয়্যারটিতে করা পরিবর্তনগুলি বর্তমান সফ্টওয়্যারটির কার্যকারিতা প্রভাবিত করে না তা নিশ্চিত করার জন্য একটি রিগ্রেশন পরীক্ষা পরিবর্তিত সফ্টওয়্যারগুলির বিরুদ্ধে পূর্ববর্তী পরীক্ষাগুলি পুনরায় চালায়" "


18
কোথা থেকে উদ্ধৃতি দিচ্ছেন?
ড্যারিল

4
মতে এই পৃষ্ঠার , যে উদ্ধৃতি থেকে এসেছিলেন উইকিপিডিয়া "সফ্টওয়্যার পরীক্ষামূলক" প্রবন্ধের যদিও মনে হচ্ছে যে উত্তরণ 2010 সাল থেকে কিছু সময়ে পরিবর্তিত হয়েছে
জ্যাক Lysobey

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

এটি শিরোনামটির উত্তর দেয় (এর অংশ) তবে ধূমপান পরীক্ষা বা রিগ্রেশন টেস্টিংয়ের জন্য শেষ দুটি ধরণের পরীক্ষার সরঞ্জামগুলির একটি নয়। এটি পূর্ববর্তী উত্তরগুলির পুনরাবৃত্তিও করে - এটি সরঞ্জামগুলি সম্পর্কে প্রশ্নের উত্তর দিয়ে অনন্য করা যায়।
পিটার মর্টেনসেন

7

আমি কেবল আমাদের কেন এই মাত্রার পরীক্ষার স্তর রয়েছে, উদাহরণগুলির সাথে তারা আসলে কী বোঝায় সে সম্পর্কে আরও কিছু প্রসঙ্গ যুক্ত করতে চেয়েছিলাম

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

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

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

Theতিহাসিকভাবে বিকাশকারীরা এই পরীক্ষাগুলি লেখেন কারণ এগুলি সাধারণত সফটওয়্যার অ্যাপ্লিকেশন হিসাবে একই প্রোগ্রামিং ভাষায় লেখা হয়। ইউনিট টেস্টিং ফ্রেমওয়ার্ক যেমন JUnit এবং NUnit (জাভা জন্য), MSTest (সি # এবং .NET জন্য) এবং জেসমিন / Mocha (জাভাস্ক্রিপ্ট জন্য) ব্যবহার করা হয়।

ইউনিট পরীক্ষার সর্বাধিক সুবিধা হ'ল তারা ইউআই এর নীচে সত্যিই দ্রুত চালিত হয় এবং আমরা অ্যাপ্লিকেশন সম্পর্কে দ্রুত প্রতিক্রিয়া পেতে পারি। এটিতে আপনার স্বয়ংক্রিয় পরীক্ষার 50% এরও বেশি হওয়া উচিত।

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

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

Icallyতিহাসিকভাবে কোনও বিকাশকারী বা প্রযুক্তিগত কিউএ পোস্টম্যান, সোপুআইআই, জেমেটার এবং টেস্টিমের মতো অন্যান্য সরঞ্জামগুলি ব্যবহার করে এই পরীক্ষাগুলি লিখত।

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

ইউআই টেস্ট- শেষ পর্যন্ত, আমাদের পরীক্ষা রয়েছে যা অ্যাপ্লিকেশনটির ইউআইকে বৈধতা দেয়। এই পরীক্ষাগুলি সাধারণত প্রয়োগের মাধ্যমে শেষ প্রবাহের পরীক্ষা করতে লেখা হয় written

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

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

ইউআই পরীক্ষার সর্বাধিক সীমাবদ্ধতা হ'ল, তারা ইউনিট এবং এপিআই স্তরের পরীক্ষার তুলনায় তুলনামূলকভাবে ধীর। সুতরাং, এটি সামগ্রিক স্বয়ংক্রিয় পরীক্ষারগুলির মধ্যে কেবলমাত্র 10-20% থাকবে।

পরবর্তী দুটি ধরণের পরীক্ষাগুলি আপনার প্রকল্পের ভিত্তিতে পরিবর্তিত হতে পারে তবে ধারণাটি হ'ল-

ধোঁয়া টেস্ট

এটি উপরের 3 স্তরের পরীক্ষার সংমিশ্রণ হতে পারে। প্রতিটি কোড চেক ইন করার সময় এটি চালানো এবং সিস্টেমের সমালোচনামূলক কার্যকারিতা এখনও প্রত্যাশার মতো কাজ করছে তা নিশ্চিত করার ধারণাটি এই; নতুন কোড পরিবর্তনগুলি মার্জ হওয়ার পরে। ব্যর্থতার বিষয়ে দ্রুত প্রতিক্রিয়া পেতে তাদের সাধারণত 5 - 10 মিনিট দিয়ে চালানো দরকার

রিগ্রেশন টেস্ট

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


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

5

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

যখন আপনার পরীক্ষাটি একাধিক শ্রেণিকে কল করে, এটি একটি ইন্টিগ্রেশন পরীক্ষা

পূর্ণ পরীক্ষার স্যুটগুলি চালাতে দীর্ঘ সময় নিতে পারে, সুতরাং পরিবর্তনের পরে অনেকগুলি দল তাৎপর্যপূর্ণ বিরতি সনাক্ত করতে দ্রুত পরীক্ষা চালায়। উদাহরণস্বরূপ, আপনি প্রয়োজনীয় সংস্থানগুলিতে ইউআরআই ভেঙে দিয়েছেন। এই ধোঁয়া পরীক্ষা

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


এটি শিরোনামটির উত্তর দেয়, তবে ধূমপান পরীক্ষা বা রিগ্রেশন পরীক্ষার জন্য শেষ দুটি ধরণের পরীক্ষার সরঞ্জামগুলির মধ্যে একটি নয়। এটি পূর্ববর্তী উত্তরগুলির পুনরাবৃত্তিও করে - এটি সরঞ্জামগুলি সম্পর্কে প্রশ্নের উত্তর দিয়ে অনন্য করা যায়।
পিটার মর্টেনসেন

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

এটি শিরোনামটির উত্তর দেয়, তবে ধূমপান পরীক্ষা বা রিগ্রেশন পরীক্ষার জন্য শেষ দুটি ধরণের পরীক্ষার সরঞ্জামগুলির মধ্যে একটি নয়। এটি পূর্ববর্তী উত্তরগুলির পুনরাবৃত্তিও করে - এটি সরঞ্জামগুলি সম্পর্কে প্রশ্নের উত্তর দিয়ে অনন্য করা যায়।
পিটার মর্টেনসেন

3

ইউনিট পরীক্ষা: সেই নির্দিষ্ট উপাদানটি (যেমন শ্রেণি) যাচাই করা বা নকশাকৃত পরিবর্তিত ফাংশনগুলি যাচাই করা। এই পরীক্ষাটি ম্যানুয়াল বা স্বয়ংক্রিয় হতে পারে তবে উপাদানটির সীমা ছাড়িয়ে যায় না।

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

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

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


এটি হ'ল এই একই স্ট্যাক ওভারফ্লো প্রশ্নের অন্য উত্তর থেকে চুরি করা (উত্তরটি চার বছরেরও বেশি আগে পোস্ট করা হয়েছিল)।
পিটার মর্টেনসেন

3

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


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

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

3

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

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

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

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

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

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

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

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

পারফরম্যান্স টেস্টগুলি তাদের স্বভাব অনুসারে বাস্তবায়ন এবং চালনার জন্য বেশ ব্যয়বহুল, তবে নতুন পরিবর্তনগুলি আপনার সিস্টেমকে হ্রাস করতে চলেছে কিনা তা তারা আপনাকে বুঝতে সহায়তা করতে পারে।

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

নতুন বিল্ড তৈরির পরে আপনি আরও ব্যয়বহুল পরীক্ষা চালাতে পারবেন কিনা তা স্থির করার পরে বা নতুন স্থাপনার পরিবেশে সেগুলি সঠিকভাবে প্রয়োগ হচ্ছে কিনা তা নিশ্চিত করার জন্য একটি স্থাপনার পরে ঠিক ধোঁয়া পরীক্ষাগুলি কার্যকর হতে পারে।

সূত্র: https://www.atlassian.com/continuous-delivery/software-testing/tyype-of-software-testing


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

2

ইউনিট পরীক্ষা: এটি QA- এর জন্য কোনও প্রয়োজনীয় প্রস্তুতি নেওয়ার আগে তাদের পরীক্ষার দিক থেকে সমস্যাটি খুঁজে বের করার জন্য বিকাশকারীরা সর্বদা তাদের বিকাশের পরে সম্পাদন করে।

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

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

রিগ্রেশন টেস্টিং: নতুন বর্ধনের জন্য বা সিস্টেমে পরিবর্তনের জন্য সিস্টেমে প্রয়োগিত পরিবর্তনের কারণে পরীক্ষক বিদ্যমান কার্যকারিতা যাচাইয়ের জন্য রিগ্রেশন সঞ্চালন করেছিলেন।


আসল বিকাশ করার আগে আমাদের কি পরীক্ষা তৈরি করতে হবে না?
ভিন শাহার্ডার

@ ভিনশাহারদার, আপনি কি ইউনিট পরীক্ষার কথা বলছেন?
ক্রুনাল

হ্যাঁ. আমি সাধারণত প্রোডাকশন কোড লেখার আগে আমার ইউনিট টেস্ট তৈরি করি। আপনার এটি ঠিক এভাবে করা উচিত?
ভিন শাহার্ডার

1
হ্যাঁ .. তবে ইউনিট টেস্টিংও বিকাশকারীদের মুখোমুখি হওয়া QA এর আগে সম্পাদন করে। কিউএ সার্ভারে কোড স্থাপনের আগে সর্বদা ইউনিট টেস্টিং
করান

2

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

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

ইন্টিগ্রেশন টেস্টিং:

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

ধোঁয়া পরীক্ষা

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

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

রিগ্রেশন টেস্টিং

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


এটি শিরোনামটির উত্তর দেয়, তবে ধূমপান পরীক্ষা বা রিগ্রেশন পরীক্ষার জন্য শেষ দুটি ধরণের পরীক্ষার সরঞ্জামগুলির মধ্যে একটি নয়। এটি পূর্ববর্তী উত্তরগুলির পুনরাবৃত্তিও করে - এটি সরঞ্জামগুলি সম্পর্কে প্রশ্নের উত্তর দিয়ে অনন্য করা যায়।
পিটার মর্টেনসেন

2

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

কারণ স্যানিটি টেস্টিং আরও গভীরতর এবং আরও বেশি সময় নেয়, বেশিরভাগ ক্ষেত্রে এটি স্বয়ংক্রিয় হওয়া ভাল।

ধোঁয়া পরীক্ষা সাধারণত কার্যকর করতে 5-30 মিনিটের বেশি সময় নেয় না। এটি আরও সাধারণ: এটি পুরো পরীক্ষার কয়েকটি সংখ্যক মূল কার্যকারিতা যাচাই করে, যাতে আরও পরীক্ষা করার জন্য সফ্টওয়্যারটির স্থিতিশীলতা যথেষ্ট ভাল এবং কোনও সমস্যা নেই, যা পরিকল্পিত পরীক্ষার ক্ষেত্রে চালানো বাধা দেয়।

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


এটি কিছুটা বিস্তৃত হয় তবে ধূমপান পরীক্ষা বা রিগ্রেশন পরীক্ষার জন্য শেষ দুটি ধরণের পরীক্ষার সরঞ্জামগুলির বিষয়ে নয় । সরঞ্জাম সম্পর্কে প্রশ্নের উত্তর দিয়ে এটি অনন্য করা যেতে পারে।
পিটার মর্টেনসেন

1

ইতিমধ্যে কিছু ভাল উত্তর রয়েছে তবে আমি তাদের আরও পরিমার্জন করতে চাই:

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

সুতরাং পরিষ্কারভাবে ইউনিট টেস্টিং এখানে একমাত্র সাদা বাক্সের পরীক্ষা।

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

5
ইউনিট টেস্টিং অগত্যা সাদা বাক্স নয় is আমি দেখেছি সেরা ইউনিট পরীক্ষার কয়েকটি হ'ল প্রয়োজনীয়তা থেকে আঁকা প্রয়োজনীয় উদাহরণগুলি, কোনও বাস্তবায়ন ধারণা থেকে স্বতন্ত্রভাবে প্রত্যাশিত ফলাফল নির্দিষ্ট করে।
joel.neely

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

1
আমি এই সাথে একমত হতে হবে। ডিজাইনের প্যাটার্ন বাস্তবায়নের পরীক্ষা করা একীকরণের পরীক্ষার একটি ফর্ম এবং এটি সাদা বাক্স পরীক্ষা testing
হাজোক

এটি শিরোনামটির উত্তর দেয়, তবে ধূমপান পরীক্ষা বা রিগ্রেশন পরীক্ষার জন্য শেষ দুটি ধরণের পরীক্ষার সরঞ্জামগুলির মধ্যে একটি নয় । এটি পূর্ববর্তী উত্তরগুলির পুনরাবৃত্তিও করে - এটি সরঞ্জামগুলি সম্পর্কে প্রশ্নের উত্তর দিয়ে অনন্য করা যায়।
পিটার মর্টেনসেন

1

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

স্বয়ংক্রিয় পরীক্ষাগুলি মাত্র দুটিতে ভাগ করা যায়।

ইউনিট টেস্ট এবং ইন্টিগ্রেশন টেস্ট (এটি সব কিছু গুরুত্বপূর্ণ)

আমি সংহত পরীক্ষা, কার্যকরী পরীক্ষা, রিগ্রেশন পরীক্ষা, ইউআই পরীক্ষা ইত্যাদির মতো সমস্ত পরীক্ষার জন্য "দীর্ঘ পরীক্ষা" (এলটি) শব্দটি ব্যবহার করব এবং ইউনিট টেস্টগুলিকে "শর্ট টেস্ট" বলে।

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

এবং ইউনিট পরীক্ষার মাধ্যমে ইন্টিগ্রেশন টেস্টিং (দীর্ঘ পরীক্ষা) এর সুবিধাগুলি নিয়ে আলোচনা করা এটি একটি দুর্দান্ত নিবন্ধ ।


1

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

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

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