System testing of the software means testing the software system or applications as a whole. System testing of the application is performed on entire application software to check software’s general concurrence with the business, operative end-user demands. The system testing is classified as black box software testing. That is why the information about the inner design or structure or code is not important for this kind of software testing at all.
While performing software testing a software test professional tends to distinguish failures or bugs within the interfaces and within the software as a whole as well. Still, performing the build-in testing of the application or software, the software test professional tends to distinguish bugs or faults between the single units that are merged together.
During system testing, the main issue is software design, behaviour and the client’s expectations as well. Therefore a system testing stage of software testing can also be introduced as investigatory testing stage of the software development life cycle.
When does the System Testing step into picture?
When all the components of the developed software are arranged, the whole software system is thoroughly tested to guarantee that it faces all the indicated business, functional and non-functional requirements. System testing is based on the unit testing and integration testing levels. In most cases a special separate and committed team is in charge of system testing. System testing is done on staging server.
Reasons for a system testing
- This is the first stage of the software testing at which software or an application is tested as a whole.
- It is performed to check and approve technical, business, functional and non-functional requirements of the software. Checking and approving the software application architecture is also a part of this stage.
- System testing is performed on a staging environment that is very similar to the production environment where the final software will be installed.
Access criteria for System testing:
- Accomplished unit testing
- Accomplished integration testing
- Thoroughly developed software system
- Presence of a software testing environment that exactly simulates the production environment, i.e. staging environment
System testing in 7 stages:
- Develop system test plan
- Develop system test cases
- Choose or develop test data for system testing
- If necessary software test automation of performing of automated test cases
- Performing of test cases
- Bug repair and regression testing
- To perform software test cycle once again if necessary on different environments
The contents of a software system test plan can alternate from company to company or project to project. It relies on how the software test strategy, project plan was built and comprehended the test plan of the project. Yet, the main contents of a software system test plan should include:
- Aims and purposes
- Main areas/critical areas
- System testing plan
- Access and completion criteria
- Delay and renewal criteria for software testing
- Test environment
- Staffing and training plan
- Roles and amenabilities
How to create system test cases
The system test cases are written in the same way as functional test cases. Still, one should consider two main points while writing system test cases:
1st – system test cases should enclose the use cases and scenarios
2nd – they must suit all the requirements, i.e. technical, UI, functional, non-functional, performance and others.
According to Wikipedia there are 24 different testing types which should be assumed while performing the system testing. Among them are: GUI software testing, Usability testing, Performance testing, Compatibility testing, Error handling testing, Load testing, Volume testing, Stress testing, User help testing, Security testing, Scalability testing, Capacity testing, Sanity testing, Smoke testing, Exploratory testing, Ad hoc testing, Regression testing, Reliability testing, Recovery testing, Installation testing, Idem potency testing, Maintenance testing, Recovery testing and failover testing, Accessibility testing.
The plan of system test cases:
- To give a test case an ID (unique number)
- To name a test suit
- Tester – name of a tester, who make the checking of test cases
- Requirement ID or short description of the functionality
- Steps to follow while test performance
- Test data- input data
- Forecast the result
- Definite result
- Test review
If you need software testing services you may request a quote here.