System testing


System testing is a process of executing a program with the intent to find an error. A good test is one which has high probability of finding as yet undiscovered error. Thus a successful test is one which uncovers an undiscovered error.

System testing of software is testing conducted on a complete, integrated system to evaluate the system's compliance with its specified requirements.

The objective of system is to design tests that systematically uncover different types of error from the whole program with minimum time and effort.

Whenever a system is formulated testing is very important part, and it has to be taken up. If testing is conducted efficiently then chances of successful system also increases.

There are five principles of testing naming

Principle 1 : All tests should be traceable to customer requirements.

It applies that testing should be strictly according to what user wants and how system should be performed.

Principle 2 : Tests should be planned long before testing begins.

It suggests that testing should be planned at initial stages and should be conducted once the architecture is done.

Principle 3 : The Pareto principle applies to software testing.

The pareto principal states that the for many events, roughly 80% of the system errors recovered from 20% of the causes.

Principle 4 : Testing should begin “in the small” and progress toward testing “in the large”

It’s a good practice to start testing at unit levels and then integrate testing at the whole system level.

Principle 5 : Exhausting testing is not possible.

Generally a system contains too many control paths where it is not possible to check each control path and loop. So system testing should be conducted so that it covers all the major part.


  • Unit Testing

Unit testing refers to verification on the smallest unit of software design. Unit testing is done to uncover errors within the boundary of the module. Thus the relative complexity is reduced and chances of getting errors are increased. The scope of testing is reduced by unit testing.

The unit testing focuses on internal processing logic and data structures within that module. This testing is conducted in parallel for various component.

  • Integration Testing

Integration testing is a systematic testing of conducting tests to uncover error while constructing the software architecture. Its objective is to take unit tested components and build a program structure and then conducting integration testing on the whole system.

Integration testing can be Top-down testing, Bottom-up testing, Regression testing and Smoke testing.


  • Recovery testing

Recovery testing is a system test that forces the software to fail in a variety of ways and verifies that recovery is properly performed. It can be automatic or due to human intervention. It is done with the objective that system must recover from faults and resume processing within a specified time.

  • Security testing

Security testing verifies that there must be proper protection mechanism within the system too protect the system from improper penetration. Penetration refers to the hacking or accessing of manager’s sensitive information to harm him in some way or other.

  • Stress testing

Stress testing executes a system in a manner which can control the demand of resources in abnormal situations. As an example abnormal situations can be generating 10 interrupts per second when average is 2 or 3 or test cases that require maximum memory or too many resources.

  • Performance testing

Performance testing is designed to test the performance of the software. This testing occurs in all steps of testing, at unit level and at the system level. It is done to check the throughput of the process. If it is fully integrated then true performance can be evaluated of the system.


No comments yet.

    Sign in or sign up and post using a HubPages Network account.

    0 of 8192 characters used
    Post Comment

    No HTML is allowed in comments, but URLs will be hyperlinked. Comments are not for promoting your articles or other sites.

    More by this Author

    • What is client server technology

      It is a network of shared or distributed computing in which the tasks and computing power are split between the servers and clients. The servers store and process data common to the users across the organisation and...

    Click to Rate This Article