System testing helps to identify defects and issues that may be missing during integration testing or other types of testing.

By identifying and addressing these pain areas early in the development process, system testing can help to ensure that the final system is reliable, secure, and performs as expected. This can save time and costs for fixing defects later in the development process or after the system has been deployed to production.

Why do we need System Testing

  1. Functional defects: System testing helps identify functional defects or bugs that may arise when different system components are integrated. These defects could be related to errors in the system's logic or data processing or issues related to interoperability between other modules.
  2. Performance issues: System testing helps to identify performance issues that may arise when the system is used in a real-world environment. These issues could be related to the system's response time, throughput, scalability, or resource usage.
  3. Compatibility issues: System testing helps to identify compatibility issues between the system and the underlying hardware, software, or network infrastructure. These issues could be related to compatibility with different operating systems, browsers, or devices or integration with third-party services or APIs.
  4. Security vulnerabilities: System testing helps to identify security vulnerabilities in the system, such as weaknesses in authentication or authorization mechanisms or vulnerabilities related to data privacy or confidentiality.
  5. Usability issues: System testing helps to identify usability issues in the system's user interface, such as issues related to navigation, layout, or accessibility.

As an ISTQB tester, it is important to understand system testing well.

System testing is software testing performed on a complete, integrated system to evaluate its compliance with specified requirements.


Here are some key points to keep in mind about system testing:

  1. System testing is performed after integration testing and before acceptance testing. Its purpose is to test the entire system and verify that it meets the specified requirements.
  2. System testing can be performed manually or with the help of automated testing tools. Automated testing tools can reduce the time and effort required for system testing and improve the tests' accuracy and repeatability.
  3. Some common types of system testing include functional testing, performance testing, security testing, and usability testing.
  4. Functional testing involves testing the system's functionality and verifying that it meets the specified requirements.
  5. Performance testing involves testing the system's performance and verifying that it meets the specified performance criteria, such as response time and throughput.
  6. Security testing involves testing the system's security features and verifying that they protect it from unauthorized access or attacks.
  7. Usability testing involves testing the system's user interface and verifying that it is easy to use and meets user needs.
  8. System testing is important because it helps identify defects and issues not detected during integration testing or other types of testing. By detecting and resolving these issues early on, system testing can help improve the system's overall quality and reliability.