Under Static Testing code is not executed. Rather it manually checks the code, requirement documents, and design documents to find errors. Hence, the name “static”.
Main objective of this testing is to improve the quality of software products by finding errors in early stages of the development cycle. This testing is also called as Non-execution technique or verification testing.
Static testing involves manual or automated reviews of the documents. This review, is done during initial phase of testing to catch defect early in STLC. It examines work documents and provides review comments
Work document can be of following:
Under Dynamic Testing code is executed. It checks for functional behavior of software system , memory/cpu usage and overall performance of the system. Hence the name “Dynamic”
Main objective of this testing is to confirm that the software product works in conformance with the business requirements. This testing is also called as Execution technique or validation testing.
Dynamic testing executes the software and validates the output with the expected outcome. Dynamic testing is performed at all levels of testing and it can be either black or white box testing.
|Static Testing||Dynamic Testing|
|1||It’s testing of without executing of the Software.||It’s testing that involves the execution of the Software.|
|2||In Static Testing software are examined manually and some Static analysis tool used.||In Dynamic Testing software executed by giving set of inputs,examined it’s output and compared what is expected.|
|3||Static Testing can start early in the life cycle.Eg: By Verifying User Requirements.||Dynamic testing can start after development of software components.|
|4||Types of defect find in Static testing are : Missing requirements, Desgin defect ,Syntax Error etc.||Types of defect find in dynamic testing are : Variables not constant ,checking if output from the expected values.|
|5||Types of Static Testing : Review ,Inspection , Walk-through.||Types of Dynamic Testing: Unit testing,Integartion testing, System Testing, Acceptance Testing.|
|6||Static Testing find bug before you compile.||Dynamic testing find bug after compilation, linking.|
|7||Static Testing is about prevention.||Dynamic Testing is about cure.|
|8||Static Testing is most cost effective than Dynamic Testing.||Dynamic Testing not Cost effective as compare to Static Testing|
|9||Static Testing done in the verification stage.||Dynamic Testing done in validation stage.|
|10||Static Testing gives 100% statement coverage.||Dynamic Testing does not give 100% statement coverage.|