Asset Management Software Header Gif

 Software Testing Basics

 

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.