System testing is a method of monitoring and assessing the behaviour of the complete and fully-integrated software product or system, on the basis of pre-decided specifications and functional requirements. It is a solution to the question "whether the complete system functions, in accordance to its pre-defined requirements?"
It's comes under black-box testing i.e. only external working features of the software are evaluated. It does not requires any internal knowledge of the coding, programming, design, etc., and is completely based on users-perspective.
Some of the aspects, on which system testing focuses are
Following testing are conducted during system testing phase:-
It is used to check desired functioning of the software, after its successful installation, along with, all necessary requirements
A type of black-box testing, that enables to assess and evaluate the proper functioning of the software, according to its pre-defined requirements.
It is achieved by, deliberate failure or crash of the software, to assess its ability of getting recovered, quickly.
It ensures, the ability of software to get compatible and interact with other software or system and their components.
It is done, to examine the response, stability, scalability, reliability and other quality metrics of the software, under different workloads.
Software should be scalable, along with the increase in load, number of concurrent users, data size, etc. This, arises the need of scalability testing, which is conducted to take care of scalability related issues, with the software.
This testing, assess the degree of the software, between two failures, and the time it takes to repair.
It guarantees the original functionality of the software, after each modification in it.
This involves, evaluation of documentation artifacts, prepared before and during the testing phase, in order to assess the testing requirements, covers under documentation testing.Security Testing:-
To assess, the security features of the software, so as to ensure, protection, authenticity, confidentiality and integrity of the information and data.Usability Testing:-
Ensures software's user-friendliness feature and prevents end-users from issues or problems, while using and handling the software product.