单选题4.7 安全架构16 / 18
正在加载题目…
系统集成项目管理工程师 · 第三版 · 第4章 信息系统架构
完整性约束单独测试都通过,为什么组合后仍会冲突?
18 道章节练习题
答案与解析
正确答案 C
同一个非空金额不可能既不低于80,又不高于70,两条规则的允许范围没有交集。业务本来允许此类订单,约束组合却把它们全部挡住,应该核对规则冲突,选C。执行得更快不能解决逻辑矛盾。
第一条单测用90元能过,第二条单测用60元能过,但不能拿两份不同输入的通过结果证明同一订单可以同时通过。应把完整业务场景放进测试,检查组合是否允许预期合法数据,同时拒绝非法数据。如果底价只针对非促销订单,或者促销上限录入错误,都应由业务方确认后调整;不能为了让测试变绿就擅自删掉任意一条。修正规则后,再补边界、例外场景和性能测试。
选项分析
- A
- 索引可能影响某些访问性能,但不能让互不相容的金额范围出现交集,当前首要问题是规则逻辑。
- B
- 所有适用的约束都应得到满足,不能通过检查顺序跳过另一条约束,这会改变业务规则的含义。
- C
- 把同一业务场景放到完整规则集合中检查,才能发现隐含冲突,并据业务确认作有依据的修正。
- D
- 单项规则可满足不等于组合可满足,已有两份报告没有覆盖同一促销订单需要同时满足两项的情况。
容易混淆的地方
用不同输入分别通过各项检查后,就认定整套规则可用;忽视合法业务场景能否真正走通。
再巩固一步
- 约束测试既要问坏数据能否被挡住,也要问应当合法的数据是否被误拦;两面都要验证。
原创章节练习题 · 第三版 · 《系统集成项目管理工程师教程》第3版 · 4.7.5 · 纸书第185、186页查看完整题目与详解