2007年上半年软件上午试题
● (1) 不属于计算机控制器中的部件。 (1)A. 指令寄存器 IR C. 算术逻辑单元 ALU B. 程序计数器 PC
D. 程序状态字寄存器 PSW
● 在 CPU 与主存之间设置高速缓冲存储器 Cache 的目的是为了 (2) 。 (2)A.扩大主存的存储容量 B.提高 CPU 对主存的访问效率 C.既扩大主存容量又提高存取速度 D.提高外存储器的速度 ● 下面的描述中, (3) 不是 RISC 设计应遵循的设计原则。 (3)A. 指令条数应少一些 B. 寻址方式尽可能少
C. 采用变长指令,功能复杂的指令长度长而简单指令长度短 D. 设计尽可能多的通用寄存器
● 系统响应时间和作业吞吐量是衡量计算机系统性能的重要指标。对于一个持续处理业务的系统而言,其 (4) 。
(4)A. 响应时间越短,作业吞吐量越小 B. 响应时间越短,作业吞吐量越大 C. 响应时间越长,作业吞吐量越大 D. 响应时间不会影响作业吞吐量
● 计算机各功能部件之间的合作关系如下图所示。假设图中虚线表示控制流,实实线表示数据流,那么 a、b 和 c 分别表示 (5)
(5)A. 控制器、内存储器和运算器 B. 控制器、运算器和内存储器
C. 内存储器、运算器和控制器 D. 内存储器、控制器和运算器 ● 下面关于编程语言的各种说法中, (6) 是正确的。
(6)A. 由于 C 语言程序是由函数构成的,所以也属于函数型语言 B. Smalltalk、C++、Java、C#都是面向对象语言
C. 函数型语言适用于编写高速计算的程序,常用于超级计算机的模拟计算 D. 逻辑型语言是在 Client/Server 系统中用于实现负载分散的程序语言 ● 在面向对象的语言中, (7) 。
(7)A. 类的实例化是指对类的实例分配存储空间
B. 每个类都必须创建一个实例 C. 每个类只能创建一个实例 D. 类的实例化是指对类进行初始化
● 在统一建模语言(UML)中,描述系统与外部系统及用户之间交互的图是 (8) 。 (8)A. 类图 B. 用例图 C. 对象图 D. 协作图
● 某供应商数据库中的供应关系为 SPJ(供应商号,零件号,工程号,数量),如
下命令查询某工程至少用了 3 家供应商(包含 3 家)供应的零件的平均数量,并按工程 号的降序排列。
SELECT 工程号, (14) FROM SPJ GROUP BY 工程号 (15)
ORDER BY 工程号 DESC;
(14)A. AVG(数量)At 平均数量 B. AVG(数量)AS 平均数量 C. 平均数量 At AVG(数量) D. 平均数量 AS AVG(数量) (15)A. HAVING COUNT(DISTINCT(供应商号))>2 B. Where COUNT(供应商号)>2
C. HAVING(DISTINCT(供应商号))>2 D. Where 供应商号 >2
(16)A. 若 A→B,B→C,则 A→C B. 若 A→B,A→C,则 A→BC
C. 若 A→C,则 AB→C D. 若 A→BC,则 A→B,A→C
●主要的工作流包括捕获需求、分析、设计、实现和测试等。这种软件过程的用统一过程(UP)是一种用例驱动的迭代式增量开发过程,每次迭代过程中
例图(Use Case Diagram)是通过 (19) 得到的。
(19)A. 捕获需求 B. 分析 C. 设计 D. 实现 ● 关于原型化开发方法的叙述中,不正确的是 (20)。 (20)A. 原型化方法适应于需求不明确的软件开发 B. 在开发过程中,可以废弃不用早期构造的软件原型 C. 原型化方法可以直接开发出最终产品
D. 原型化方法利于确认各项系统服务的可用性
● CMM 模型将软件过程的成熟度分为 5 个等级。在 (21) 使用定量分析来不断 地改进和管理软件过程。
(21)A. 优化级 B. 管理级 C. 定义级 D. 可重复级 ● 软件(22) 的提高,有利于软件可靠性的提高。
(22)A. 存储效率 B. 执行效率 C. 容错性 D. 可移植性
● 序言性注释是指在每个程序或模块开头的一段说明,起辅助理解程序的作用, 一般包括:程序的表示、名称和版本号;程序功能描述;接口与界面描述;输入/输出 数据说明;开发历史;与运行环境有关的信息等。下列叙述中不属于序言性注释的是 (23) 。
(23)A. 程序对硬件、软件资源的要求 B. 重要变量和参数说明
C. 嵌入在程序中的 SQL 语句
D. 程序开发的原作者、审查者、修改者、编程日期等 ● LOC 是软件规模的一种量度,它表示 (24) 。
(24)A. 软件功能数 B. 源代码行数 C. 每单位成本数
D. 工作量
(25)不属于面向对象分析阶段。
(27)A. 视图 r B. 模型 C. 控制器 D. 视图和控制器 (28)A. 视图 B. 模型 C. 控制器 D. 视图和控制器 ● 在进行面向对象设计时,采用设计模式能够(29)。
(29)A. 复用相似问题的相同解决方案 B. 改善代码的平台可移植性
1
C. 改善代码的可理解性 D. 增强软件的易安装性 ● 下面给出了四种设计模式的作用:
外观(Fa?ade):为子系统中的一组功能调用提供一个一致的接口,这个接口使得 这一子系统更加容易使用;
装饰(Decorate):当不能采用生成子类的方法进行扩充时,动态地给一个对象添加 一些额外的功能;
单件(Singleton):保证一个类仅有一个实例,并提供一个访问它的全局访问点; 模板方法(Template Method):在方法中定义算法的框架,而将算法中的一些操作 步骤延迟到子类中实现。
请根据下面叙述的场景选用适当的设计模式。若某面向对象系统中的某些类有且只 有一个实例,那么采用(30) 设计模式能够有效达到该目的;该系统中的某子模块需 要为其他模块提供访问不同数据库系统(Oracle、SQL Server、DB2 UDB 等)的功能, 这些数据库系统提供的访问接口有一定的差异,但访问过程却都是相同的,例如,先连 接数据库、再打开数据库、最后对数据进行查询,(31) 设计模式可抽象出相同的数据 库访问过程;系统中的文本显示类(TextView)和图片显示类(PictureView)都继承 了组件类(Component),分别显示文本和图片内容,现需要构造带有滚动条、或者带有 黑色边框、或者既有滚动条又有黑色边框的文本显示控件和图片显示控件,但希望最多 只增加三个类,(32) 设计模式可以实现该目的。
(30)A. 外观 B. 装饰 C. 单件 D. 模板方法 (31)A. 外观 B. 装饰 C. 单件 D. 模板方法
● 函数 t()、f()的定义如下所示。若调用函数 t()时传递给 x 的值为 3,并且调用
函数 f()时,第一个参数采用传值(call by value)方式,第二个参数采用传引用(call ● 程序设计语言中(34) 。 r
(34)A. while 循环语句的执行效率比 do-while 循环语句的执行效率高
B. while 循环语 句的 循环体 执行 次数比 循环 条件的 判断 次数多 1, 而 do-while 语句的循环体执行次数比循环条件的判断次数少 1
C. while 语句的循环体执行次数比循环条件的判断次数少 1,而 do-while 语句的循环体执行次数比循环条件的判断次数多 1
D. while 语句的循环体执行次数比循环条件的判断次数少 1,而 do-while 语句的循环体执行次数等于循环条件的判断次数
● 两名以上的申请人分别就同样的发明创造申请专利的,专利权授权 (35) 。 (35)A. 最先发明的人 B. 最先申请的人 C. 所有申请的人 D.协商后的申请人 ● 下列叙述中(36)是正确的。
(36)A.压迫测试:提供条件任软件发挥,最大限度地发掘软件的能力
B.重复测试:使软件在不够理想的条件下运行,观察软件对外部资源的要 求和依赖的程度
C.重复测试:不断执行同样的操作,这种反复测试的主要原因是看内存是 否不足
D.完整 C/S 体系结构测试,只包括网络运行和性能测试
● 根据 ANSI/IEEE829 标准, 以下(37) 属于《测试程序说明》中程序步骤的内 容。
① 启动 ② 目的 ③ 日志 ④ 设置
(37)A.①、②、③ B.①、③、④ C.②、③ D.①、②、③、④
● 以下关于功能测试用例的意义的叙述,正确的是(38)
① 避免盲目测试并提高测试效率
② 令软件测试的实施重点突出、目的明确
③ 在回归测试中无需修正测试用例便可继续开展测试工作 ④ 测试用例的通用化和复用化使软件测试易于开展
● (41)不是易用性测试包括的内容。
(41)A.安装测试 B.界面测试 C.菜单测试 D.文档测试 ● (42)不是文档测试包括的内容。 (42)A.合同文档 B.开发文档 C.管理文档 D.用户文档
● 针对用户手册的测试,(43)描述不正确。
(43)A.准确地按照手册的描述使用程序 B.检查每条陈述
C.修改错误设计 D.查找容易误导用户的内容 ● 阅读下列流程图:
当用判定覆盖法进行测试时,至少需要设计(44) 个测试用例。
● 在某大学学籍管理信息系统中,假设学生年龄的输入范围为 16~40,则根据黑盒测试中的等价类划分技术,下面划分正确的是 (46) 。 (46)A. 可划分为 2 个有效等价类,2 个无效等价类 B. 可划分为 1 个有效等价类,2 个无效等价类 C. 可划分为 2 个有效等价类,1 个无效等价类 D. 可划分为 1 个有效等价类,1 个无效等价类
● 以下各项中,(47)属于安装测试应关注的内容。 ① 安装手册的评估 ② 安装选项和设置的测试 ③ 安装顺序测试 ④ 修复安装测试与卸载测试 (47)A.①、②、③ B.③、④ C.②、③、④ D. ①、②、③、④
● 下面关于软件测试的说法,(48)是错误的。 (48)A.软件测试就是程序测试
B.软件测试贯穿于软件定义和开发的整个期间
2
C.需求规格说明、设计规格说明都是软件测试的对象 D.程序是软件测试的对象
● 关于白盒测试与黑盒测试的最主要区别,正确的是(49)。 (49)A.白盒测试侧重于程序结构,黑盒测试侧重于功能 B.白盒测试可以使用测试工具,黑盒测试不能使用工具 C.白盒测试需要程序员参与,黑盒测试不需要 D.黑盒测试比白盒测试应用更广泛
● 软件测试按实施组织分,测试应该包括以下的(50) 。
① 开发方测试② 用户方测试③ 第三方测试④ 验收测试⑤ 确认测试 学
● 关于对第三方测试的描述,正确的观点是(52) 。
(52)A.既不是用户,也不是开发人员所进行的测试就是第三方测试 B.第三方测试也称为独立测试,是由相对独立的组织进行的测试 C.第三方测试是在开发方与用户方的测试基础上进行的验证测试 D.第三方测试又被称为β测试
● 以下(53)属于 在 GB/T 18905《评价者用的过程》中定义软件评价过程的特性。①可重复性 ②可再现性 ③公正性 ④客观性 ⑤合理性 (53)A.①、②、④ B.①、②、③、④ C.③、④、⑤ D.①、②、③、④、⑤
● 以下控制流程图的环路复杂性 V(G)等于(54) 。
(54)A.4 B.5 C.6 D.1
● 通过疲劳强度测试,最容易发现(55)问题。
55)A.并发用户数 B.内存泄漏 C.系统安全性 D.功能错误
● 针对下列程序段,对于(A,B)的取值,以下(57)测试用例组合能够满足条件 覆盖的要求。
IF ( ( A - 10 ) = 20 AND ( B + 20 ) > 10 ) THEN C = 0 IF ( ( A - 30 ) < 10 AND ( B - 30 ) < 0 ) THEN B = 30
①A=50 B=-10 ②A=40 B=40 ③A=30 B=-10 ④A=30 B=30 (57)A.①② B.③④ C.①④ D.②④ ● 针对逻辑覆盖有下列叙述,(58)是不正确的。
(58)A.达到 100%DC 要求就一定能够满足 100%SC 的要求 B.达到 100%CC 要求就一定能够满足 100%SC 的要求
C.达到 100%CDC 要求就一定能够满足 100%SC 的要求 D.达到 100%MCDC 要求就一定能够满足 100%SC 的要求
● 以下所示程序控制流程图中有(59)条线性无关的基本路径。
(59)A.1B.2 C.3
● 针对以下 C 语言程序段,对于(MaxNum,Type)的取值,至少需要(62)个测试 用例能够满足判定覆盖的要求。 while ( MaxNum-- > 0 ) {
if ( 10 == Type ) x = y * 2; else
if ( 100 == Type ) x = y - 20;
(64)A.单元测试、集成测试、确认测试和系统测试 B.确认、验证和测试
C.需求评审、设计评审、单元测试和综合测试 D.开发方测试、用户测试和第三方测试
● GB/T 16260 将软件的内部(外部)质量属性划分为六大质量特性,分别是(65)(65)A.功能性,可靠性,易用性,效率,维护性和可移植性 B.功能性、可靠性、易用性、效率、稳定性和可移植性 C.功能性、可靠性、安全性、效率、易用性和可移植性 D.功能性、可靠性、兼容性、效率、稳定性和可移植性
● 软件内部/外部质量模型中,以下(66)不是功能性包括的子特性。 (66)A.适合性 B.准确性 C.稳定性 D.互操作性
● 《GB/T 18905 软件工程 产品评价》中确定的通用评价过程包括四个方面,其中有关“规定评价”部分包含的内容有(67) 。
(67)A.选择度量、建立度量评定等级、确立评估准则 B.指定质量模型、选择度量、建立度量评定等级 C.选择度量、建立度量评定等级、制定评价计划 D.确定产品类型、选择度量、建立度量评定等级
3
。 ● 下列测试工具中,使用(68)执行自动化负载压力测试,使用(69)执行代码 静态结构分析,使用(70)执行网络测试。 (68)A.SmartBits B.Logiscope
C.Quick Test Professional D.LoadRunner
(69)A.SmartBits B.Logiscope
C.Quick Test Professional (70)A.SmartBits
C.Quick Test Professional D.LoadRunner B.Logiscope
2007年上半年下午题
试题一(15 分)
阅读下列说明,回答问题 1 至问题 3,将解答填入答题纸的对应栏内。 [说明]
以下代码由 C 语言书写,能根据指定的年、月计算当月所含天数。 int GetMaxDay( int year, int month ) {
int maxday = 0;
if ( month >= 1 && month <= 12 ) {
if ( month == 2 )
{
if ( year % 4 == 0 ) {
if ( year % 100 == 0 ) {
if ( year % 400 == 0 ) maxday = 29; else
maxday = 28; } else
maxday = 29; } else
maxday = 28; } else {
if ( month == 4 || month == 6 || month == 9 || month == 11 ) maxday = 30; else
maxday = 31; } }
return maxday; }
[问题 1](4 分)
请画出以上代码的控制流图。 [问题 2](3 分)
请计算上述控制流图的环路复杂度 V(G)。 [问题 3](8 分)
假设 year 的取值范围是 1000 < year < 2001,请使用基本路径测试法为变量 year、
month 设计测试用例(写出 year 取值、month 取值、maxday 预期结果),使之满足基本 路径覆盖要求。 试题二(16 分)
阅读下列说明,回答问题 1 至问题 5,将解答填入答题纸的对应栏内。 [说明]
负载压力性能测试是评估系统性能、性能故障诊断以及性能调优的有效手段。下述
4
表格是针对税务征管系统中“税票录入”业务的测试结果,系统服务器端由应用服务器
和单节点数据库服务器组成。
交 易 响 应 数据库服务器 应 用 服 务 器 并发用户交易吞吐量平 数 均 时 间 平 均 CPU 平均利用 CPU 平均利用 值(trans/s) 值 (s) 率 率 10 0.56 0.57 37.50% 13.58% 20 2.15 1.16 57.32% 24.02% 30 3.87 3.66 70.83% 39.12% 50 7.02 6.63 97.59% 53.06%
[问题 1](4 分)
简述交易吞吐量和交易响应时间的概念。 [问题 2](2 分)
试判断随着负载增加,当交易吞吐量不再递增时,交易响应时间是否会递增,并说
明理由。
[问题 3](3 分)
根据上述测试结果,判断服务器资源使用情况是否合理,为什么? [问题 4](5 分)
在并发用户数为 50 时,如果交易吞吐量和交易响应时间都不满足需求,简述数据
库端造成此缺陷的主要原因,有效的解决方案是什么? [问题 5](2 分)
去年全年处理“税票录入”交易约 100 万笔,考虑到 3 年后交易量递增到每年 200 万笔。假设每年交易量集中在 8 个月,每个月 20 个工作日,每个工作日 8 小时,试采
用 80~20 原理估算系统服务器高峰期 “税票录入”的交易吞吐量(trans/s)。 试题三(15
分)
阅读下列说明,回答问题 1
至问题
3,将解答填入答题纸的对应栏内。 [说明]
在
ERP(企业资源计划)系统中,“计划管理”模块的流程图如下:
[问题 1](4 分)
因果图法是功能测试案例设计方法中的一种,简述利用因果图导出测试用例需要经 过哪几个步骤? [问题 2](4 分)
根据题干中的流程图,利用因果图法,找出哪些是正确的输入条件,那些是正确的
5