DEBUGGING TECHNIQUE OF SOFTWARE TESTING BY:- SWATI KUSHWAHA
DEBUGGING  Debugging is the routine process of locating and removing computer program bugs, errors or abnormalities, which is methodically handled by software programmers via debugging tools.  Debugging checks, detects and corrects errors or bugs to allow proper program operation according to set specifications
DEBUGGING TECHNIQUES  Testing a program against a well-chosen set of input tests gives the programmer confidence that the program is correct. ... In other words, testing reveals the effects (or symptoms) of errors, not the cause of errors.
DEBUGGING PROCESS  Problem identification and report preparation.  Assigning the report to software engineer to the defect to verify that it is genuine.  Defect Analysis using modeling, documentations, finding and testing candidate flaws, etc.  Defect Resolution by making required changes to the system.  Validation of corrections.
DEBUGGING The debugging process starts as soon as code is written and continues in successive stages as code is combined with other units of programming to form a software product.
DEBUGGING APPROACHES In general, there are three categories for debugging approaches: 1. Brute Force 2. Backtracking 3. Cause Elimination
BRUTE FORCE  Take memory dumps, invoke run time traces, program is loaded with PRINT statements.  We hope that in the mass of information that is produced we will find a clue that can lead us to the cause of an error.  Least efficient and quite common.  More frequently leads to wasted effort and time.
BACKTRACKING  Can be used successful in small programs.  Beginning at the site where a symptom has been uncovered the source code is traced backward (manually) until the site of the cause is found.  Disadvantage: as the number of source line increases, the number of potential paths may become unmanageably large.  Cause Elimination
CAUSE ELIMINATION  Introduces the concept of binary partitioning.  Uses binary partitioning to reduce the number of locations potential where errors can exist  Isolate potential causes, devise cause hypotheses tests to isolate bug.
CHALLENGES OF DEBUGGING  The debugging process can be quite difficult and require as much work -- if not more -- than writing the code to begin with. The process can be especially challenging when:  The negative effect of the coding error is clear, but the cause is not.  The negative effect of the coding error is difficult to reproduce -- for example when web content contains drop down menus.  Dependencies are not clear, so fixing a coding error in one part of the program accidentally introduces new errors in other parts of the program.
Presentation on debugging

Presentation on debugging

  • 1.
    DEBUGGING TECHNIQUE OF SOFTWARETESTING BY:- SWATI KUSHWAHA
  • 2.
    DEBUGGING  Debugging isthe routine process of locating and removing computer program bugs, errors or abnormalities, which is methodically handled by software programmers via debugging tools.  Debugging checks, detects and corrects errors or bugs to allow proper program operation according to set specifications
  • 3.
    DEBUGGING TECHNIQUES  Testinga program against a well-chosen set of input tests gives the programmer confidence that the program is correct. ... In other words, testing reveals the effects (or symptoms) of errors, not the cause of errors.
  • 4.
    DEBUGGING PROCESS  Problemidentification and report preparation.  Assigning the report to software engineer to the defect to verify that it is genuine.  Defect Analysis using modeling, documentations, finding and testing candidate flaws, etc.  Defect Resolution by making required changes to the system.  Validation of corrections.
  • 5.
    DEBUGGING The debugging processstarts as soon as code is written and continues in successive stages as code is combined with other units of programming to form a software product.
  • 6.
    DEBUGGING APPROACHES In general,there are three categories for debugging approaches: 1. Brute Force 2. Backtracking 3. Cause Elimination
  • 7.
    BRUTE FORCE  Takememory dumps, invoke run time traces, program is loaded with PRINT statements.  We hope that in the mass of information that is produced we will find a clue that can lead us to the cause of an error.  Least efficient and quite common.  More frequently leads to wasted effort and time.
  • 8.
    BACKTRACKING  Can beused successful in small programs.  Beginning at the site where a symptom has been uncovered the source code is traced backward (manually) until the site of the cause is found.  Disadvantage: as the number of source line increases, the number of potential paths may become unmanageably large.  Cause Elimination
  • 9.
    CAUSE ELIMINATION  Introducesthe concept of binary partitioning.  Uses binary partitioning to reduce the number of locations potential where errors can exist  Isolate potential causes, devise cause hypotheses tests to isolate bug.
  • 10.
    CHALLENGES OF DEBUGGING The debugging process can be quite difficult and require as much work -- if not more -- than writing the code to begin with. The process can be especially challenging when:  The negative effect of the coding error is clear, but the cause is not.  The negative effect of the coding error is difficult to reproduce -- for example when web content contains drop down menus.  Dependencies are not clear, so fixing a coding error in one part of the program accidentally introduces new errors in other parts of the program.