Verification vs Validation & Static Testing vs Dynamic Testing এর ধারণা

> VERIFICATION: What ever we did that is correct or not to ensure the correctness of Documents, is the verification. ভেরিফিকেশন হল যা কিছু করা হয়েছে তা সঠিক কি না তা যাচাই করা। verification হয় software প্রস্তুত হবার আগে। VERIFICATION এর মধ্য অন্তর্ভক্ত থাকে - BRS/CRS/URS, SRS, HLD, LLD. এই ধাপে ব্যাপক ভাবে রিভিও করা হয়। software এর কোডিং করার আগে এই রিভিও করা হয়। এই রিভিও করা বা টেস্টিং করা কে Static Testing ও বলা হয়, কারন এখানে Static ডকুমেন্ট টেস্ট করা হয়।

VERIFICATION এর মধ্যে আরো ৩ টা জিনিসকে অন্তভূক্ত করা হয়: 1. Review 2. Walkthrough 3. Inspection

# BRS- Business Requirement Specification, which is aimed to show how to meet the business requirements on a broader level.

# CRS - Customer Requirement Specification, which is given by the customer. when the customer gives the requirements to the developer in the form of a document it is called CRS.

# URS - User Requirements Specification,  In software engineering or systems design, a URS is a planning document that specifies what the software or system needs to do.

# SRS- Software Requirements Specification, (SRS) is a comprehensive description of the intended purpose and environment for software under development.

# HLD - High Level Design. Commonly abbreviated as HLD, the high level design is a general system of design. এর মধ্যে ডিজাইনের মূল বিষয় উল্লেখ্য থাকে। উদা: মডিউল ১, মডিউল ২, মডিউল ৩

# LLD - Low Level Design (LLD) is a component-level design process that follows a step-by-step refinement process.






> VALIDATION : Validation is according to customer requirements is the software working or not. গ্রাহক বা কাস্টমারের চাহিদা অণুযায়ী যে software তৈরি করা হয়েছে তা  কাজ করছে কি না তা যাচাই করাই হচ্ছে Validation. software প্রস্তুত হবার পর ভেলিডেশন শুরু হয়। VALIDATION এর মধে অন্তভূক্ত থাকে - Unit Testing, Integration Testing, System Testing, User Acceptance Testing. এই পর্যায়ের টেস্টিংকে Dynamic Testing ও বলা হয়।

Unit Testing- এই টেস্টিং ডেভলপারা করেন।

Integration Testing -  এটি HLD ও LLD ওপর ভিত্ত করে করা হয়। এই টেস্টিং ডেভলপারা করেন।

System Testing - এই টেস্টটিই মূলত প্রধান টেস্টিং যা QA People / Tester করেন। এখানে কোড টেস্ট করা হয় না, শুধু গ্রাহকের চাহিদা অনুযায়ী software কাজ করছে কি না তা যাচাই করা হয়।

User Acceptance Testing- গ্রাহক নিজে এই টেস্ট করেন যা তাদের চাহিদা অনুযায়ী software কাজ করছে কি না।