2018软件评测师下午试卷解析:判定覆盖与控制流图详解

需积分: 9 3 下载量 45 浏览量 更新于2024-07-15 收藏 269KB DOCX 举报
本资源提供了2018年下半年软件评测师考试下午部分的试题及答案,主要聚焦于软件测试理论和实践应用。考试内容涉及C语言程序分析和白盒测试技术。 第一部分,关于一个C程序的测试题组(共15分): 1.1 逻辑条件与判定覆盖(3分):题目要求考生设计满足判定覆盖的逻辑条件,即对程序中的3个判定表达式分别赋予“真”和“假”的值,以确保所有可能的分支至少执行一次。判定覆盖是白盒测试中的一种方法,要求覆盖所有可能的判断结果。 1.2 控制流图与环路复杂度(8分):考生需绘制程序的控制流图,这是一个表示程序控制流程的图形工具,节点代表基本块,边代表控制转移。环路复杂度V(G)计算的是判定节点的数量加1,本题中为3+1=4,表示有4个不同的路径分支。 1.3 线性无关路径(4分):基于控制流图,考生需找到4条线性无关路径,这些路径不能由其他路径派生,它们是独立的执行路径,对于测试用例设计至关重要。 第二部分(未给出分数)介绍了一个实际应用的场景,即连锁酒店集团的积分奖励程序。测试者需要理解积分构成(欢迎积分与酒店等级和消费金额相关,消费积分按每消费1美元得2分计算,金会员和白金会员有额外奖励),并分析如何设计输入验证和积分计算的测试用例。 这部分题目旨在考察软件测试员对实际业务逻辑的理解,以及如何将测试策略应用到实际代码中。解答这类问题需要深入理解程序功能和数据流,确保程序的正确性和健壮性。 综上,这份试卷重点考察了软件测试的基础理论(如判定覆盖、控制流图和线性无关路径)、编程语言基础(C语言)以及实际项目中的测试需求分析。考生需要具备扎实的编程技能、测试方法知识和对业务逻辑的洞察力才能准确作答。