6.system Testing

You might also like

Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 4

CHAPTER 6 SYSTEM TESTING

6. SYSTEM TESTING

System Testing is the testing of a complete and fully integrated software product.
Usually, software is only one element of a larger computer-based system. Ultimately, software is
interfaced with other software/hardware systems. System Testing is actually a series of different
tests whose solitary purpose is to exercise the full computer-based system.

Verify in System Testing

System Testing involves testing the software code for following:

 Testing the fully integrated applications including external peripherals in order to check
how components interact with one another and with the system as a whole. This is also
called End to End testing scenario.
 Verify thorough testing of every input in the application to check for desired outputs.
 Testing of the user's experience with the application.

That is a very basic description of what is involved in system testing. You need to build detailed
test cases and test suites that test each aspect of the application as seen from the outside without
looking at the actual source code.

Software Testing Hierarchy

As with almost any software engineering process, software testing has a prescribed order
in which things should be done. The following is a list of software testing categories arranged in
chronological order. These are the steps taken to fully test new software in preparation for
marketing it:

 Unit testing - Testing performed on each module or block of code during


development. Unit Testing is normally done by the programmer who writes the code.
 Integration testing - Testing done before, during and after integration of a new module
into the main software package. This involves testing of each individual code module.
One piece of software can contain several modules which are often created by several
different programmers. It is crucial to test each module's effect on the entire program
model.

ONLINE VOTING SYSTEM 45


CHAPTER 6 SYSTEM TESTING

 System testing - Testing done by a professional testing agent on the completed software
product before it is introduced to the market.
 Acceptance testing - Beta testing of the product done by the actual end users.

Unit Testing

In unit testing each module is tested individually. It focuses the verification efforts on the
smallest unit of software in the module. This is known as module testing .The goal of unit testing
is to isolate each part of the program and show that the individual parts are correct. A unit test
provides a strict, written contract the piece of code must satisfy.

Unit test cases embody characteristics that are critical to the success of the unit. These
characteristics can indicate appropriate/inappropriate use of unit as well as negative behaviours
that are to be trapped by the unit. A unit test case, in and of itself, documents these critical
characteristic, although many software development environments do not rely solely upon code
to document the product in development.

Integration Testing

Integration testing is the phase of software testing in which individual software modules
are combined and tested as a group. In this project the parts of a module are tested first and then
testing the sum of its parts, integration testing is done successfully.

Acceptance Testing
User Acceptance Testing is a critical phase of any project and requires significant
participation by the end user. It also ensures that the system meets the functional requirements.

Black Box Testing

Black box testing is a method of software testing that tests the functionality of an
application as opposed to its internal structures or workings. Specific knowledge of the
application’s code internal structure and programming knowledge in general is not required.

Test cases are built around specifications and requirements, i.e., what the application is
supposed to do.

ONLINE VOTING SYSTEM 46


CHAPTER 6 SYSTEM TESTING

It uses external descriptions of the software, including specifications, requirements, and


design to derive test cases.

This method of test can be applied to all levels of software testing: unit, integration,
functional, system and acceptance.

White Box Testing

White box testing is a method of software that tests internal structures or working of an
application, as opposed to its functionality (i.e. black box testing). In white box testing an
internal perspective of the system, as well as programming skills, are required and used to design
test cases.

The tester chooses inputs to exercise paths through the code and determine the
appropriate outputs. This is analogous to testing nodes in a circuit, e.g. In-Circuit Testing (ICT).

While white box testing can be applied at the unit, integration and system levels of the
software testing process, it is usually done at the unit level.

Regression Testing

Regression testing is any type of software testing that seeks to uncover software
regression. Such regression occurs whenever software functionality, that was previously working
correctly, stops working as intended.

Typically, regressions occurs as an unintended consequence of program changes, when


the newly developed part of the software collides with the previously existing.

Common methods of regression testing include re-running previously run tests and
checking whether previously fixed faults have re-emerged.

ONLINE VOTING SYSTEM 47


CHAPTER 6 SYSTEM TESTING

Validation Testing

At the culmination of Black-box testing, validation test begins. Validation testing can be
defined in many ways but a simple definition is that validation succeeds when the software
functions in a manner that can be reasonably used. After conducting the validation testing, one of
the two possible condition exists whether the project performance conform to specifications or
not. Depending on the output of this testing the project is accepted or rejected.

ONLINE VOTING SYSTEM 48

You might also like