Unit testing helps to eliminate uncertainty in the units themselves and can
be used in a bottom-up testing style approach. By testing the parts of a program
first and then testing the sum of its parts, integration testing becomes much
easier.
A heavily debated matter exists in assessing the need to perform manual
integration testing. While an elaborate hierarchy of unit tests may seem to have
achieved integration testing, this presents a false sense of confidence since
integration testing evaluates many other objectives that can only be proven
through the human factor.
Some argue that given a sufficient variety of test
automation systems, integration testing by a human test group is unnecessary.
Realistically, the actual need will ultimately depend upon the characteristics
of the product being developed and its intended uses. Additionally, the human or
manual testing will greatly depend on the availability of resources in the
organization.