What is System Testing, why do we need and how to do it?
Welcome back to Manual Testing free training. In this tutorial, we are going to talk about:
What is System testing?
System testing is the stage of software testing in which a complete and fully integrated software product is tested based on the software requirements specification (SRS) document. The main purpose of this testing is to evaluate business, functional, or end-user requirements.
This is one of the black box testing types performed to evaluate the complete system’s compliance against specified requirements thanks to requirement documents & it is totally based on the User’s perspective. For this type of test, you do not need to have detailed knowledge of the internal design or structure or code.
This testing must take place after System Integration Testing is completed, where both functional and non-functional requirements have been verified.
In integration testing, testers are focused on finding bugs/defects in integrated modules. But in Software System Testing, testers are focused on finding bugs/defects based on software application’s behavior, software design, and expectation of the end-user.
Why is system testing important? Why is it critical to perform System testing?
a) In SDLC, System Testing is performed as the first level of testing.
b) In this step of testing, check whether the system meets the functional requirements or not.
c) System testing allows you to check the application architecture and business requirements.
d) The application/system is tested in an environment that closely resembles the projected production environment.
Generally, a separate and dedicated team oversees system testing. And, System Testing is performed on a staging server or production server clone. So, this means you are testing a software application as close to a production environment as possible.
Read SDLC Concept
How to do System Testing?
Software system testing requires the following steps to be executed.
1) The first and essential step in the preparation of a system test plan.
Depending on the project plan, test strategy, and main test plan, the system test plan may vary from organization to organization.
A list of standard points to consider when creating a 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
2) The second step is to create test cases.
It is, in many ways, similar to the process of writing functional test cases. You should write test scenarios and use cases in test case writing.
You should consider different types of testing, such as…
- 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.
When writing test cases, you should ensure that they cover all functional, non-functional, technical, and UI requirements.
Sample Test Case Format:
|Test Case ID||Test Suite Name||How to Test?||Test Data||Expected Result||Actual Result||Pass/Fail|
3) The creation of test data for system testing.
4) Automated test case execution.
5) If you use a test management tool, you can execute normal test cases and update it.
6) The next step is Bug verification and Regression testing.
7) If required, you can repeat testing life cycles.
Important note: we like to tell you that free tutorials are helpful to get started but if you are interested in the best online LIVE Master of Manual Testing training program from the experts, please refer to the following link:
For Instructor-led training
For Self-Driven training
That is all for System testing. In the next tutorial, we will dig into the different hierarchy levels of testing that we have seen in the picture.