Software Testing in SAD · Quick Revision with Interactive MCQs

Software Testing in SAD

Quick Revision Notes · Verification vs Validation · Testing Levels · Black Box vs White Box · 15 Interactive MCQs

GATE · UGC NET · NIELIT · Rajasthan Computer Teacher 2026
Software Testing is the process of evaluating a software application to identify defects and verify that it meets specified requirements. This is one of the most frequently tested topics in GATE CSE, UGC NET, NIELIT, and Rajasthan Computer Teacher exams.
Software Testing, Verification, Validation, Unit Testing, Integration Testing, Black Box, White Box, STLC GATE · UGC NET · NIELIT · Rajasthan Teacher
Software Testing Verification Validation Unit Testing Integration Testing System Testing Acceptance Testing Black Box White Box STLC

What is Software Testing?

Software Testing is the process of evaluating a software application to identify defects (bugs) and verify that it meets the specified requirements.

🎯 Objectives:

  • Detect defects before deployment
  • Ensure software meets user requirements
  • Improve software quality & reliability
  • Reduce maintenance cost
  • Increase customer satisfaction

Why is Testing Important?

  • Prevents costly software failures
  • Improves application security
  • Ensures optimal performance under load
  • Saves development and long-term maintenance costs
  • Increases customer confidence and adoption

Verification vs. Validation

Feature Verification Validation
Core Question Are we building the product right? Are we building the right product?
Execution Static (No code execution) Dynamic (Requires code execution)
Activities Reviews, walkthroughs, inspections Unit, integration, system, acceptance testing

💡 Exam Tip: Verification = Without Code Execution (Static) · Validation = With Code Execution (Dynamic)

Levels of Testing

1. Unit Testing

  • Tests individual components or smallest code modules
  • Usually performed by developers
  • Advantages: Easy debugging, early bug detection, reduces integration overhead

2. Integration Testing

  • Tests interactions and data transfer between integrated modules
  • Strategies: Top-Down, Bottom-Up, Big Bang, Hybrid (Sandwich)

3. System Testing

  • Tests the complete, fully integrated software system end-to-end
  • Conducted after integration testing to ensure compliance with specified requirements

4. Acceptance Testing

  • Performed by the customer or end-users to validate business requirements
  • Alpha Testing: Conducted at the developer's site in a controlled environment
  • Beta Testing: Conducted by real end-users at customer sites in a real-world environment

Types of Software Testing

Black Box Testing

  • No knowledge of internal source code. Focuses purely on functional inputs and outputs.
  • Techniques: Equivalence Partitioning, Boundary Value Analysis (BVA), Decision Table Testing, State Transition Testing.

White Box Testing

  • Requires full knowledge of source code structure and logic.
  • Techniques: Statement Coverage, Branch Coverage, Path Coverage, Cyclomatic Complexity, Loop Testing.

Grey Box Testing

  • Partial knowledge of internal code structure. Combines functional black-box perspective with structural awareness.

Functional vs. Non-Functional

  • Functional Testing: Verifies functional requirements (e.g., Login, Payment Gateway, Registration)
  • Non-Functional Testing: Measures quality attributes such as Performance, Load, Stress, Security, Usability, Compatibility

Specialized Testing Types

  • Regression Testing: Re-testing modified software to ensure existing features remain unbroken
  • Smoke Testing: "Build Verification Testing" — checks basic stability before launching deeper tests
  • Sanity Testing: Fast, targeted check focusing on specific code changes or recent bug fixes
  • Static Testing: Done without running the code (Code Reviews, Walkthroughs, Inspections)
  • Dynamic Testing: Done by executing code (Unit, Integration, System, Acceptance)

Error, Fault, Bug, and Failure

Term Meaning
Error Human mistake made during coding or design
Fault / Defect Incorrect code or manifestation of an error
Bug Informal developer term for a fault
Failure Incorrect behaviour exhibited by software during execution

Software Testing Life Cycle (STLC)

  1. Requirement Analysis
  2. Test Planning
  3. Test Case Development
  4. Test Environment Setup
  5. Test Execution
  6. Defect Reporting & Tracking
  7. Test Closure

Quick Revision Table

VerificationNo execution (Static)
ValidationExecution required (Dynamic)
Unit TestingPerformed by Developer
Acceptance TestingPerformed by Client
Alpha TestingDeveloper's site
Beta TestingCustomer site
Black BoxFunctional / No source code
White BoxInternal logic / Coverage
Smoke TestingBuild stability
Sanity TestingSpecific fix verification
Regression TestingAfter code changes
Static TestingNo execution
Dynamic TestingExecution required

Memory Tricks

📋
Testing Levels
UISA
Unit → Integration → System → Acceptance
📝
Acceptance Types
AB
Alpha → Beta
🎯
Box Testing
BGW
Black → Grey → White Box

Exam-Oriented Tips

  • GATE: Master White-Box coverage criteria (Statement vs. Branch vs. Path Coverage), Cyclomatic Complexity (V(G) = E − N + 2P), and Boundary Value Analysis test case count.
  • Rajasthan Computer Teacher: Focus on direct distinctions: Alpha vs. Beta, Verification vs. Validation, Smoke vs. Sanity, STLC phase ordering.
  • UGC NET: Structural software engineering concepts, formal definitions of Error-Fault-Failure, static analysis techniques, and SDLC/STLC process models.

Conclusion

Software Testing is an essential part of the Software Development Life Cycle. Understanding the differences between verification and validation, the levels of testing, and the various testing techniques is crucial for both academic and professional success.

For deeper revision, check out Software Engineering Revision by Aditi Mam — covers key UGC NET & GATE MCQs with clear explanations.

15 Interactive MCQs
सही: 0 गलत: 0 शेष: 15
0 / 15

परिणाम

0 / 15

बहुत अच्छा!

0 सही
0 गलत
0 अनुत्तरित

ऊपर 'पुनः प्रयास' बटन से दोबारा प्रयास करें