0% found this document useful (0 votes)
275 views

System Testing

System testing is performed on the entire integrated software system to evaluate if it meets requirements. It tests in an environment similar to production. Key steps are creating test plans and cases, executing cases, fixing bugs, and retesting. Factors like test coverage, defect tracking, execution, build automation, and documentation impact success. Automating testing helps repeat tests with fewer errors and simulate scenarios.

Uploaded by

anil
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOC, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
275 views

System Testing

System testing is performed on the entire integrated software system to evaluate if it meets requirements. It tests in an environment similar to production. Key steps are creating test plans and cases, executing cases, fixing bugs, and retesting. Factors like test coverage, defect tracking, execution, build automation, and documentation impact success. Automating testing helps repeat tests with fewer errors and simulate scenarios.

Uploaded by

anil
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOC, PDF, TXT or read online on Scribd
You are on page 1/ 3

1

System Testing
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.
2
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:
o What to Test?
o How to Test?
• Input Data
• Expected Result
• Actual Result
3
Sample Test Case Format:

Test
What To How to Expected Actual
Case Input Data Pass/Fail
Test? Test? Result Result
ID
. . . . . . .

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.

___________________________________________________

You might also like