Dynamic Software Testing: An Essential Stage
in the Software Testing Process
Development of any software application involves
repetitive building and testing of software until the software
is error free and passes successfully the tests for quality,
performance, security, etc. One of the types of software
testing is dynamic testing or dynamic analysis. This is a term
used in software engineering to describe the testing of the
dynamic behavior of code. The dynamic analysis refers to the
examination of the physical response from the system to
variables that are not constant and change with time. The
dynamic software testing indicates whether the code is correct
or has errors. These are the Validation activities.
The dynamic behavior of any application can be illustrated
by the following.
 |
The system may be functioning satisfactorily with a
certain flow of activity. Any sudden increase in
the level of activity has a negative effect on the
system and the performance decreases. |
 |
The application may load quickly as a standalone.
However, when more and more applications are loaded
the system will get slower, hang or fail
altogether. |
The dynamic software testing is designed to detect such
malfunctioning given above. Dynamic Testing involves working
with the software, giving input values and checking if the
output is as given in the requirements specifications. The
output as compared with the requirements will indicate the
correct functioning of the software or otherwise. Any deviation
in this indicates the presence of bug and the bug has to be
cleared. Dynamic testing is also used to test large exterior
problems.
In dynamic testing the software must actually be compiled
and run and this is in contrast to static testing wherein there
is no need to run the system. Dynamic testing is the validation
portion of Verification and Validation. Validation part is
testing to make sure they are making the right product.
Validation or dynamic analyses is associated with the
execution, and could be related to the execution of test cases
or testing in general.
Unit Tests, Integration Tests, System Tests and Acceptance
Tests form the Dynamic Testing methodologies. Briefly, these
testing types are as follows.
 |
Unit testing – This is the method of making sure
that smallest unit of your software is working
properly in isolation. In this, testing is carried
out on the minimal software component or module.
They get integrated once the module testing is
completed. |
 |
Integration testing – The objective of Integration
testing is to make sure that the interaction of two
or more components produces results that satisfy
functional requirement. This test checks for any
defects in the interfaces and interaction between
integrated modules. The integrated software should
function as a group in the same way as its
components. |
 |
System testing – System testing is the most
important phase of complete testing cycle. This
phase is started after the completion of other
phases like Unit, Component and Integration
testing. During the System Testing phase
performance testing, load testing, stress testing,
Scalability etc. are also performed. Non functional
testing is normally carried out during the System
Testing phase only. |
 |
Acceptance testing - Acceptance Testing is the
formal testing conducted to determine whether a
software system satisfies its acceptance criteria
and to enable buyer to determine whether to accept
the system or not. |
The above tests contribute to make up what is broadly
referred to as dynamic testing.
|