Netsparker Web Application Security Scanner

System Testing: What? Why? & How?

What is System Testing?

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.

This is black box type of testing where external working of the software is evaluated with the help of requirement documents & it is totally based on Users point of view. For this type of testing do not required knowledge of internal design or structure or code.

This testing is to be carried out only after System Integration Testing is completed where both Functional & Non-Functional requirements are verified.

In the integration testing testers are concentrated on finding bugs/defects on integrated modules. But in the Software System Testing testers are concentrated on finding bugs/defects based on software application behavior, software design and expectation of end user.

 Why system testing is important:

a) In Software Development Life Cycle the System Testing is perform as the first level of testing where the System is tested as a whole.

b) In this step of testing check if system meets functional requirement or not.

c) System Testing enables you to test, validate and verify both the Application Architecture and Business requirements.

d) The application/System is tested in an environment that particularly resembles the effective production environment where the application/software will be lastly deployed.

Generally, a separate and dedicated team is responsible for system testing. And, System Testing is performed on staging server which is similar to production server. So this means you are testing software application as good as production environment.

 Different Hierarchical levels of testing:

As with almost any technical process, software testing has a prescribed order in which things should be done. Different levels of testing are used in the testing process; each level of testing aims to test different aspects of the system. The following is lists of software testing categories arranged in sequentially organize.

Hierarchical levels of testing

Hierarchical levels of testing

Unit testing – Testing is done in the development process while developer completes the unit development.  The object of this testing is to verify correctness of the module. The purpose of unit testing is to check that as individual parts are functioning as expected. Basically Unit testing is typically carried out by the developer.

Integration testingSystem Integration Testing is started after the individual software modules are integrated as a group. A typical software project consists of multiple modules & these are developed by different developers. So in integration testing is focuses to check that after integrating modules Is two modules are communicating with each other or not. It is critical to test every module’s effect on the entire program model. Most of the issues are observed in this type of testing.

System testing – This is the first time end to end testing of application on the complete and fully integrated software product before it is launch to the market.

Acceptance testing – User acceptance is a type of testing performed by the Client to certify the system with respect to the requirements that was agreed upon.  This is beta testing of the product & evaluated by the actual end users. The main purpose of this testing is to validate the end to end business flow.

Entry Criteria for System Testing: 
  • Unit Testing should be finished.
  • Integration of modules should be fully integrated.
  • As per the specification document software development is completed.
  • Testing environment is available for testing (similar to Staging environment)
 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
  • Scope
  • 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
  • Glossary

 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 or not.

 Sample Test Case Format: 

Test Case ID

Test Suite Name

How to Test? Test Data Expected Result Actual Result


 Step 3) Creation of test data which used for System testing.

Step 4) Automated test case execution.

Step 5) Execution of normal test case & update test case if using any test management tool (if any).

Step 6) Bug Reporting, Bug verification & Regression testing.

Step 7) Repeat testing life cycle (if required).

In System testing now you have clear about What is System Testing?, Importance of system testing, different levels of testing and How & what criteria needs to be consider in System Testing. If you think any points is missed or to be added in System testing then you

If I missed out addressing some important points on System testing  then let me know in comments below.

If you really like this article, consider subscribing to get all Testing Updates in your Inbox for FREE. To get testing tips Click Here.  


27 comments to System Testing: What? Why? & How?

  • exalent sir


    Excellent its very simple to understand. Thank you.
    I wanted a project to write some test cases. please can you send me one.

  • romesh

    this good

  • romesh

    this is good for engineer

  • Elango

    Nice explanation and it helps beginners to understand better about system testing…Great work.

  • prasad

    This is Good for Everyone,
    Good Explanation and it helps beginners to understand better about Testing…

  • Rajesh

    Clearly described without any confusion.
    This exactly matches with our organization.

  • Hari

    Thank you for your effort and nice explanation.

  • Eranga

    Thank a lot

  • Dinesh

    Nice explanation .

  • Biplob

    Very Nice

  • Mukta


    Thanks for posting this article. Really helpful. Can you clear one doubt of me…Is there any difference between System testing and End to end testing? If not practically, then please tell me from interview perspective.

  • Mukta

    Is it required to have a System Test plan before starting System testing? Can’t we initiate our system testing with system test plan? Can we follow only Test Plan to conduct this testing? On which basis do we write system test cases? Please help me in understanding.

  • vikum

    nice page ,tnx

  • sangya

    it help a lot can you please send me a project so that i can use my knowledge on that project and test that project.

  • Nil

    Excellent article. Can you please send me a demo project where I can apply all test cases??

  • imran shah


  • Nivetha

    hi can u pls send me the demo project using these test cases

  • Claudio

    Hi! I’m a software student in Brazil, this article was a very nice explanation.
    I would like to know if there is any curiosity, odds facs about system testing ?
    Sorry about my poor english.

  • aniket

    i need job in testing

  • gm

    nice explanation

  • ganglia

    nice. That was good. However, is it possible to list some systems we can actually apply these explanations on?

  • software quality attributes

    Fantastic article I would like to read more article of this kind of article

  • sirishaq


  • jeji

    nice concept

  • santosh

    Got it. Thank you

  • Judi Simley

    It’s informative. I like how you have the section on Test Execution. The only section i would add would be the tools that you can use for system testing. Also, you need to clean up 1 of the sentences–there is a grammatical mistake: If you think any points is missed or to be added in System testing then you–this is the one.


Leave a Reply

You can use these HTML tags

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>