Search your topic here

Software Static and Dynamic Analysis

Static Analysis and  Dynamic Analysis in Software Testing:

A VIDEO LECTURE ON SOFTWARE STATIC AND DYNAMIC ANALYSIS



    STATIC ANALYSIS:


    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.



    DYNAMIC ANALYSIS:


    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.

    LEAVE A REPLY










    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.