Unit 5 SE
Unit 5 SE
SATYANANDARAM N
Why debugging is needed
Program analysis tool
Integrating testing
Identifying errors in a program code and then
fix them up are known as debugging
Approaches for debugging:
▪ Brute Force Method:
▪ This is the least efficient common method of debugging
▪ The program is loaded with print statements to print the
intermediate values which help to find the error
statement
Approaches for debugging:
▪ Backtracking:
▪ Beginning from the statement at which an error
symptom has been observed
▪ The source code is traced backwards until the error is
discovered
▪ Cause Elimination method:
▪ Based on the list of causes which have contributed the
error symptom is developed
▪ we have to prepare test case for error and apply it to
eliminate the error
Debugging is often carried out by
programmers
It requires a deep understanding of the
program design
Partial understanding of the system design
and implementation may require more effort
to debug
After every round of error-fixing, regression
testing must performed
An automated tool that takes code as input
and produces reports such as its size,
complexity and programming standards
Two broad categories
▪ Static Analysis tools
▪ compilers
▪ Dynamic Analysis tools
▪ Testing with full test suite
▪ Post execution analysis and reports
Involves integrating components to create a
system or sub-system.
May involve testing an incremental procedure
to be delivered to the customer.
Two phases:
▪ Integration testing - the testing team can have
the access over source code. The system
components will tested and integrated
accordingly.
▪ Release testing - the test team test the complete
system to be delivered as a black-box.
Involves with building a system from its
components and testing it to fix the problems
during the components interactions.
Top-down integration
▪ Develop the skeleton of the system and populate
it with components.
Bottom-up integration
▪ Integrate infrastructure components then add
functional components.
To simplify the error localisation, systems
should be integrated as incrementally.
A T1
T1
A
T1 T2
A B
T2
T2 B T3
T3
B C
T3 T4
C
T4
D T5