Study sheet: Software Verification and Validation

Course Outline

  1. Software Quality and Assurance
  2. Verification and Validation Distinction
  3. Verification Activities and Evidence
  4. Validation and User Needs
  5. Testing as Defect Discovery
  6. Limits of Software Testing
  7. Quality Assurance Terminology
  8. Applied V&V Case Studies

1. Software Quality and Assurance

Key Concepts & Definitions

  • Software Quality Assurance : a planned and systematic approach used to ensure that software processes and products meet defined quality requirements

★ Must-know

  • Software quality includes correctness, reliability, security, usability, maintainability, and suitability for real user needs.

Further detail

  • SQA includes: following development processes, reviewing requirements, design, code, and documents, applying standards and guidelines, planning and executing tests, tracking defects, measuring quality, improving processes, ensuring customer and user satisfaction

Memory Hook

Poor quality → financial loss, delays, academic harm, distrust, or safety risks.

2. Verification and Validation Distinction

★ Must-know

📌 Verification checks whether software work products are developed correctly according to specifications, standards, and design documents, whereas validation checks whether the final software satisfies the actual needs of users and stakeholders.

  • A system can pass verification but still fail validation when it follows the written specification but does not satisfy the real user need.

Further detail

  • In a university attendance system, manually entering student ID numbers may satisfy the written requirement while failing the lecturers’ real need for a faster method such as QR scanning or face recognition.

Memory Hook

Verification asks “Are we building the product right?”; validation asks “Are we building the right product?”

3. Verification Activities and Evidence

Key Concepts & Definitions

  • Verification : the process of evaluating software work products to determine whether they satisfy the conditions imposed at the start of a development phase

★ Must-know

  • Verification can be performed through:
    • reviews
    • inspections
    • walkthroughs
    • document checking
    • static analysis
    • code review

Further detail

  • For a library search requirement, verification checks that the design, database, code, and test cases support searching by title, author, and ISBN.

Memory Hook

Requirements → design → code → tests → consistent documents

4. Validation and User Needs

Key Concepts & Definitions

  • Validation : the process of evaluating software during or at the end of development to determine whether it satisfies the intended use and user needs

★ Must-know

  • Validation usually involves:
    • dynamic testing
    • user acceptance testing
    • beta testing
    • usability testing
    • field testing
    • stakeholder feedback

Further detail

  • A library management system can be technically correct but still fail validation if users find it difficult, slow, incomplete, or unsuitable.

Memory Hook

A technically correct system placed in real users’ hands but rejected as slow or unsuitable.

5. Testing as Defect Discovery

Essential Points

  • Software testing should be viewed primarily as a process of finding defects rather than proving that software has no defects.

  • A login test set should include wrong password, empty username, empty password, SQL injection-like input, very long username, locked account, disabled account, case sensitivity, multiple failed attempts, password reset flow, and network failure during login.

  • A test case that does not find a defect can still increase confidence, but it does not prove that the system is perfect.

Memory Hook

Finding defects increases quality knowledge; passing tests does not prove perfection.

6. Limits of Software Testing

★ Must-know

  • Testing cannot prove complete defect absence because:
    • exhaustive testing is usually impossible
    • selected test cases may be weak
    • requirements may be incomplete or wrong
    • users may behave unexpectedly
    • software changes can introduce new defects

Further detail

  • The registration form contains:
    • name
    • email
    • password
    • date of birth
    • phone number
    • country
    • user type

Memory Hook

Too many inputs, paths, states, configurations, and environments → exhaustive testing becomes impractical.

7. Quality Assurance Terminology

Key Concepts & Definitions

  • Test Case : a selected situation used to evaluate software behavior and compare its actual result with the expected result
  • Test Coverage : a measure used to identify how much of the software or its requirements is exercised by testing

Essential Points

  • The listed terminology includes:
    • defect
    • error
    • fault
    • failure
    • test case
    • test suite
    • test oracle
    • test coverage
    • traceability

8. Applied V&V Case Studies

★ Must-know

📐 Formula — The correct GPA formula is GPA=Total weighted grade pointsTotal creditsGPA = \frac{\text{Total weighted grade points}}{\text{Total credits}}.

📌 In the GPA case, misunderstanding the formula is the human error, dividing total grade points by the number of subjects is the software defect, and displaying 3.10 instead of 3.58 is the failure observed during execution.

  • A Requirement Traceability Matrix links software requirements to their corresponding test cases so that requirement coverage can be checked.

Further detail

  • REQ_01 requires test coverage for:
    • adding books to the shopping cart
    • updating quantity
    • removing books
    • viewing the total price before checkout

Memory Hook

Identify the requirement, classify V&V, trace the defect, then design the test.

Synthesis Tables

Verification Compared with Validation

DimensionVerificationValidation
Main questionAre we building the product right?Are we building the right product?
Primary basisSpecifications, standards, and design documentsIntended use and user needs
Typical activitiesReviews, inspections, walkthroughs, static analysis, and code reviewDynamic testing, acceptance testing, usability testing, field testing, and stakeholder feedback

Test your knowledge

Test your knowledge on Software Verification and Validation with 11 multiple-choice questions with detailed corrections.

1. Which statement best defines Software Quality Assurance (SQA)?

2. What is the primary purpose of Software Quality Assurance (SQA)?

Take the quiz →

Review with flashcards

Memorize the key concepts of Software Verification and Validation with 11 interactive flashcards.

What is Software Quality Assurance (SQA)?

A planned and systematic approach ensuring software meets quality requirements.

Software Quality Assurance

Ensures software meets quality requirements systematically.

What activities does SQA include to ensure software quality?

Following processes, reviewing, applying standards, testing, tracking defects, measuring quality, improving processes, and ensuring satisfaction.

See flashcards →

Similar courses

Create your own study sheets

Import your course and AI generates sheets, quizzes and flashcards in 30 seconds.

Sheet generator