Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

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.

share|improve this question
add comment

1 Answer

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.

share|improve this answer
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. –  user970696 Nov 14 '12 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. –  Jorge Aranda Nov 14 '12 at 22:31
    
Well, another confusion..isnt that Quality control? I so hate this subject.. –  user970696 Nov 14 '12 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. –  Jorge Aranda Nov 14 '12 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. –  user970696 Nov 14 '12 at 23:45
show 7 more comments

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

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