System Testing

Published date: April 15, 2024, Version: 1.0

Who: QA Specialist (Functional SME), Test Automation Engineer (TAE)

When: System testing is conducted after integration testing has been completed. It verifies the behaviour and functionality of the entire software system as a whole.

Tools/Technology:

qTest

  • A test management tool that facilitates the organization and tracking of acceptance test cases and results.

JIRA

  • A project management and issue-tracking tool that can be utilized for managing acceptance testing tasks, test cases, and defects.

UTAF/Selenium

  • It can be used for system testing of web applications by automating end-to-end user scenarios and interactions.

Apache JMeter

  • A tool commonly used for performance and load testing, it can also be utilized for system testing by simulating realistic user traffic and measuring system response.

Apache Kafka

  • A distributed streaming platform that can be used to simulate and test system-level interactions between different components or services.

Purpose

System testing validates the behaviour and functionality of the entire software system, ensuring that it meets the defined requirements and performs as expected. System testing aims to identify any issues or defects that may arise from the integration of different components and to assess the system's overall performance.

System testing covers both functional and non-functional aspects of the software system. It verifies that the system's interfaces, interactions, and overall performance meet the specified criteria. Functional system testing focuses on testing the system's features and functionality, while non-functional system testing assesses performance, security, reliability, and usability factors.

Various techniques can be employed during system testing, including black-box testing, boundary value analysis, equivalence partitioning, and user scenario-based testing. These techniques help ensure comprehensive coverage and identify potential issues that may affect the system's behaviour or performance.

System testing is typically performed by dedicated testing teams who have a broader perspective of the entire system. They test the system from an end-user perspective, validating the system's behaviour as a whole and ensuring that it meets the user's requirements and expectations.

By conducting system testing, teams can gain confidence in the system's reliability, functionality, and performance before deployment to production. System testing helps uncover defects or issues that may arise from integrating different components and ensures that the system performs as intended.