第一章 单元测试
1、单选题:
软件实现与通常的程序设计的主要区别是( )。
选项:
A:代码格式标准
B:算法设计
C:软件的集成与测试
D:数据结构
答案: 【软件的集成与测试 】
2、多选题:
软件规模的划分依据有多个因素,通常不包含()。
选项:
A:产品规模
B:组织方式
C: 运行平台
D:参加人数
E:研发周期
答案: 【组织方式 ; 运行平台】
3、多选题:
高级程序语言的一种划分标准是按照语言的计算模型,将高级语言分为声明式式和命令式两个大类,前者进一步划分为()。
选项:
A:交互性
B:函数式语言
C:逻辑式语言
D:数据库语言
E:数据流语言
答案: 【函数式语言;逻辑式语言;数据流语言】
4、判断题:
按照教材 ,敏捷开发创造了一些新的技术或实践,如测试驱动开发、结对编程、代码重构和持续集成。
选项:
A:对
B:错
答案: 【对】
5、判断题:
从软件使用者的角度,把软件生存周期分为定义软件、开发软件和维护软件三个阶段。( )
选项:
A:对
B:错
答案: 【错】
6、判断题:
增量开发模型的基本思想是让开发者能够从早期的开发、系统的增量、交付的版本中学到经验。( )
选项:
A:对
B:错
答案: 【对】
第二章 单元测试
1、单选题:
软件分解的核心是( )。
选项:
A:将多个问题、难点或关注点分离
B:将问题分解的足够简单解决
C:将分解的若干小问题最终合并
D:将问题分解的尽可能小
答案: 【将多个问题、难点或关注点分离】
2、单选题:
如果用数组存不同的算式作为“习题”,产生60道不同算式的习题时算式比较的次数是( )。
选项:
A:1770
B:60
C:120
D:1200
答案: 【1770】
3、多选题:
int add (int m,int n) { if (m > 100 || m < 0 || n > 100 || n < 0) return -1; return m+n;}该程序期望输出两个100以内的正整数之和,和可以超过100。返回-1则表示输入参数不符合要求。
用边界值分析的方法测试该程序,如果要测试不期望的结果(输入参数不符合要求),要选择哪些测试数据()。
选项:
A:(99,99)
B:(1,1)
C:(99,0)
D:(1,100)
E:(0,90)
答案: 【(99,0);(1,100);(0,90)】
4、判断题:
软件模块是指具有相对不独立性的、由数据说明、执行语句等程序对象构成的代码集合。( )
选项:
A:错
B:对
答案: 【错】
5、判断题:
等价类划分有两种不同的情况:有效等价类和无效等价类。( )
选项:
A:对
B:错
答案: 【对】
6、判断题:
Java语言的static方法不依赖于任何对象就可以进行访问,能访问类的非静态成员变量和非静态成员方法。
选项:
A:对
B:错
答案: 【错】
第三章 单元测试
1、多选题:
在软件开发中,封装具有如下优势( )
选项:
A:更容易快速开发正确的程序,因为程序员在编写一个构件时只需考虑少量事情。在一个包
含多人的项目中特别有用:一旦程序员们确定了构件间的交互,每个人都可以独立地开发
和测试分配的构件。事实上,没有封装,是不可能编写、调试和维护非常大的程序的。
B:改善通用性和维护性,因为需要复用构件、组合成软件,需要构件尽可能通用、正确;理
解一个构件无须理解整个程序,自由地改进构件的内部,有助于维护程序。
C:封装使得编程更加简单清晰,提高了代码的执行效率。
D:构件的内部修改对外部的影响变小,减少了修改引起整个程序范围的“波动效应”。
E:构件的外部不能随意访问构件的内部数据和操作,而只允许通过由构件提供的外部可用的
操作来访问其内部,这就降低了构件间的耦合度,还可以避免外部错误对程序其他部分的
“交叉感染”。
答案: 【】
2、多选题:
有些语言如( )允许以重载方式对运算符“+”定义不同的意义(运算符重
载),比如字符串的连接、有理数的加法等。
选项:
A:C#
B:Objective-C
C:C++
D:JAVA
E:Python
答案: 【】
3、判断题:
用面向对象开发软件时,我们把系统模块化成类,但不封装属性及其操作的方法。( )
选项:
A:错
B:对
答案: 【】
4、判断题:
实现开闭原则的核心是共性和个性分析,关键是抽象。( )
选项:
A:对
B:错
答案: 【】
5、判断题:
教材3.3.3节案例设计二中第5部分在讨论数据集的数据结构时,分析了在Exercise中存储算式容器的5个策略,其中一个策略是让Exercise继承一个容器数据结构类,比如ArrayList。但是,这个策略不符合继承关系。
选项:
A:对
B:错
答案: 【】
第四章 单元测试
1、单选题:
在数据处理中,将对象的成员变量转换为可以存储或传输的形式的过程就是( )。
选项:
A:序列化
B:结构化
C:编程化
D:立体化
答案: 【】
2、多选题:
断言的基本用途是( )程序。通常要在编译器启动断言检查后才能在程序中使用断言。程序布署完之后就关闭断言。
选项:
A:测试
B:运行
C:维护
D:调节
E:调试
答案: 【】
3、多选题:
防御编程的基本思想是:程序员要预计其他程序员的过错、( ),采取适当措施保护自己的程序。
选项:
A:调用者过失
B:有害的输入数据
C:需求歧义
D:无效的输入
E:编程错误
答案: 【 】
4、判断题:
一般而言,程序设计语言数据结构的数据集不依附于应用程序。( )
选项:
A:对
B:错
答案: 【】
5、判断题:
契约式编程要求软件开发者为软件模块定义正式的、精确的并且可验证的接口。( )
选项:
A:对
B:错
答案: 【】
6、判断题:
程序的健壮性(robutness)是指程序对要求之外的输入进行判断并处理、使程序保持运行状态,并确保程序产生准确的结果。( )
选项:
A:对
B:错
答案: 【】
第五章 单元测试
1、判断题:
系统测试的重点是检测程序模块的接口、模块之间的交互及开发的软件与外部系统的交互。( )
选项:
A:错
B:对
答案: 【】
2、单选题:
图形用户界面 GUI用户通过( )识别与控制交互元素,进行有目的性的操作。
选项:
A:字符
B:数字
C:图形
D:键盘
答案: 【】
3、单选题:
驱动模块和()是常见的基本的模拟程序。
选项:
A:栈模块
B:桩模块
C:主模块
D:堆模块
答案: 【】
4、多选题:
在交互设计的基本过程中,交互设计以标识和建立用户需要开始,交互设计的用户需求包括( )。
选项:
A:速度需求
B:功能需求
C:数据需求
D:效率需求
E:可用性需求
答案: 【】
5、判断题:
根据软件的静态测试,代码走查完全可以一个人完成,多人合作可以提高效率。( )
选项:
A:对
B:错
答案: 【】
6、判断题:
从软件集成的角度上看,用户界面不可以视为集成程序的一种方式。( )
选项:
A:对
B:错
答案: 【】
第六章 单元测试
1、单选题:
分支语句的出现是对多种复杂情况的处理,本课程对分支语句提出的重构技术不包含( )。
选项:
A:用接口替换类型码
B:用类替换类型码
C:用状态式取代类型码
D:用多态取代类型码
答案: 【】
2、单选题:
在本课程的TDD案例中,使用了回归测试、边界值测试和( )等测试技术。
选项:
A:逻辑测试
B:语句测试
C:路径测试
D:等价类测试
答案: 【 】
3、多选题:
软件交付的基本活动包括( )。
选项:
A:构建
B:安装
C:发布
D:打包
E:测试
答案: 【】
4、判断题:
如果一个方法的代码太长或者代码需要很多注释才能理解其意图,可通过“函数提炼”用一个能说明其意图的方法替换那些代码。( )
选项:
A:对
B:错
答案: 【】
5、判断题:
面向对象语言重构分支语句时,“用多态取代类型码”的基础是实现“用子类取代类型码”。( )
选项:
A:错
B:对
答案: 【】
6、多选题:
通过学习重构技术,可以发现面向对象代码具有的特点包括( )。
选项:
A: 一个功能通过对象之间的协同完成
B:复杂功能分解到若干方法
C:功能单一的代码不易复用
D:方法的代码短小
答案: 【 】
第七章 单元测试
1、判断题:
本章案例实践要修改第3章中Exercise3_2_3类,因新增的方法用到Exercise3_2_3类的属性,无法派生,所以只能修改/重构。
选项:
A:错
B:对
答案: 【】
2、单选题:
GUI的基本设计规范是界面合理、风格一致和( )。
选项:
A:执行效率
B:美观大方
C:整洁划分
D:元素标准
答案: 【 】
3、判断题:
本章案例实践的构造任务9.2,对题目操作的“重新生成”、“清空”和“提交”功能,这三个方法都调用了刷新组件方法updateComponets。
选项:
A:错
B:对
答案: 【】
4、判断题:
在Java GUI编程实现中事件的处理可以采用匿名类、适配器类等多种方式()。
选项:
A:错
B:对
答案: 【】
5、多选题:
javax.swing.event包和javax.swing.colorchooser包的功能分别是( )和()。
选项:
A:JFileChooser的支持类(接口)
B:事件和侦听器类
C:Swing轻量组件的边框
D:JColorChooser的支持类(接口)
答案: 【】
第八章 单元测试
1、判断题:
关系模式是静态的、稳定的,而关系是动态的,随着时间和操作不断更新变化。( )
选项:
A:对
B:错
答案: 【】
2、单选题:
在数据库中,域是一组具有( )的值的集合。
选项:
A:相同数据存放地址
B:相同数据结构
C:相同数据
D:相同数据类型
答案: 【】
3、判断题:
模式是数据库中全体数据的逻辑结构和特征的描述。
选项:
A:错
B:对
答案: 【】
4、判断题:
内模式,也称为存储模式,一个数据库可以有多个内模式。
选项:
A:对
B:错
答案: 【】
5、多选题:
关系数据库的三级模式分为()。
选项:
A:外模式
B:内模式
C:模式
D:设计模式
答案: 【】
第九章 单元测试
1、判断题:
import cha9.factoryBases.*;
// 结合方法一和方法三:创建一个工厂方法,根据创建的类,选择不同的draw
class DrawFactory4{
public Shape pen(Point a, Point b){
return new Line(a,b);
}
public Shape pen(Point start, int w, int h){
return new Square(start,w,h);
}
public Shape pen(Point center, int r){
return new Circle(center,r);
}}在这段代码中,import语句引入了Shape、Point、Circle、Line和Square,import能简化成:import cha9. *;
选项:
A:错
B:对
答案: 【】
2、多选题:
Java语言包含类、抽象类和接口,在代码复用中经常使用这三种类型的元素,下面说法正确的是有()。
选项:
A:类不可以继承(implements)接口
B:类可以继承(extends)类,
C:接口能继承(extends)接口。
D:类可以继承(extends)抽象类,可以继承(implements)接口。
答案: 【】
3、单选题:
Junit是在极限编程、测试驱动开发等敏捷开发中被极力推荐使用的软件测试工具,本身是用Java语言实现的()。
选项:
A:类库
B:框架
C:设计模式
D:软件包
答案: 【】
4、多选题:
框架将应用系统划分为( )以及对象之间的控制线程。
选项:
A:类和对象如何互相协
B:定义类和对象的责任
C:作类的分工范围
D:类和对象
答案: 【】
5、单选题:
( )是软件复用最基本、最普通的形式,是一些经常使用、经过检验的规范化程序或子程序的集合。
选项:
A:程序包
程序包
程序包
B:软件包
C:类库
D:程序库
答案: 【】
6、单选题:
基于软构件的应用系统构造(集成和组装)或基于复用的软件开发,是使用软件资产生产新系统的过程,称为( )。
选项:
A:设计工程
B:领域工程
C:应用工程
D:软件工程
答案: 【】
请先
!