UNIT IV - Part 2
UNIT IV - Part 2
UNIT IV - Part 2
KCS-601
SOFTWARE ENGINEERING
PART-II
Software Engineering
Syllabus
Testing Types
Static Testing Strategies
CSE@HCST 5/7/2024
Differences Between Walk-throughs and
Inspections/Reviews
The basic difference between the two is that a walk-
through is less formal and has only a few steps,
whereas inspections and reviews are more formal
and logically sequential with many steps.
Both Processes are undertaken before actual
development, and hence they are conducted on
documents, such as a development plan, RDD and SRS
and design document to examine their authenticity,
completeness, correctness, and accuracy.
Both are costly but the cost incurred is
comparatively much lower than the cost of repair at
a much later stage in the development cycle.
Programming Errors
Arithmetic Bugs-
Division by zero.
Arithmetic overflow or underflow.
Loss of arithmetic precision due to rounding or numerically unstable
algorithms.
Logic Bugs-
Infinite loops and infinite recursion.
Off by one error, counting one too many or too few when looping.
Syntax Bugs-
Use of the wrong operator, such as performing assignment instead of equality
test.
For example, in some languages x=5 will set the value of x to 5 while x==5 will
check whether x is currently 5 or some other number.
Well-known Bugs-
Year 2000 problem(Y2K bug)
Testing and Debugging
◼ Testing
To determine if a code contains errors.
◼ Debugging
To locate the error and fix it.
Testing Error?
Yes
Debug
DEBUGGING
Introduction/Definition-
Debugging Means identifying, locating, and correcting the bugs usually
by running the program.
It is an extensively used term in programming.
These bugs are usually logical errors.
CSE@HCST 5/7/2024
DEBUGGING
Cause elimination.
Program slicing.
Fault-tree analysis.
Debugging Process
CSE@HCST 5/7/2024
Program Debugging
People think that program testing and debugging are the same thing.
Though closely related, they are two distinct processes.
Testing establishes the presence of errors in the program.
Debugging is the locating of those errors and correcting them.
Debugging Depends on the output of testing which tells the
programmer about the presence or absence of errors.
Debugging can be viewed as a Problem-Solving Process.
There is no standard method to teach how to debug a program.
The Debugger must be a skilled person who can easily understand the
errors by viewing the output.
The debugger must have knowledge of common errors, which occur
very often in a program.
Debugging Guidelines
CSE@HCST 5/7/2024