| You
are here: Freetutes.com
> Systems
Analysis and Design
System Testing
Testing is the major quality control measure employed during software development.
Its basic function is to detect errors in the software. During requirement analysis
and design, the output is a document that is usually textual and non-executable.
After the coding phase, computer programs are available that can be executed for
testing phases. This implies that testing not only has to uncover errors introduced
during coding, but also errors introduced during the previous phases. Thus, the
goal of testing is to uncover requirement, design or coding errors in the programs.
Consequently, different levels of testing are employed. The starting point
of testing is unit testing. In this a module
is tested separately and is often performed by the coder himself simultaneously
with the coding of the module. The purpose is to execute the different parts of
the module code to detect coding errors. After this the modules are gradually
integrated into subsystem, which are then integrated themselves eventually form
the entire system. During integration of modules, integration
testing is performed. The goal of this testing is to detect design errors,
while focusing on testing the interconnection between modules. After the system
is put together, system testing is performed. Here the system is tested against
tech system requirements to see if all the requirements are met and the system
performs as specified by the requirements. Finally, acceptance testing is performed
to demonstrate to the client, on the real life data of the client, the separation
of the system.
For testing to be successful, proper selection of test cases is essential.
There are two different approaches to selecting test cases-functional testing
and structural testing. In functional testing the software for the module to be
tested is treated as black box, and then test cases are decided based on the specifications
of the system or module. For this reason, this form of testing is also called
"black box testing". The focus
is on testing the external behavior of the system. In structural testing the test
cases are decided based on the logic of the module to be tested. Structural testing
is sometimes called "glass box testing". Structural testing is used
for lower levels of testing and functional testing is used for higher levels.
Testing is an extremely critical and time-consuming activity. It requires proper
planning of the overall testing process. Frequently the testing process starts
with the test plan. This plan identifies all the testing related activities that
must be performed and specifies the schedule, allocates the resources, and specify
guidelines for testing. The test plan specifies manner in which the modules will
integrate together. Then for different test units, a test case specification document
is produced, which lists all the different test cases, together with the expected
outputs, that will be used for testing. During the testing of the unit, the specified
test cases are executed and actual result is compared with the expected output.
The final output of the testing phases is to the text report and the error report,
or set of such reports (one of each unit is tested). Each test report contains
the set of such test cases and the result of executing the code with these test
cases The error report describes the errors encountered and action taken to remove
those errors.
System testing is explained further in the chapter entitled "Testing
and Quality Assurance"
Related Topics
See Also
<<
Previous Page | Contents
| Next Page >>
|