bottom-up

advertisement
H.W 3
Software Engineering
Tariq ali almalki
200420467
1. What are the relative advantages and disadvantages between topdown and bottom-up integration testing?
Top-down integration
Develop the skeleton of the system and populate it with components.
Bottom-up integration
Integrate infrastructure components then add functional components.
2.
Explain why interface testing is necessary given that individual
units have been extensively validated through unit testing and
program inspection
Objectives are to detect faults due to interface errors or invalid assumptions
about interfaces.
Particularly important for object-oriented development as objects are
defined by their interfaces.
3. Explain why program inspection are effective technique for
discovering errors in a program. What types of error are unlikely to
be discovered through inspection?
a) Checklist of common errors should be used to drive the
inspection.
b) Error checklists are programming language dependent and
reflect the characteristic errors that are likely to arise in the
language.
types of error :
1-Data faults
2-Control faults
3-Input/output faults
4-Interface faults
5-Storage management faults
6-Exception management faults
4. Explain why the savings in cost from reusing existing software is
not simply proportional to the size of the components that are
reused.
The cost savings from reusing components are the cost savings from not having to
write (and test) that component. These savings are more-or-less proportional to
the component size: the larger the component, the greater the cost saving. But
one must also consider the new costs associated with reuse: the costs of searching
for and understanding the components chosen for reuse, and the costs of adapting
other parts of the system to accommodate the reused components. These costs do
not scale with the size of the component. For small components, these new costs
may be considerable compared to any savings. This reduces the total cost saving,
perhaps even making reuse more expensive than creating the component from
scratch.
5. When would you recommend against the use of an agile method for
developing a software system?
Agile methods are probably best suited to small/medium-sized business systems
or PC products.
Download