System testing is the type of testing to check the behaviour of a complete and fully integrated software product based on the software requirements specification (SRS) document. The main focus of this testing is to evaluate Business / Functional / End-user requirements.
What is a ‘System Test Plan’?
As you may have read in the other articles in the testing series, this document typically describes the following:
………– The Testing Goals
………– The key areas to be focused on while testing
………– The Testing Deliverables
………– How the tests will be carried out
………– The list of things to be Tested
………– Roles and Responsibilities
………– Prerequisites to begin Testing
………– Test Environment
………– What to do after a test is successfully carried out
………– What to do if test fails
How to write a System Test Case?
A Test Case describes exactly how the test should be carried out.
The System test cases help us verify and validate the system.
The System Test Cases are written such that:
……..– They cover all the use cases and scenarios
……..– The Test cases validate the technical Requirements and Specifications
……..– The Test cases verify if the application/System meet the Business & Functional
……..– The Test cases may also verify if the System meets the performance standards
Since a dedicated test team may execute the test cases it is necessary that System Test Cases. The detailed Test cases help the test executioners do the testing as specified without any ambiguity.
The format of the System Test Cases may be like all other Test cases as illustrated below:
- Test Case ID
Test Case Description:
- What to Test?
- How to Test?
- Input Data
- Expected Result
- Actual Result
What is importance of System Testing?
When we talk about the system that means it covers everything including Software, Hardware and other communication medium. System testing is the usually performed at the end of integration testing when tester verifies the whole system including software and hardware against the SRS or business requirement document. Any product and service is not just a software or hardware it is the combination of both. Let’s consider an example of Fighter Plane it is combination of so many things which include the Electronic communication, Software, Hardware and Mechanical parts. When we combine all these then a whole system is considered as a fighter plane.
So testing of whole system is much important because testing a single module or individual entity will not make a great product or service. Failure of any component or entity will make a whole system failure. For bigger projects where security is main concern it is not worth to leave the component untested.
How to do System Testing?
In Software System Testing following steps needs to be executed:
Step 1) First & important step is preparation of System Test Plan:
The what all points to be cover in System Test plan may vary from organization to organization as well as based on project plan, test strategy & main test plan.
Nevertheless, here is list of standard point to be considered while creating System Test Plan:
- Goals & Objective
- Critical areas Area to focus
- Test Deliverable
- Testing Strategy for System testing
- Testing Schedule
- Entry and exit criteria
- Suspension & resumption criteria for system testing
- Test Environment
- Roles and Responsibilities
Step 2) Second step is to creation Test Cases:
It is very much similar functional test case writing. In test case writing you should write the test scenarios & use cases.
Here you should consider different type of testing like Functional testing, Regression testing, Smoke testing, Sanity testing, Ad-hoc testing, Exploratory testing, Usability testing, GUI software testing, Compatibility testing, Performance testing, Load testing, Stress testing, Volume testing, Error handling testing, Scalability testing, Security testing, Capacity testing, Installation testing, Recovery testing, Reliability testing, Accessibility testing etc
While writing test case you need to check that test cases are covering all functional, non-functional, technical & UI requirements.
Step 3) Integration of all component with test data to verify the whole system.
Step 4) End to End test case execution as a whole system.
Step 5) Performance and Stress testing as a whole system.
Step 6) Last but not least, reporting of bugs and regression testing of whole system.
There are many more steps that can be considered depend on the person to person and project.
This is the end from my side about system testing, if readers of the website have any suggestion and improvement regarding the articles please feel free to post in comment. Different opinions on a particular topic can draw new ideas.