Search your topic here

Software Static and Dynamic Analysis

Static Analysis and  Dynamic Analysis in Software Testing:



    What is Static Analysis in Software Testing?

    • Static analysis involve software under test to detect possible defects before running the program.
    • During testing software is not in execution mode.
    • Static analysis is done after coding.
    • Static analysis can be performed by a person or a machine.
    • In Static analysis a “walk through” is made through source code to detect:
      • Noncomplying rules. (For example compiler which find lexical, syntactic, semantic mistakes).
      • To ensure proper coding standards are used to construct program.
    • Static analysis forced developers not to used risky or buggy parts of the programming language.

    What developers looks in Static Analysis in Software Testing?

    • Lines of Code
    • Proper nesting.
    • Comment frequency
    • Number of function calls
    • Cyclomatic complexity
    • Check of unit tests

    Which quality attributes are focus in Static analysis?

    • Reliability
    • Maintainability
    • Testability
    • Re-usability
    • Portability

    What are the Advantages of Static analysis ?

    • It can find defects in coding at exact location in source code.
    • It is easy to understand source code.
    • It allows fast defects fixing.
    • Defects can be found in starting of the development of software which reduces overall costing.
    • After Static analysis testing future test lest gives less defects compare to present test.
    • Some defects are easy to detect in Static analysis only, like:
      • Uncalled functions
      • Undeclared, unused variables
      • Unreachable code

    What are the Disadvantages of Static analysis ?

    • Time consuming if conducted manually (By Humans not machines).
    • Static analysis automated tools are good for code scan only.
    • Static analysis automated tools may produce false positive and negative.
    • Static analysis not work when software is in execution.


    What is Dynamic Analysis in Software testing?

    • Dynamic analysis is performed when software /coding is in execution.
    • Dynamic analysis often uses tools to perform testing.
    • Mostly unit testing is performed in Dynamic Testing.

    What are the advantages of Dynamic analysis ?

    • It can be performed for any application.
    • It finds defects in runtime environment.
    • It allows application analysis without accessing its source code.
    • Use of it validates Static analysis findings.
    • It finds defects which were not included in Static Analysis.

    What are the disadvantages of Dynamic Analysis?

    • Cannot guarantee that full source code is covered under testing.
    • Automated tools not ensure about security in testing.
    • Dynamic analysis automated tools may produce false positive and negative.
    • Dynamic analysis automated tools are good for code scan only.
    • Time consuming to fix the problem.
    • Difficult to find the exact location of defects.


    Related topics

    Please use contact page in this website if you find anything incorrect or you want to share more information about the topic discussed above.