More Questions from System Analysis and Design

In practice, coding and testing of modular software are typically performed in which order at the component level?

Computer Science System Analysis and Design Difficulty: Easy
Choose an option
  • A
    Top-down manner (test highest modules first)
  • B
    Bottom-up manner (unit test lower-level modules first, then integrate)
  • C
    Ad hoc manner without a plan
  • D
    Cross-sectional manner across unrelated features
  • E
    Only after full system deployment

Answer

Correct Answer: Bottom-up manner (unit test lower-level modules first, then integrate)

Explanation

Introduction / Context:While design commonly follows a top-down decomposition, implementation and testing at the code level usually proceed bottom-up. Developers build and unit test foundational components, then integrate them progressively into higher-level modules, ensuring stability and isolating defects early.

Given Data / Assumptions:

  • System is decomposed into modules with clear interfaces.
  • Lower-level utilities and services have few dependencies upward.
  • Integration testing becomes simpler when reliable building blocks exist.

Concept / Approach:Bottom-up implementation starts with leaf modules. Each unit is tested with drivers or test harnesses. As confidence grows, modules are combined, and higher-level behavior is verified. This order localizes defects, shortens feedback cycles, and avoids blocking on incomplete upper-layer designs.

Step-by-Step Solution:

1) Implement and unit test utility and core library functions. 2) Build and test intermediate modules that call the utilities. 3) Integrate into top-level orchestrators and test end-to-end.

Verification / Alternative check:Top-down testing without stable lower layers often requires stubs and yields fragile results; bottom-up reduces reliance on scaffolding and exposes foundational defects early.

Why Other Options Are Wrong:

Pure top-down testing first lacks stable dependencies. Ad hoc or cross-sectional lacks discipline and traceability. Waiting until after deployment is unacceptable risk.

Common Pitfalls:Skipping harnesses or mocking leads to poor coverage; failing to define interface contracts causes integration churn.

Final Answer:Bottom-up manner (unit test lower-level modules first, then integrate).

Discussion & Comments
No comments yet. Be the first to comment!
Join Discussion