0
0
Testing Fundamentalstesting~6 mins

System testing in Testing Fundamentals - Full Explanation

Choose your learning style9 modes available
Introduction
Imagine building a complex machine with many parts. You want to make sure the whole machine works well together before using it. System testing solves this problem by checking the entire software system as one complete unit.
Explanation
Purpose of System Testing
System testing checks the complete and integrated software to verify it meets the specified requirements. It ensures that all parts of the software work together correctly as a whole. This testing happens after unit and integration testing are done.
System testing validates the entire software system's behavior against requirements.
Types of System Testing
There are many types of system testing, such as functional testing, performance testing, security testing, and usability testing. Each type focuses on a different aspect of the system to ensure it works well under various conditions and meets user expectations.
System testing includes multiple testing types to cover all aspects of the software.
Environment for System Testing
System testing is performed in an environment that closely resembles the real production environment. This helps catch issues that might only appear when the software runs in conditions similar to actual use.
Testing in a realistic environment helps find real-world problems before release.
Difference from Other Testing Levels
Unlike unit testing, which tests small parts, and integration testing, which checks combined parts, system testing tests the entire system as one. It focuses on overall behavior rather than individual components.
System testing looks at the software as a whole, not just parts or connections.
Real World Analogy

Think of assembling a new car. After building each part and connecting them, you take the whole car for a test drive to see if everything works together smoothly. This final test drive is like system testing for software.

Purpose of System Testing → Taking the fully assembled car for a test drive to check overall performance.
Types of System Testing → Checking the car’s speed, safety features, fuel efficiency, and comfort during the test drive.
Environment for System Testing → Driving the car on roads and conditions similar to where it will be used.
Difference from Other Testing Levels → Testing the whole car instead of just individual parts like the engine or brakes.
Diagram
Diagram
┌───────────────┐
│   Unit Test   │
│ (Individual   │
│   parts)      │
└──────┬────────┘
       │
┌──────▼────────┐
│ Integration   │
│   Test        │
│ (Combined     │
│  parts)       │
└──────┬────────┘
       │
┌──────▼────────┐
│ System Test   │
│ (Whole system)│
└───────────────┘
This diagram shows the testing levels from unit testing to integration testing, and finally system testing of the whole software.
Key Facts
System TestingTesting the complete and integrated software system to verify it meets requirements.
Functional TestingA type of system testing that checks if software functions work as expected.
Performance TestingSystem testing that measures how well software performs under load.
Testing EnvironmentThe setup where system testing is performed, ideally similar to production.
Integration TestingTesting combined parts of software before system testing.
Common Confusions
System testing is the same as integration testing.
System testing is the same as integration testing. System testing checks the entire software as a whole, while integration testing focuses on interactions between combined parts.
System testing can be done without a realistic environment.
System testing can be done without a realistic environment. System testing should be done in an environment close to real use to catch practical issues.
Summary
System testing checks the entire software system to ensure it meets all requirements.
It includes various types like functional and performance testing to cover different aspects.
System testing is done after unit and integration testing, in an environment similar to real use.