image.png

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.

image.png

🧠 One-Line Memory Hooks (SUPER USEFUL)

image.png

image.png

image.png

image.png

software development models