单元测试的目标与策略 — 软件工程选择题
题目
某函数模块 M 被上层类 C 调用,M 内部按条件调用外部服务 A 和 B。团队要为 M 开展单元测试并覆盖其分支。下列测试方案中最恰当的是( )。
A. 对 C、M、A、B 一起执行,保留 A、B 的真实服务,以验证 M 在真实环境中的表现
B. 用桩替代 A 和 B,用驱动调用 M,并针对 M 的分支设计用例,C 与 M 的交互留待集成测试
C. 用驱动替代 A 和 B,用桩调用 M,使 M 不依赖 C 即可验证 A、B 的正确性
D. 先对 C 做单元测试,再用桩替代 M,通过 C 调用桩来覆盖 M 的分支