
Key Comparison
| Feature | Top-Down | Bottom-Up |
|---|---|---|
| Direction | Top-level to submodules | Submodules to top-level |
| Tooling | Uses Stubs (called programs) | Uses Drivers (calling programs) |
| Main Advantage | Early prototype/design validation | Early core/utility validation |
| Complexity | Generally simpler to implement | More complex and data-intensive |
| Critical Flaws | Caught at the top levels | Caught at the foundation |
| S. No. | Black Box Testing | Gray Box Testing | White Box Testing |
|---|---|---|---|
| 1. | This testing has Low granularity(details, scope, fine-grained). | This testing has a medium level of granularity. | This testing has high-level granularity. |
| 2. | It is done by end-users and also by the tester and developers. | It is done by end-users (called user acceptance testing) and also by testers and developers. | It is generally done by testers and developers. |
| 3. | Here, Internals are not required to be known. | Here, Internals relevant to the testing are known. | Here, the Internal code of the application and database is known. |
| 4. | It is likely to be less exhaustive than the other two. | It is kind of in-between. | Most exhaustive among all three. |
| 5. | It is based on requirements, and test cases on the functional specifications, as the internals are not known. | It provides better variety/depth in test cases on account of high-level knowledge of the internals. | It can exercise code with a relevant variety of data. |




