题库系统集成项目管理工程师

系统集成项目管理工程师 · 第三版 · 第4章 信息系统架构

完整性约束单独测试都通过,为什么组合后仍会冲突?

18 道章节练习题
单选题4.7 安全架构16 / 18

业务已确认某类促销订单应允许成交。系统却同时要求这类订单的成交金额为非空、金额不低于80元、促销金额不高于70元。两条金额规则单独测试均通过,当前应优先()。

选择答案
未作答
答案与解析

正确答案 C

同一个非空金额不可能既不低于80,又不高于70,两条规则的允许范围没有交集。业务本来允许此类订单,约束组合却把它们全部挡住,应该核对规则冲突,选C。执行得更快不能解决逻辑矛盾。

第一条单测用90元能过,第二条单测用60元能过,但不能拿两份不同输入的通过结果证明同一订单可以同时通过。应把完整业务场景放进测试,检查组合是否允许预期合法数据,同时拒绝非法数据。如果底价只针对非促销订单,或者促销上限录入错误,都应由业务方确认后调整;不能为了让测试变绿就擅自删掉任意一条。修正规则后,再补边界、例外场景和性能测试。

选项分析

A
索引可能影响某些访问性能,但不能让互不相容的金额范围出现交集,当前首要问题是规则逻辑。
B
所有适用的约束都应得到满足,不能通过检查顺序跳过另一条约束,这会改变业务规则的含义。
C
把同一业务场景放到完整规则集合中检查,才能发现隐含冲突,并据业务确认作有依据的修正。
D
单项规则可满足不等于组合可满足,已有两份报告没有覆盖同一促销订单需要同时满足两项的情况。

容易混淆的地方

用不同输入分别通过各项检查后,就认定整套规则可用;忽视合法业务场景能否真正走通。

再巩固一步

  • 约束测试既要问坏数据能否被挡住,也要问应当合法的数据是否被误拦;两面都要验证。
原创章节练习题 · 第三版 · 《系统集成项目管理工程师教程》第3版 · 4.7.5 · 纸书第185、186页

练习小结

题目纠错

未发送。正式接收渠道尚未接通。

查看纠错信息