软件设计师历年试题 编译器对高级语言源程序的处理过程可以划分为词法分析、语法分析、语义分析、中间代码生成、代码优化、目标代码生成等几个阶段,其中, (22) 并不是每种编译器都必需的。 (22)A. 词法分析和语法分析 B. 语义分析和中间代码生成 C. 中间代码生成和代码优化 ● 下列叙述中错误的是 (23) 。
(23)A. 面向对象程序设计语言可支持过程化的程序设计
B. 给定算法的时间复杂性与实现该算法所采用的程序设计语言无关 C. 与汇编语言相比,采用脚本语言编程可获得更高的运行效率 D. 面向对象程序设计语言不支持对一个对象的成员变量进行直接访问
● 设有职工 EMP(职工号, 姓名, 性别, 部门号,职务,进单位时间, 电话),职务 JOB(职务,月薪)和部门 DEPT(部门号, 部门名称, 部门电话, 负责人)实体集。一个职务可以由多个职工担任,但一个职工只能担任一个职务,并属于一个部门,部门负责人是一个职工。下图所示的 a、b 处的实体名分别为 (24) ;图中 a、b 之间为 (25) 联系。
D. 代码优化和目标代码生成
(24)A. DEPT、EMP B. EMP、DEPT (25)A. 1
1 B. 1
C. JOB、EMP D. EMP、JOB
1 D. *
*
* C. *
● 从数据库管理系统的角度看,数据库系统一般采用如下图所示的三级模式结构。 图中①②处应填写 (26) ,③处应填写 (27) 。
(26)A. 外模式 / 概念模式 B. 概念模式 / 内模式 C. 外模式 / 概念模式映象 D. 概念模式 / 内模式映象 (27)A. 外模式 / 概念模式 B. 概念模式 / 内模式
C. 外模式 / 概念模式映象 D. 概念模式 / 内模式映象
40
软件设计师考试历年真题 第79页 共 41 页 软件设计师历年试题 若关系 R、S 如下图所示,则 R 与 S 自然连接后的属性列数和元组个数分别为 (28) ,π1,4(δ
3=6(R
×S)) =(29)
● 某公司采用的软件开发过程通过了 CMM2 认证,表明该公司 (30) 。 (30)A. 开发项目成效不稳定,管理混乱
B. 对软件过程和产品质量建立了定量的质量目标
C. 建立了基本的项目级管理制度和规程,可对项目的成本、进度进行跟踪和控制 D. 可集中精力采用新技术新方法,优化软件过程
● 国标 16260 中,在描述外部(内部)效率度量时,给出了若干针对计算机系统时间消耗的定义,以下描述项中正确的有 (31) 。
① 响应时间是指从按动传送键到得到结果为止所需要的时间
② 处理时间是指从接受一个消息到送出它的结果之间计算机的历时时间 ③ 周转时间是指从提出要求到得到结果所需要的时间 ④ 响应时间包括处理时间和传输时间 (31)A.①②③④
B.①③ C.②③ D.①②④
● 测试用例是测试使用的文档化的细则,其规定如何对软件某项功能或功能组合进行测试。测试用例应包括下列 (32) 内容的详细信息。 ① 测试目标和被测功能 ② 测试环境和其他条件 ③ 测试数据和测试步骤 ④ 测试记录和测试结果 (32)A.①③ B.①②③
C.①③④ D.①②③④
● 软件内部/外部质量模型中,(33) 不是可移植性包括的子特性。 (33)A.适应性 B.易改变性 C.共存性 D.易替换性 ● 评价规格说明中不包括(34)。
(34)A.分析产品的描述 B.规定对产品及部件执行的测量 C.按照评价需求验证产生的规格说明 D.请求者说明评价覆盖范围
● 在进行产品评价时,评价者需要对产品部件进行管理和登记,其完整的登记内容应包括(35) 。 ①部件或文档的唯一标识符 ②部件的名称或文档标题
③文档的状态,包括物理状态或变异方面的状态 ④请求者提供的版本、配置和日期信息
(35)A.①③ B.①② C.①③④ D.①②③④ ● 下面的描述中,不能体现前置测试模型要点的是 (36) 。
(36)A.前置测试模型主张根据业务需求进行测试设计,认为需求分析阶段是进行测试计划和测试设计
41
软件设计师考试历年真题 第81页 共 42 页 软件设计师历年试题
B.前置测试模型将开发和测试的生命周期整合在一起,标识了项目生命周期从开始到结束之间的关键行为,提出业务需求最好在设计和开发之前就被正确定义
C.前置测试将测试执行和开发结合在一起,并在开发阶段以编码-测试-编码-测试的方式来体现,强调对每一个交付的开发结果都必须通过一定的方式进行测试
D.前置测试模型提出验收测试应该独立于技术测试,以保证设计及程序编码能够符合最终用户的需求
● 在进行软件编码规范评测过程中需要围绕几个方面的内容展开,以下描述中不属于编码规范评测内容的有 (37) 。
(37)A.源程序文档化检查,包括符号名的命名、程序的注释等规范性检查
B.数据说明检查,包括数据说明次序、语句中变量顺序检查
C.程序结构检查,程序应采用基本的控制结构、避免不必要的转移控制等 D.程序逻辑检查,阅读源代码,比较实际程序控制流与程序设计控制流的区别 ● (38) 属于概要设计说明书的评测内容。
①分析该软件的系统结构、子系统结构,确认该软件设计是否覆盖了所有已确定的 软件需求,软件每一成分是否可追溯到某一项需求 ②系统定义的目标是否与用户的要求一致
③从软件维护的角度出发,确认该软件设计是否考虑了方便未来的维护 ④是否所有界面与更高级别文档中的需求一致
(38)A.①②③ B.①③④ C.②③④ D.①②③④ ● 关于确认测试,描述正确的是 (39) 。
①确认测试一般包括有效性测试与软件配置复查,采用黑盒测试为主,白盒测试为辅的测试方法进行测试 ②确认测试配置项复查时应当严格检查用户手册和操作手册中规定的使用步骤的完整性和正确性 ③确认测试需要检测与证实软件是否满足软件需求说明书中规定的要求
④确认测试是保证软件正确实现特定功能的一系列活动和过程,目的是保证软件生命周期中的每一个阶段的成果满足上一个阶段所设定的目标
(39)A.①② B.②③ C.③④ D.②④ ● 关于软件测试的说法,(40)是不正确的。
(40)A.代码审查是代码检查的一种,是由程序员和测试员组成一个审查小组,通过阅读、讨论和争议,对程序进行静态分析的过程
B.软件测试的对象不仅仅是程序,文档、数据和规程都是软件测试的对象 C.白盒测试是通过对程序内部结构的分析、检测来寻找问题的测试方法
D.单元测试是针对软件设计的最小单位—程序模块进行正确性检验的测试工作,它通常需要开发辅助的桩模块作为主程序调用被测模块来完成测试 ● 关于集成测试的描述中,正确的是(41)。
①集成测试也叫做组装测试或联合测试,通常是在单元测试的基础上,将所有模块按照概要设计说明书和详细设计说明书的要求进行组装和测试的过程
②自顶向下的增殖方式是集成测试的一种组装方式,它能较早地验证主要的控制和判断点,对于输入输出模块、复杂算法模块中存在的错误能够较早地发现
③自底向上的增殖方式需要建立桩模块,并行地对多个模块实施测试,并逐步形成程序实体,完成所有模块的组装和集成测试
④在集成测试时,测试者应当确定关键模块,对这些关键模块及早进行测试,比如高层控制模块、有明确性能要求和定义的模块等
(41)A.①② B.②③ C.①④ D.②④
42
软件设计师考试历年真题 第83页 共 43 页 软件设计师历年试题 缺陷探测率 DDP 是衡量一个公司测试工作效率的软件质量成本的指标。在某公司开发一个软件产品的过程中,开发人员自行发现并修正的缺陷数量为 80 个,测试人员 A 发现的缺陷数量为 50 个,测试人员 B 发现的缺陷数为 50 个,测试人员 A 和测试人员 B 发现的缺陷不重复,客户反馈缺陷数量为 50 个,则该公司针对本产品的缺陷探测率为 (42) 。 (42)A.56.5% B.78.3% C.43.5% D.34.8%
● 在执行测试和评价的过程中,会产生较多的文档, (43) 是对文档内容的正确描述。 ①评价需求的主要内容是描述评价的目标,特别是描述了产品的质量需求
②评价规格说明的主要内容是确定对软件及其部件实行的所有分析和测量,标识要采用的操作规程、测试方法和工具
③评价记录的主要内容是对评价执行过程的详细记载,由评价请求者保留
④评价报告的主要内容是执行测量和分析的结果,以及能被重复和重新评价的必要信息 (43)A.①② B.②③ C.①④ D.②④
● 用等价类划分法设计 8 位长数字类型用户名登录操作的测试用例,应该分成(44)个等价区间。 (44)A.2 B.3 C.4 D.6
● 下面为 C 语言程序,边界值问题可以定位在 (45) 。
int data(3), int i,
for (i=1,i<=3,i++) data(i)= 100 (45)A. data(0)
B. data(1) C. data(2) D. data(3)
● (46) 叙述是正确的。 ①测试用例应由测试设计人员来制定 ②测试点应由测试人员确立
③测试工作展开于项目立项后,而不是代码开发完成之后 ④测试对象是源代码
(46)A.①②③ B.②③ C.①③ D.①②③④ ● 通常测试用例很难 100%覆盖测试需求,因为 (47) 。 ①输入量太大 ②输出结果太多 ③软件实现途径多 ④测试依据没有统一标准
(47)A.①② B.①③ C.①②③ D.①②③④
● 假定 X 为整数类型变量,X>=1 并且 X<=10,如果用边界值分析法,X 在测试中应
该取 (48) 值。
(48)A.1,10 B.0,1,10,11 C.1,11 D.1,5,10,11 ● 以下 (49) 方法不是黑盒测试用例的设计方法。
(49)A. 场景法 B. 边界值法 C. 因果图法 D. 路径法 ● 不属于界面元素测试的是(50)。
(50)A.窗口测试 B.文字测试 C.功能点测试 D.鼠标测试 ● 以下说法不正确的是 (51) 。
(51)A.易用性测试不仅是针对应用程序的测试,而且还要包括用户手册等系列文档
B.安装测试就是按照用户安装手册安装软件,来评估安装过程的易用性、正确性 C.辅助系统测试包括帮助测试、向导测试、信息提示测试等
D.界面整体测试是指对界面的规范性、可维护性、整体性等进行测试和评估
软件设计师考试历年真题 第85页 共 44 页 43
软件设计师历年试题 针对下列程序段,需要 (52) 个测试用例可以满足语句覆盖的要求。 switch ( value ) {
case 0:
other = 30; break; case 1:
other = 50; break; case 2:
other = 300; case 3: other = other / value;
break; default:
other = other * value;
}
(52)A.2 B.3 C.4 D. 5 ● 针对逻辑覆盖 (53) 叙述是不正确的。
(53)A.达到 100%CC 要求就一定能够满足 100%DC 的要求
B.达到 100%CDC 要求就一定能够满足 100%DC 的要求 C.达到 100%MCDC 要求就一定能够满足 100%DC 的要求 D.达到 100%路径覆盖要求就一定能够满足 100%DC 的要求 ● 以下控制流程图的环路复杂性 V(G)等于 (54) 。
(54)A. 5 B. 6 C. 9 D 12
● 在程序控制流图中,有 8 条边,6 个节点,则控制流程图的环路复杂性 V(G)等于 (55) 。 (55)A. 2
B. 4 C. 6 D. 8
● 针对程序段: IF(X>10)AND(Y<20)THEN W=W/A,对于(X,Y)的取值,以下 (56) 组测试用例能够满足判定覆盖的要求。
(56)A. (30,15) (40,10) B. (3,0) (30,30) C. (5,25) (10,20) D. (20,10) (1,100) ● 关于数据库索引,以下表述正确的是 (57) 。
① 如果对表创建了索引,那么更新、插入和删除表中的记录都将导致额外的系统开销 ② 全表扫描一定比使用索引的执行效率低 ③ 在字段选择性很低的情况下适用索引
④ 一个表创建的索引越多,对系统的性能提升越大
44
软件设计师考试历年真题 第87页 共 45 页