What is Dynamic Testing?
In Dynamic Testing Technique software is executed using a set of input values and its output is then examined and compared to what is expected. Dynamic execution is applied as a technique to detect defects and to determine the quality attributes of the code. Dynamic Testing and Static Testing are complementary methods, as they tend to find different types of defects effectively and efficiently. But as it does not start early in the Software Development Life Cycle hence it definitely increases the cost of fixing defects.
It is done during Validation Process evaluating the finished product.
Dynamic Techniques are subdivided into three more categories:
- Specification Based Testing : This includes both Functional Testing and Non-Functional Testing.
- Structure-Based Testing
- Experience Based Testing
Advantages of Dynamic Testing
- Considered High-Level Exercise: It can always find errors that static testing cannot find and that is the reason why it is considered as high-level exercise.
- Improves Quality: Executing the software leads to the chances of finding more bugs in the application, so it ensures error-free software to some extent.
Disadvantages of Dynamic Testing
- Time Consuming: It is a time-consuming task because its aim is to execute the application or software and as a result, more test cases are needed to execute.
- Increases cost of Product: It is not done early in the software life cycle and hence bugs fixed in later stages result in more cost.
- Execution Costly: It requires more manpower to complete the task.