Often testing is regarded as a dynamic analysis of a software. Yet while writing my thesis, the reviewer noted to me that dynamic analysis is about analyzing the program behind the scenes - e.g. profiling and that it is not the same as testing because its "analysis" which looks inside and observes.
I know that "static analysis" is not testing, should we then separate this "dynamic analysis" also from testing? Some books do refer to dynamic analysis in this sense. I would maybe say that testing is a one mean of dynamic analysis?

As for testing definitions:

IEEE 829 broadens the idea to “analyzing,” thus including “static testing.” And ISTQB takes the full step and includes both “dynamic and static.” Testing is both dynamic and static.

So maybe it is just a matter of semantics? If testing is considered to be an analysis, then its both static and dynamic analysis is a testing approach.

1 Answer 1


Perhaps a good analogy is that (manual) testing is to dynamic analysis what code reviews are to static analysis. Both manual testing and dynamic analysis rely on the behaviour of code as it is executed to find problems.

But testing is not a means for dynamic analysis. For starters, dynamic analysis is automated. It also helps you observe behaviours that are not easily seen otherwise, such as memory usage and profiling. Testing, on the other hand, helps you assess qualities like usability and presentation, things you cannot ask a dynamic analysis tool to help you with.

  • 1
    Hmm so how would you relate dynamic analysis and testing (technique, method)? Lets consider dynamic analysis tools separately. Kinda confusing that dynamic analysis is often called just testing.
    – John V
    Nov 14, 2012 at 22:18
  • The terminology can be confusing. Manual testing and dynamic program analysis are related in that they are both quality assurance efforts and in that they depend on executing the program to work, but as I said above, they each achieve goals that the other could not. Nov 14, 2012 at 22:31
  • Well, another confusion..isnt that Quality control? I so hate this subject..
    – John V
    Nov 14, 2012 at 23:12
  • I believe "quality control" refers to efforts to ensure a consistent level of quality in a production line, and it has an industrial connotation. "Quality assurance" is more commonly used in software development. I hope your reviewers don't get too caught up on this---at that level it's mostly splitting hairs, in my opinion. Nov 14, 2012 at 23:16
  • The thing is that many SQA books do distinct between QC and QA. QC is often considered to be testing, but it depends on the author.
    – John V
    Nov 14, 2012 at 23:45

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.