Exforsys.com
 
Home Tutorials Testing
 

System Testing: Why? What? & How?

 

System Testing: Why? What? & How?

Introduction:

Unit testing’ focuses on testing each unit of the code.


Integration testing’ focuses on testing the integration of “units of code” or components.
Each level of testing builds on the previous level.


‘System Testing’ is the next level of testing. It focuses on testing the system as a whole.


This article attempts to take a close look at the System Testing Process and analyze:
Why System Testing is done? What are the necessary steps to perform System Testing? How to make it successful?


How does System Testing fit into the Software Development Life Cycle?

In a typical Enterprise, ‘unit testing’ is done by the programmers. This ensures that the individual components are working OK. The ‘Integration testing’ focuses on successful integration of all the individual pieces of software (components or units of code).


Once the components are integrated, the system as a whole needs to be rigorously tested to ensure that it meets the Quality Standards.


Thus the System testing builds on the previous levels of testing namely unit testing and Integration Testing.


Usually a dedicated testing team is responsible for doing ‘System Testing’.


Why System Testing is important?

System Testing is a crucial step in Quality Management Process.


........- In the Software Development Life cycle System Testing is the first level where
...........the System is tested as a whole
........- The System is tested to verify if it meets the functional and technical
...........requirements
........- The application/System is tested in an environment that closely resembles the
...........production environment where the application will be finally deployed
........- The System Testing enables us to test, verify and validate both the Business
...........requirements as well as the Application Architecture


Prerequisites for System Testing:

The prerequisites for System Testing are:
........- All the components should have been successfully Unit Tested
........- All the components should have been successfully integrated and Integration
..........Testing should be completed
........- An Environment closely resembling the production environment should be
...........created.


When necessary, several iterations of System Testing are done in multiple environments.


Steps needed to do System Testing:

The following steps are important to perform System Testing:
........Step 1: Create a System Test Plan
........Step 2: Create Test Cases
........Step 3: Carefully Build Data used as Input for System Testing
........Step 3: If applicable create scripts to
..................- Build environment and
..................- to automate Execution of test cases
........Step 4: Execute the test cases
........Step 5: Fix the bugs if any and re test the code
........Step 6: Repeat the test cycle as necessary


What is a ‘System Test Plan’?

As you may have read in the other articles in the testing series, this document typically describes the following:
.........- The Testing Goals
.........- The key areas to be focused on while testing
.........- The Testing Deliverables
.........- How the tests will be carried out
.........- The list of things to be Tested
.........- Roles and Responsibilities
.........- Prerequisites to begin Testing
.........- Test Environment
.........- Assumptions
.........- What to do after a test is successfully carried out
.........- What to do if test fails
.........- Glossary


How to write a System Test Case?

A Test Case describes exactly how the test should be carried out.


The System test cases help us verify and validate the system.
The System Test Cases are written such that:
........- They cover all the use cases and scenarios
........- The Test cases validate the technical Requirements and Specifications
........- The Test cases verify if the application/System meet the Business & Functional
...........Requirements specified
........- The Test cases may also verify if the System meets the performance standards


Since a dedicated test team may execute the test cases it is necessary that System Test Cases. The detailed Test cases help the test executioners do the testing as specified without any ambiguity.


The format of the System Test Cases may be like all other Test cases as illustrated below:


  • Test Case ID
  • Test Case Description:
    • What to Test?
    • How to Test?
  • Input Data
  • Expected Result
  • Actual Result

Sample Test Case Format:


Test Case ID


What To Test?


How to Test?


Input Data


Expected Result


Actual Result


Pass/Fail


.


.


.


.


.


.


.



Additionally the following information may also be captured:
........a) Test Suite Name
........b) Tested By
........c) Date
........d) Test Iteration (The Test Cases may be executed one or more times)


Working towards Effective Systems Testing:

There are various factors that affect success of System Testing:


1) Test Coverage: System Testing will be effective only to the extent of the coverage of Test Cases. What is Test coverage? Adequate Test coverage implies the scenarios covered by the test cases are sufficient. The Test cases should “cover” all scenarios, use cases, Business Requirements, Technical Requirements, and Performance Requirements. The test cases should enable us to verify and validate that the system/application meets the project goals and specifications.


2) Defect Tracking: The defects found during the process of testing should be tracked. Subsequent iterations of test cases verify if the defects have been fixed.


3) Test Execution: The Test cases should be executed in the manner specified. Failure to do so results in improper Test Results.


4) Build Process Automation: A Lot of errors occur due to an improper build. ‘Build’ is a compilation of the various components that make the application deployed in the appropriate environment. The Test results will not be accurate if the application is not ‘built’ correctly or if the environment is not set up as specified. Automating this process may help reduce manual errors.



5) Test Automation: Automating the Test process could help us in many ways:


a. The test can be repeated with fewer errors of omission or oversight


b. Some scenarios can be simulated if the tests are automated for instance
simulating a large number of users or simulating increasing large amounts
of input/output data


6) Documentation: Proper Documentation helps keep track of Tests executed. It also helps create a knowledge base for current and future projects. Appropriate metrics/Statistics can be captured to validate or verify the efficiency of the technical design /architecture.


Summary:

In this article we studied the necessity of ‘System Testing’ and how it is done.



Read Next: What is User Acceptance Testing?



 

 

Comments


anonymous said:

  excellent article
August 27, 2006, 9:07 am

swapna vadake said:

  very interesting tutorial on testing tools.It helped me a lot.
Thanks......
November 3, 2006, 6:22 am

sarath kumar said:

  Very nice, and lucidly explained......
November 8, 2006, 1:24 am

Nandita said:

  Excellent job.......Thank you
December 13, 2006, 2:23 pm

krishna reddy said:

  This is Really good and very helpful article which gives most of the info abt system testing ...Nice work...
January 4, 2007, 12:43 am

Vivek Kulshrestha said:

  Unit Testing-->integration testing -->System Testing, It is the normal flow that we follows in every SDLC ,Is mean every type of application testing is System testing...(UI Testing).
May 2, 2007, 4:28 am

Satish Singh said:

  good to read.
September 26, 2007, 3:50 am

Manoj Jaiswal, QA, QSPL,PUNE said:

  its really very good to gain knowledge from above doc.
September 28, 2007, 8:08 am

Arif said:

  Information is really helpful to all...............Freshers and experianced
October 22, 2007, 5:13 am

borhan said:

  hi,plz give me sample of test,thanks.
April 7, 2008, 6:59 am

john said:

  i m writing thesis on "system testing and validation"
can anyone can write me Objective, scope and limitations for this topic ?
January 1, 2010, 9:50 am

Post Your Comment:

Members Please Login
Your Name:*
e-mail ID:(required for notification)*
Image Verification: 
 
 Subscribe    

Sponsored Links

 

Subscribe via RSS


Get Daily Updates via Subscribe to Exforsys Free Training via email


Get Latest Free Training Updates delivered directly to your Inbox...

Enter your email address:


 

Subscribe to Exforsys Free Training via RSS
 

 
Partners -  Privacy and Legal Policy -  Site News -  Contact   Sitemap  

Copyright © 2000 - 2010 exforsys.com. All Rights Reserved

Page copy protected against web site content infringement by Copyscape