跳到正文

平成22年度 秋期 ITパスポート試験 問48

这道题的解析和你的作答记录。

問48
頻出度★★★

システム開発プロセスを要件定義, 外部設計, 内部設計, プログラミングに分け, テストの種類を運用テスト, 結合テスト, システムテスト, 単体テストに分けたとき, 図の a~c に入れる字句の適切な組合せはどれか。 図は, 左側にシステム開発プロセスの工程, 右側に対応するテストの種類を配置したものである。破線の矢印 (←---→) が「対応する工程」を, 実線の矢印 (←——) が「システム開発プロセスの流れ」を示す。

システム開発プロセス (左)対応するテスト (右)
要件定義c
外部設計b
内部設計a
プログラミング単体テスト

実線の矢印は, 左側を 要件定義 → 外部設計 → 内部設計 → プログラミング と下向きに進み, 続いて右側を 単体テスト → a → b → c と上向きに進む。破線の矢印は, 左右で「対応する工程」どうしを結んでいる。

出典 平成22年度 秋期 ITパスポート試験 問48
解説

問 48

  • 错误ア

    a=运行测试,b=集成测试,c=系统测试。由图导出的对应关系是 a=集成测试,b=系统测试,c=运行测试,因此 a、b、c 三处的对应全部错位(本应放在 a 的集成测试被放到了 b,本应放在 b 的系统测试被放到了 c,本应放在 c 的运行测试被放到了 a)。尤其是应当最后实施的运行测试出现在最下层的 a,这一点是决定性的,与右侧实线向上的流向(单元 → 集成 → 系统 → 运行)相矛盾。而且 a 是用虚线与 内部设计 相连的,但运行测试验证的并不是内部设计,而是 需求定义 所确定的业务要求,因此也不符合虚线所表示的对应关系。

  • イ

    正解 正确答案是 イ(a=集成测试,b=系统测试,c=运行测试)。图表示的是 V 字模型(V 模型),虚线表示「对应的工序」,也就是把左侧的各开发工序与验证该工序所确定内容的右侧测试连接起来。首先,已经填好的 编程⇔单元测试 是线索:单元测试用于确认编程做出的各个模块是否按规格正常工作。把同样的思路向上扩展。用虚线与 内部设计 相连的 a 是 集成测试。内部设计确定程序的内部结构以及模块之间的数据传递(接口),因此与之配对的是把模块组合起来、确认其协作情况的集成测试。用虚线与 外部设计 相连的 b 是 系统测试。外部设计确定用户可见的画面、报表、功能以及性能要求,因此与之配对的是贯穿整个系统、确认这些内容是否符合规格的系统测试。用虚线与 需求定义 相连的 c 是 运行测试。需求定义确定业务上应当满足哪些要求,因此与之配对的是在接近实际业务流程和真实数据的环境中确认用户能否使用的运行测试。右侧实线的向上箭头也依次为 单元测试 → 集成测试 → 系统测试 → 运行测试,与验证范围从模块 → 模块之间 → 整个系统 → 整个业务逐级扩大的实施顺序一致。

  • 错误ウ

    a=系统测试,b=运行测试,c=集成测试。这一项同样三处对应全部错位。尤其是 c=集成测试 是错误的:c 用虚线与 需求定义 相连,但集成测试验证的是 内部设计 所确定的模块之间的接口,并不用于确认业务要求。沿着右侧的实线来看,实施顺序变成 单元 → 系统 → 运行 → 集成,范围最窄的集成测试反而排在最后,这一点也违反了 V 字模型中验证范围逐级扩大的原则。

  • 错误エ

    a=系统测试,b=集成测试,c=运行测试。c=运行测试 是正确的,但 a 与 b 互换了。a 用虚线与 内部设计 相连,所以应为 集成测试;b 用虚线与 外部设计 相连,所以应为 系统测试。验证 内部设计(程序的内部结构、模块之间的数据传递)的是集成测试,验证 外部设计(用户可见的功能、画面、性能)的是系统测试,エ 正是弄反了这一对应关系。右侧的实施顺序也变成 单元 → 系统 → 集成,形成先确认整个系统、再确认模块之间这种不自然的顺序。

ここがポイント
  • V 字模型的工序对应关系:需求定义⇔运行测试、外部设计⇔系统测试、内部设计⇔集成测试、编程⇔单元测试。要记住这种一一对应的关系——左侧各工序所确定的内容,由处于左右对称位置的测试来验证。
  • 测试按范围从窄到宽、自下而上实施:单元测试(单个模块)→ 集成测试(模块之间的协作)→ 系统测试(整个系统的功能与性能)→ 运行测试(在接近实际业务的环境中由用户确认)。只要知道这个顺序,就能同时从虚线的对应关系和实线向上的流向这两方面缩小选项范围。
用語
解答問48イ
练这一题

作答记录