This article needs additional citations for verification. (February 2023) |
In software development, dynamic testing (or dynamic analysis) is examining the runtime response from a software system to particular input (test case).
Tests can be run manually or via automation.
Unit testing, integration testing, System testing and acceptance testing are forms of dynamic testing.
In contrast to static testing, the software must runnable.
Evaluation
editProponents cite that dynamic testing:
- can identify weak areas in the runtime environment
- supports application analysis even when the tester cannot access the source code
- can identify vulnerabilities that are difficult to find via static testing
- can verify the correctness of static testing results
Critics cite that:
- Automated tools may give the wrong security, such as check everything
- Automated tools can generate false positives and negatives
- Dynamic testing is hard to track down the vulnerabilities in the code, and it takes longer to fix the problem, therefore, fixing bugs is expensive
See also
edit- Dynamic load testing
- Dynamic program analysis
- Time partition testing, a model-based testing methodology for the reactive test of dynamical or control systems.
- Daikon, a dynamic invariant generator.
References
edit- G.J. Myers, The Art of Software Testing, John Wiley and Sons, New York, New York, 1979.