What is the difference between static and dynamic testing?




Q: What is the difference between static and dynamic testing?

A: Difference number 1: Static testing is about prevention, dynamic testing is about cure.

Difference number 2: The static tools offer greater marginal benefits.

Difference number 3: Static testing is many times more cost-effective than dynamic testing.

Difference number 4: Static testing beats dynamic testing by a wide margin.

Difference number 5: Static testing is more effective!

Difference number 6: Static testing gives you comprehensive diagnostics for your code.

Difference number 7: Static testing achieves 100% statement coverage in a relatively short time, while dynamic testing often often achieves less than 50% statement coverage, because dynamic testing finds bugs only in parts of the code that are actually executed.

Difference number 8: Dynamic testing usually takes longer than static testing. Dynamic testing may involve running several test cases, each of which may take longer than compilation.

Difference number 9: Dynamic testing finds fewer bugs than static testing.

Difference number 10: Static testing can be done before compilation, while dynamic testing can take place only after compilation and linking.

Difference number 11: Static testing can find all of the followings that dynamic testing cannot find: syntax errors, code that is hard to maintain, code that is hard to test, code that does not conform to coding standards, and ANSI violations.


______________________________________________________

Copyright 2001-2011 by Rob Davis PE. All rights are reserved. No part of

this document may be reproduced in any form whatsoever

without written permission from Rob Davis, PE.

http://www.softwaretestengineer.com

http://www.robdavispe.com