Software Testing · Software Engineering

System Testing

Watch lectures

System Testing

Definition

System Testing is the third level of testing, where the complete, fully integrated software system is tested as a whole, to verify it meets the overall requirements specified in the SRS — testing the system in an environment that closely resembles production.

Characteristics

  • Performed after integration testing is complete
  • Treats the system as a black box — testers generally don't need to know internal code structure
  • Tests the system end-to-end, including its interaction with hardware, other systems, and the operating environment
  • Usually performed by an independent testing team (not the developers)

Types of System Testing (Sub-categories)

Type Focus
Functional Testing Does the system do what the SRS says it should?
Performance Testing Speed, response time, throughput under expected load
Load Testing Behavior under expected/peak user load
Stress Testing Behavior under extreme conditions beyond normal capacity (finding the breaking point)
Security Testing Vulnerabilities, unauthorized access, data protection
Usability Testing Ease of use, user experience
Compatibility Testing Works across different OS, browsers, devices
Recovery Testing System recovers properly after a crash/failure
Installation Testing Verifies the system installs/uninstalls/updates correctly

Relationship to Other Testing Levels

Unit Testing (individual modules)
        ↓
Integration Testing (modules combined)
        ↓
System Testing (whole system, vs. SRS)
        ↓
Acceptance Testing (Alpha/Beta — customer perspective)

Why System Testing Matters

  • It's the first time the system is validated as a whole, against the original requirements (not just internal correctness)
  • Catches issues that only emerge at full-system scale (performance under load, cross-module interactions at scale, environment-specific issues)

Exam tip: Be ready to list at least 5-6 types of system testing (Functional, Performance, Load, Stress, Security, Usability) with a one-line description each — a common "types of system testing" listing question.

Official AppAndroid App

PYQDeck for Android

Solve BEU previous-year exam papers anywhere, anytime. Fast search, offline paper viewing, and step-by-step solutions designed specifically for your phone.

← All Software Engineering modules