单选题
1. 下列哪一个不是UML的动态图? (该题为必答题) 4 活动图 序列图 状态图 用例图
注解:Unified Modeling Language (UML)又称统一建模语言或标准建模语言,是始于1997年一个OMG标准,它是一个支持模型化和软件系统开发的图形化语言,为软件开发的所有阶段提供模型化和可视化支持,包括由需求分析到规格,到构造和配置。 动态图:状态图,顺序图,活动图,协作图。
静态图:类图,对象图,用例图,部署图,构件图。
2. 下面有关系统并发访问数估算数据那个最有效: (该题为必答题) 1 高峰时段平均每秒请求数80 同时在线用户数100
高峰时段日处理业务量100000 平均每秒用户请求数50 注释:并发访问数描述的是同时向客户端发出请求的客户,体现的是服务端承受的最大并发访问数。
并发用户数的计算公式
系统用户数:系统额定的用户数量,如一个OA系统,可能使用该系统的用户总数是2000个,那么这个数量,就是系统用户数。
同时在线用户数:在一定的时间范围内,最大的同时在线用户数量。 平均并发用户数的计算:C=nL / T,
其中C是平均的并发用户数,n是平均每天访问用户数,L是一天内用户从登录到退出的平均时间(操作平均时间),T是考察时间长度(一天内多长时间有用户使用系统)。 并发用户数峰值计算:C^约等于C + 3*根号C,
其中C^是并发用户峰值,C是平均并发用户数,该公式遵循泊松分布理论。
3. EJB组件的包文件的扩展名是: (该题为必答题) 1 .ear .war .jar .rar 注释:
jar:通常是开发时要引用通用(JAVA)类,打成包便于存放管理; war:是做好一个(web)应用后,通常是网站,打成包部署到容器中;
ear: 企业级应用,实际上EAR包中包含WAR包和几个企业级项目的配置文件而已,一般服务器选择WebSphere等,都会使用EAR包。通常是EJB打成ear包。
4. 关于进程的叙述哪一项是不正确的 (该题为必答题) 1 可同时执行的进程是指若干进程同时占用处理器
一个进程的工作没有完成之前,另一进程就可开始工作,则称这些进程具有并发性 一个进程独占处理器时其执行结果只取决于进程本身 进程并发执行时其执行结果与进程执行的相对速度有关 注释:进程是一个具有一定独立功能的程序关于某个数据集合的一次运行活动。它是操作系统动态执行的基本单元,在传统的操作系统中,进程既是基本的分配单元,也是基本的执行单元。它具有以下特征:
动态性:进程的实质是程序在多道程序系统中的一次执行过程,进程是动态产生,动态消亡的;
并发性:任何进程都可以同其他进程一起并发执行; 独立性:进程是一个能独立运行的基本单位,同时也是系统分配资源和调度的独立单位; 异步性:由于进程间的相互制约,使进程具有执行的间断性,即进程按各自独立的、不可预知的速度向前推进;
结构特征:进程由程序、数据和进程控制块三部分组成。
多个不同的进程可以包含相同的程序:一个程序在不同的数据集里就构成不同的进程,能得到不同的结果;但是执行过程中,程序不能发生改变。
在操作系统的管理下,所有正在运行的进程轮流使用CPU,每个进程允许占用CPU的时间非常短(比如10毫秒),这样用户根本感觉不出来CPU是在轮流为多个进程服务,就好象所有的进程都在不间断地运行一样。但实际上在任何一个时间内有且仅有一个进程占有CPU。
5. 在数据库中,产生数据不一致的根本原因是 (该题为必答题) 1 数据冗余
未对数据进行完整性控制 数据存储量太大 没有严格保护数据 注释:数据不一致性是指数据的矛盾性、不相容性。产生数据不一致的原因主要有以下三种:一是由于数据冗余造成的;二是由于并发控制不当造成的;三是由于各种故障、错误造成的。
6. 评估下面的一组SQL语句:
CREATE TABLE dept (deptno NUMBER(2), dname VARCNAR2(14), 1oc VARCNAR2 (13)); ROLLBACK; DESCRIBE DEPT
下面关于该组语句的哪个描述是正确的? (该题为必答题) 3
DESCRIBE DEPT语句将返回一个错误ORA-04043: object DEPT does not exist. ROLLBACK语句将释放DEPT占用的存储空间
DESCRIBE DEPT语句将显示DEPT表的结构描述内容
DESCRIBE DEPT语句将只有在ROLLBACK之前引入一个COMMIT语句时,才会显示DEPT表的结构描述内容
注释:DESCRIBE TABLE 用于列出指定表或视图中的所有列;
DESCRIBE INDEX FOR TABLE 用于列出指定表的所有索引。 所以 DESCRIBE是用来显示数据结构信息的。
7. Oracle中VARCHAR2类型的最大长度是: (该题为必答题) 1 4000 3000 1000 2000
8. 在下面哪个场景中,索引将是最有用的? (该题为必答题) 1 被索引的列作为表达式的一部分 被索引的列包含不同范围的值 被索引的列用于FROM子句 被索引的列被声明为NOT NULL 注释:索引是对数据库表中一个或多个列的值进行排序的结构。建立索引的目的是加快对表中记录的查找或排序。在任一子句中包括的每一列都是索引可以选择的对象。
9. 下列四项中,不属于关系数据库特点的是( ) (该题为必答题) 4 多用户访问 数据独立性高 数据共享性好 数据冗余小
注释:关系数据库主要具有以下几个特点:
(1)以面向系统的观点组织数据,使数据具有最小的冗余度,支持复杂的数据结构; (2)具有高度的数据和程序的独立性,应用程序与数据的逻辑结构及数据的物理存储方式无关;
(3)由于数据具有共享性,使数据库中的数据能为多个用户服务;
(4)关系数据库允许多个用户同时访问,同时提供了各种控制功能,保证数据的安全性、完整性和并发性控制。安全性控制可防止未经允许的用户存取数据;完整性控制可保证数据的正确性、有效性和相容性;并发性控制可放置多用户并发访问数据时由于相互干扰而产生的数据不一致。
10. 关于sleep() 和 wait() 的区别描述错误的是 (该题为必答题) 2 wait是Object类的方法
sleep会释放对象锁
对此对象调用wait方法导致本线程放弃对象锁 sleep是线程类(Thread)的方法 注释:
1、这两个方法来自不同的类分别是,sleep来自Thread类,和wait来自Object类。sleep是Thread的静态类方法,谁调用的谁去睡觉,即使在a线程里调用了b的sleep方法,实际上还是a去睡觉,要让b线程睡觉要在b的代码中调用sleep。
2、最主要是sleep方法没有释放锁,而wait方法释放了锁,使得其他线程可以使用同步控制块或者方法。sleep不出让系统资源;wait是进入线程等待池等待,出让系统资源,其他线程可以占用CPU。一般wait不会加时间限制,因为如果wait线程的运行资源不够,再出来也没用,要等待其他线程调用notify/notifyAll唤醒等待池中的所有线程,才会进入就绪队列等待OS分配系统资源。sleep(milliseconds)可以用时间指定使它自动唤醒过来,如果时间不到只能调用interrupt()强行打断。Thread.Sleep(0)的作用是“触发操作系统立刻重新进行一次CPU竞争”。
3、使用范围:wait,notify和notifyAll只能在同步控制方法或者同步控制块里面使用,而sleep可以在任何地方使用。
4、sleep必须捕获异常,而wait,notify和notifyAll不需要捕获异常。
11. 以下哪行代码会进行对象垃圾回收 1.public class MyClass{
2. public StringBuffer aMethod(){
3. StringBuffer sf = new 4.StringBuffer(\ 5. StringBuffer[] sf_arr = new StringBuffer[1]; 6. sf_arr[0] = sf; 7. sf = null;
8. sf_arr[0] = null; 9. return sf; }
} (该题为必答题) 2 第8行 第7行 第5行 第3行
12. 以下循环执行()次 public class Test{
public static void main(String[] args){ int x=-10,k=0; while(++x<0){ k++; }
System.out.println(k); }
} (该题为必答题) 1
9 10 11 无限
13. 如果存在事务上下文,方法调用使用当前事务上下文,如果不存在,则不创建新的事务
上下文。这种事务属性在EJB中应该配置为: (该题为必答题) 2 Never Supports Mandatory Required 注释:
Mandatory-当使用这个值时,bean方法被调用时必须有一个事务已经处在运行中。 Never-如果在现有事务中调用此bean,容器将抛出java.rmi.RemotException。 Required-bean方法必须总是在事务上下文中执行。
RequiresNew-当方法被调用的时候,bean总会需要启动一个新的事务。 Supports可以参与到正在运行的事务中,但这个事务并不是必须的。
Not Supported-该值意味着在事务中bean或者方法根本不能被调用。
14. 在Java中,负责对字节代码解释执行的是 (该题为必答题) 3 编译器 应用服务器 虚拟机 垃圾回收器
15. 在划分了等价类后,首先需要设计一个案例覆盖( )有效等价类 (该题为必答题) 等价类数量-1个 尽可能多的 2个 1个
16. 压力测试属于( )阶段 (该题为必答题) 1 系统测试 集成测试 用户验收测试 单元测试
17. 可靠性测试属于( )阶段 (该题为必答题) 2 用户验收测试 系统测试 集成测试 单元测试
18. 系统测试阶段的测试对象不包括( ) (该题为必答题) 2
2 硬件系统 源程序 软件系统 文档
19. 下面哪个描述属于功能需求( ) (该题为必答题) 4 系统要求能够连续运行1000小时 系统应按J2EE架构进行设计 90%的响应时间小于2秒钟
随机选择5%的用户发送广告消息
20. 使用瀑布模型术语,在软件测试V模型中,对应“需求分析”的测试阶段是( ) (该
题为必答题) 1 系统测试 集成测试 用户验收测试 单元测试 注释:
预验收测试
可行性分析 -----> 验收测试 ↘ 预系统测试 ↗ 需求分析 -----> 系统测试 ↘ 预集成测试 ↗ 概要设计 -----> 集成测试 ↘ 预单元测试 ↗
详细设计 -----> 单元测试 ↘ ↗ 编码
21. “均匀分散、齐整可比”这个描述与哪种测试方法一般知识有关:( ) (该题为必答
题) 1 正交法 决策表 因果图
等价类分析法
22. 以下状态迁移图(中括号表示状态,箭头表示边): [a]->[b],[b]->[c],[b]->[d],[c]->[d],[b]->[e]
则覆盖所有边至少需要( )个案例 (该题为必答题) 1 3 2 4 1 注释:
a->b->e a->b->c->d a->b->d
23. 测试系统长时间运行的表现,以期发现一些资源泄露等问题。这种测试类型一般知识是
(该题为必答题) 4 强度测试 基准测试 负载测试 稳定性测试
24. 软件测试方法一般知识中,___称为功能测试,___测试称为结构测试。 (该题为必答
题) 4
灰盒测试 白盒测试 白盒 黑盒
黑盒测试 灰盒测试 黑盒测试 白盒测试
25. 项目中的技术风险是通常是通过()方法来缓解的 (该题为必答题) 1 架构原型验证 技术文档 代码复审 单元测试
26. 软件设计的主要任务是设计软件的结构、模块和过程,其中软件结构设计的主要任务是
要确定 (该题为必答题) 3 模块的具体功能 模块间的操作细节 模块间的组成关系 模块间的相似性
27. 文件系统与()密切相关,它们共同为用户使用文件提供方便 (该题为必答题) 4 设备管理 作业管理 处理器管理 存储管理 注释:文件系统是操作系统用于明确磁盘或分区上的文件的方法和数据结构;即在磁盘上组织文件的方法。也指用于存储文件的磁盘或分区,或文件系统种类。操作系统中负责管理和存储文件信息的软件机构称为文件管理系统,简称文件系统。文件系统由三部分组成:与文件管理有关软件、被管理文件以及实施文件管理所需数据结构。从系统角度来看,文件系统是对文件存储器空间进行组织和分配,负责文件存储并对存入的文件进行保护和检索的系统。具体地说,它负责为用户建立文件,存入、读出、修改、转储文件,控制文件的存取,当用户不再使用时撤销文件等。
28. 文件的存取方式与文件的物理结构有关,可能有如下的文件物理结构: Ⅰ.顺序结构 Ⅱ.线性结构 Ⅲ.链接结构 Ⅳ.索引结构
而常见的文件物理结构是 (该题为必答题) 2 Ⅰ、Ⅱ和Ⅳ Ⅰ、Ⅲ和Ⅳ Ⅰ、Ⅱ和Ⅲ Ⅱ、Ⅲ和Ⅳ 注释:
文件的存取方式:
文件的存取方式是由文件的性质和用户使用文件的情况决定。 1 顺序存取。 2 随机存取。
磁带是顺序存取。磁盘是随机存取。 文件的物理结构: 1 顺序结构。 2 链接结构。 3 索引结构。
如果是三级索引,文件长度最大为:256*256*256+256*256+256+10。 文件系统最大的一个特点是“按名存取”文件目录是文件控制块的有序集合。
29. 要想在你的视图上成功的执行查询需要做什么? (该题为必答题) 3 基础表必须在同一个用户模式中 基础表中必须有数据
只能在基础表中有select权限 在视图中需要有select权限 注释:
安全性。通过视图用户只能查询和修改他们所能见到的数据。数据库中的其它数据则既看不见也取不到。数据库授权命令可以使每个用户对数据库的检索限制到特定的数据库对象上,但不能授权到数据库特定行和特定的列上。通过视图,用户可以被限制在数据的不同子集上:
使用权限可被限制在基表的行的子集上。 使用权限可被限制在基表的列的子集上。
使用权限可被限制在基表的行和列的子集上。
使用权限可被限制在多个基表的连接所限定的行上。 使用权限可被限制在基表中的数据的统计汇总上。 使用权限可被限制在另一视图的一个子集上,或是一些视图和基表合并后的子集上。
30. 数据库中只存放视图的? (该题为必答题) 3 对应的数据 操作 定义 限制 注释:
从用户角度来看,一个视图是从一个特定的角度来查看数据库中的数据。从数据库系统内部来看,一个视图是由SELECT语句组成的查询定义的虚拟表。从数据库系统内部来看,视图是由一张或多张表中的数据组成的,从数据库系统外部来看,视图就如同一张表一样,对表能够进行的一般操作都可以应用于视图,例如查询,插入,修改,删除操作等。
视图是一个虚拟表,其内容由查询定义。同真实的表一样,视图的作用类似于筛选。定义视图的筛选可以来自当前或其它数据库的一个或多个表,或者其它视图。分布式查询也可用于定义使用多个异类源数据的视图。
视图是存储在数据库中的查询的SQL 语句,它主要出于两种原因:安全原因,视图可以隐藏一些数据,如:社会保险基金表,可以用视图只显示姓名,地址,而不显示社会保险号和工资数等,另一原因是可使复杂的查询易于理解和使用。 视图:查看图形或文档的方式。
视图一经定义便存储在数据库中,与其相对应的数据并没有像表那样又在数据库中再存储一份,通过视图看到的数据只是存放在基本表中的数据。对视图的操作与对表的操作一样,可以对其进行查询、修改(有一定的限制)、删除。
当对通过视图看到的数据进行修改时,相应的基本表的数据也要发生变化,同时,若基本表的数据发生变化,则这种变化也可以自动地反映到视图中。
31. 在视图上不能完成的操作是 (该题为必答题) 1 在视图上定义新的基本表 在视图上定义新视图 更新视图 查询
注释:见上。
32. \的结果是() (该题为必答题) 4 5 4 6 7 3
注释:split方法是将一个字符串分割为子字符串,然后将结果作为字符串数组返回。
33. 下列关于Perl语言说法不正确的是() (该题为必答题) 1 Perl是脚本语言,因此运行速度较慢 Perl的脚本不支持动态加载
Perl比较擅长就是分析处理日志文件 Perl不需要编译器和链接器来运行代码 注释:
Perl借取了C、sed、awk、shell scripting以及很多其他程序语言的特性。其中最重要的特性是它内部集成了正则表达式的功能,以及巨大的第三方代码库CPAN。Perl与脚本语言一样,Perl不需要编译器和链接器来运行代码,你要做的只是写出程序并告诉Perl来运行而已。这意味着Perl对于小的编程问题的快速解决方案和为大型事件创建原型来测试潜在的解决方案是十分理想的。
Perl 是一种能完成任务的语言。从一开始,Perl 就设计成可以把简单工作简单化,同
时又不失去处理困难问题能力的语言。它可以很容易操作数字,文本,文件和目录,计算机和网络,特别是程序的语言。这种语言应该很容易运行外部的程序并且扫描这些程序的输出获取感兴趣的东西。而且它还应该很容易能把这些你感兴趣的东西交给其它程序做特殊的处理。当然,这种语言还应该很容易在任何现代的操作系统上可以移植地编译和运行。
34. 下列代码哪几行会出错: 1) public void modify() { 2) int I, j, k; 3) I = 100;
4) while ( I > 0 ) { 5) j = I * 2;
6) System.out.println (\ 7) k = k + 1; 8) I--; 9) }
10) } (该题为必答题) 2 line 6 line 7 line 8 line 4
35. 关于finally块中的代码描述正确的是: (该题为必答题) 3 异常发生时才被执行
如果try块后没有catch块时,finally块中的代码才会执行 finally块可以不写
异常没有发生时才被执行 注释:
finally在异常处理时提供finally块来执行所有清除操作。主要与try-catch-finally配合使用。
finally语句块的作用是无论出现什么情况,finally块中的语句一定会被执行,并且是在return之前执行。根据JAVA规范,如果try-finally或者catch-finally中都有return,则2个return都执行并最终返回调用者那里的是finally中的return,如果finally中没有return则返回的是catch中的return,但是finally中的代码也是要执行的。
36. 在面向对象数据模型中,子类不但可以从其超类中继承所有的属性和方法,而且还可以
定义自己的属性和方法,这有利于实现 (该题为必答题) 1 可扩充性 可靠性 可移植性 安全性
37. 关于自动化测试与手工测试的比较,正确的是( ) (该题为必答题) 3 自动化测试能做的,手工测试不能做 手工测试能做的,自动化测试都能做
谁也不能完全代替对方
自动化测试能做的,手工测试都能做
38. 假设i是小于10的整型变量,则表达式 i-10+10==i 的运行结果( ) (该题为必答
题) 4 等于-i 等于i
可能为真,也可能为假 一定为真 注释:
1、 该表中优先级按照从高到低的顺序书写,也就是优先级为1的优先级最高,优先级14的优先级最低。
2、 结合性是指运算符结合的顺序,通常都是从左到右。从右向左的运算符最典型的就是负号,例如3+-4,则意义为3加-4,符号首先和运算符右侧的内容结合。 3、instanceof作用是判断对象是否为某个类或接口类型。 4、注意区分正负号和加减号,以及按位与和逻辑与的区别。
39. 运用正交设计法可以覆盖( ) (该题为必答题) 2 所有逻辑分支
所有因素之间的组合 任意两个因素之间的组合 所有数据流 注释:
正交试验设计(Orthogonal experimental design)是研究多因素多水平的又一种设计方法,它是根据正交性从全面试验中挑选出部分有代表性的点进行试验,这些有代表性的点具备了“均匀分散,齐整可比”的特点,正交试验设计是分析因式设计的主要方法。是一种高效率、快速、经济的实验设计方法。
正交试验设计的关键在于试验因素的安排。通常,在不考虑交互作用的情况下,可以自由的将各个因素安排在正交表的各列,只要不在同一列安排两个因素即可(否则会出现混杂)。但是当要考虑交互作用时,就会受到一定的限制,如果任意安排,将会导致交互效应与其它效应混杂的情况。
40. 采用自顶向下集成的测试方法,需要编写( )。 (该题为必答题) 3 客户端程序 驱动程序 条件桩 测试桩 注释:
自顶向下增量式测试:主要优点在于它可以自然的做到逐步求精,一开始就能让测试者看到系统的框架;主要缺点是需要提供桩模块,并且在输入/输出模块接入系统以前,在桩模块中表示测试数据有一定困难。 自底向上增量式测试:优点在于由于驱动模块模拟了所有调用参数,即使数据流并未构成有向的非环状图,生成测试数据也无困难;主要缺点在于,直到最后一个模块被加进去之后才能看到整个程序(系统)的框架。
41. 功能测试也叫做( ) (该题为必答题) 1 FVT ST PT UAT
注释:FUNCTION VERIFY TESTING(功能测试),也称为behavioral testing(行为测试)。
42. 使用录制模式产生的自动化脚本,与人工编写的脚本相比,后期维护成本通常( )
(该题为必答题) 2 不能比较 较高 较低 没有差别
43. 某项测试有6个因素,均为布尔量,使用判定表方法,判定表有( ) 行 (该题为
必答题) 1 2^B194 B194^2
POWER(B194,B194) 6 注释:
判定表的建立步骤:
1)确定规则的个数。假如有n个条件。每个条件有两个取值(0,1),故有2的n次方种规则。 2)列出所有的条件桩和动作桩。 3)填入条件项。
4)填入动作项。得到初始判定表。 5)简化.合并相似规则(相同动作)。
44. 软件测试的目的是( ) (该题为必答题) 4 发现软件开发中出现的错误 避免软件开发中出现的错误 修改软件中出现的错误
尽可能多的发现软件缺陷,并确保得以修复
45. 黑盒测试也称为功能测试。黑盒测试不能发现 (该题为必答题) 4 输入是否正确接收 终止性错误 界面是否有错误 是否存在冗余代码
46. 如下参数中不能用于进程间通信的是 (该题为必答题) 1 信件 信号量 口令 消息 注释:
47. 操作系统具有进程管理、存储管理、文件管理和设备管理的功能,在以下有关的描述中,
哪一个是不正确的 (该题为必答题) 3 存储管理主要是管理内存资源
文件管理可以有效地支持对文件的操作,解决文件共享、保密和保护问题 进程管理主要是对程序进行管理
设备管理是指计算机系统中除了CPU和内存以外的所有输入、输出设备的管理 注释:进程管理指的是操作系统调整复数进程的功能。
48. 下列关于描述XML和HTML的差异不正确的是 (该题为必答题) 2 解析XML的性能优于HTML XML与HTML互补
XML的语法比HTML严格 XML扩展性比HTML强
注释:xml和html都是用于操作数据或数据结构,在结构上大致是相同的,但它们在本质上却存在着明显的区别。综合网上的各种资料总结如下。它们的区别主要有以下几点: 一、语法要求不同:
1. 在html中不区分大小写,在xml中严格区分。
2. 在HTML中,有时不严格,如果上下文清楚地显示出段落或者列表键在何处结尾,那么你可以省略
或者之类的结束标记。在XML中,是严格的树状结构,绝对不能省略掉结束标记。3. 在XML中,拥有单个标记而没有匹配的结束标记的元素必须用一个/字符作为结尾。 这样分析器就知道不用查找结束标记了。
4. 在XML中,属性值必须分装在引号中。在HTML中,引号是可用可不用的。
5. 在HTML中,可以拥有不带值的属性名。在XML中,所有的属性都必须带有相应的值。 6. 在XML文档中,空白部分不会被解析器自动删除;但是html是过滤掉空格的。 二、标记不同:
html使用固有的标记;而xml没有固有的标记。 Html标签是预定义的;
XML标签是免费的、自定义的、可扩展的。 三、作用不同:
1. html是用来显示数据的;xml是用来描述数据、存放数据的,所以可以作为持久化的介质!Html将数据和显示结合在一起,在页面中把这数据显示出来;而xml则将数据和显示分开。 XML被设计用来描述数据,其焦点是数据的内容。 HTML被设计用来显示数据,其焦点是数据的外观。
2. xml不是HTML的替代品,xml和html是两种不同用途的语言。 XML 不是要替换 HTML;实际上XML可以视作对HTML 的补充。 XML 和HTML 的目标不同:
HTML的设计目标是显示数据并集中于数据外观,而XML的设计目标是描述数据并集中于数据的内容。
3. 没有任何行为的XML。与HTML相似,XML不进行任何操作。(共同点)
4. 对于XML最好的形容可能是: XML是一种跨平台的,与软、硬件无关的,处理与传输信 息的工具。
5. XML未来将会无所不在。XML将成为最普遍的数据处理和数据传输的工具。
49. 下面是有关子类调用父类构造函数的描述正确的是 (该题为必答题) 4 创建子类对象时,先调用子类自己的构造函数,然后调用父类的构造函数 子类必须通过super关键字调用父类没有参数的构造函数 子类定义了自己的构造函数,就不会调用父类的构造函数
如果子类的构造函数没有通过super调用父类构造函数,那么子类会先调用父类不含参数的构造函数,再调用子类自己的构造函数 注释: 构造函数的继承
1、子类只继承父类的默认(缺省)构造函数,即无形参构造函数。如果父类没有默认构造函数,那子类不能从父类继承到任何构造函数。
2、子类从父类处继承来的父类默认构造函数,不能成为子类的默认构造函数。
3、在创建对象时,先调用父类默认构造函数对对象进行初始化,然后调用子类自身自己定义的构造函数。
4、如果子类想调用父类的非默认构造函数,则必须使用super来实现。
5、子类必须调用父类的构造函数。可以通过系统自动调用父类的默认构造函数,如果父类没有默认构造函数时,子类构造函数必须通过super调用父类的构造函数。
缺省构造函数的问题:base类是父类,derived类是子类,首先要说明的是由于先有父类后有子类,所以生成子类之前要首先有父类。class 是由class的构造函数constructor产生的,每一个class都有构造函数,如果你在编写自己的class时没有编写任何构造函数,那么编译器为你自动产生一个缺省default构造函数。这个default构造函数实质是空的,其中不包含任何代码。但是一牵扯到继承,它的问题就出现了。
如果父类base class只有缺省构造函数,也就是编译器自动为你产生的。而子类中也只有缺省构造函数,那么不会产生任何问题,因为当你试图产生一个子类的实例时,首先要执行子类的构造函数,但是由于子类继承父类,所以子类的缺省构造函数自动调用父类的缺省构造函数。先产生父类的实例,然后再产生子类的实例。
50. 下面( )是有效明确的功能需求 (该题为必答题) 2 两年内存储数据量不超过100G 登录后显示公告栏 界面美观大方
长时间操作后提醒用户休息
51. 以下哪一项测试是自动化测试无法胜任的:( ) (该题为必答题) 1 对图形验证码的测试 对数据流的测试 对业务流程的测试 对页面校验规则的测试
52. 一个对象有4个属性,每个属性有3种可能的值,如果要求对所有值的组合进行测试,
则共有( )种组合 (该题为必答题) 2 12 81 7 64
53. 软件测试术语“V&V”指( ) (该题为必答题) 4 Valid and Valuable Version and Version Valid and Victory
Verification and Validation
注释:软件测试中的V&V意思是:软件测试的工作归结起来就是两个V,Verification和Validation。Verification翻译为验证,在在ISO9000中,“验证”的严格定义是:验证是通过检查和提供客观证据,表明规定要求已经满足的认可。Validation翻译为确认,在ISO9000中,“确认”的严格定义是:确认是通过检查和提供客观证据,表明一些针对某一特定预期用途的要求已经满足的认可。所以,V&V意思就是:软件测试中的 Verification 和 Validation
54. Loadrunner中哪个部件用来设置性能测试场景 (该题为必答题) 1 controller
virtual user generator remote agent analysis
注释:LoadRunner包含以下组件:
?Virtual User Generator录制最终用户业务流程并创建自动化性能测试脚本,即Vuser脚本。 ?Controller组织、驱动、管理并监控负载测试。 ?Load Generator通过运行Vuser 产生负载。 ?Analysis用于查看、剖析和比较性能结果。
?Launcher使您可以从单个访问点访问所有LoadRunner组件。
55. 以下关于压力测试的描述,哪种描述是错误的? (该题为必答题) 4 压力测试和并发行测试的联系和区别:并发测试是一种测试手段,在压力测试中可以利用并发测试来进行压力测试。
压力测试一般通过模拟方法进行。
压力测试是指模拟巨大的工作负荷,以查看系统在峰值使用情况下是否可以正常运行。 压力测试是通过一次性大量增加系统负载来测试系统性能的变化,以此来获得系统性能提供的最大服务级别的测试。
56. 从下列叙述中,能够与需求分析、设计、编码相对应的软件测试阶段是 (该题为必
答题) 2
单元测试、开发集成测试、系统测试 系统测试、开发集成测试、单元测试 开发集成测试、系统测试、单元测试 单元测试、系统测试、开发集成测试 注释:
预验收测试
可行性分析 -----> 验收测试 ↘ 预系统测试 ↗ 需求分析 -----> 系统测试 ↘ 预集成测试 ↗
概要设计 -----> 集成测试 ↘ 预单元测试 ↗
详细设计 -----> 单元测试 ↘ ↗ 编码
57. 以下不能用作功能测试的自动化工具是 (该题为必答题) 2 WinRunner ClearCase QTP Robot 注释:
WinRunner:是一种企业级的功能测试工具,用于检测应用程序是否能够达到预期的功能及正常运行。
ClearCase:是SCM管理工具其中的一种。是RATIONAL公司开发的配置管理工具,类似于VSS,CVS的作用,但是功能比VSS,CVS强大的多,而且可以与WINDOWS资源管理器集成使用,并且还可以与很多开发工具集成在一起使用。 QTP:一个侧重于功能的回归自动化测试工具。 Robot:是一种可扩展的、灵活的功能测试工具。
58. 软件测试的对象包括____。 (该题为必答题) 3 源程序和目标程序 目标程序和相关文档
源程序、目标程序、数据及相关文档 目标程序、操作系统和平台软件
59. 在UML提供的图中,( )用于按时间顺序描述对象间的交互。 (该题为必答题) 1 序列图 状态图 网络图 协作图
注释:顺序图展现了一组对象和由这组对象收发的消息,用于按时间顺序对控制流建模。用顺序图说明系统的动态视图。
60. 在操作系统中,Wait(s)和Signal(s)操作是一种 (该题为必答题) 2 作业控制命令 低级进程通信原语 机器指令 系统调用命令
注释:信号量是一种计数器,可以控制进程间多个线程或者多个进程对资源的同步访问,它常实现为一种锁机制。实质上,信号量是一个被保护的变量,并且只能通过初始化和两个标准的原子操作(P/V)来访问。(P,V操作也常称为wait(s),signal(s))。
61. 下面列出的条目中,哪些是数据仓库的基本特征______。
Ⅰ.数据仓库是面向主题的 Ⅱ.数据仓库的数据是集成的 Ⅲ.数据仓库的数据是相对稳定的
Ⅳ.数据仓库的数据是反映历史变化的 (该题为必答题) 2 Ⅰ、Ⅱ和Ⅳ 都是
Ⅱ、Ⅲ和Ⅳ Ⅰ、Ⅱ和Ⅲ 注释:
数据仓库的特点 1、面向主题
操作型数据库的数据组织面向事务处理任务,各个业务系统之间各自分离,而数据仓库中的数据是按照一定的主题域进行组织的。 2、集成的
数据仓库中的数据是在对原有分散的数据库数据抽取、清理的基础上经过系统加工、汇总和整理得到的,必须消除源数据中的不一致性,以保证数据仓库内的信息是关于整个企业的一致的全局信息。 3、相对稳定的
数据仓库的数据主要供企业决策分析之用,所涉及的数据操作主要是数据查询,一旦某个数据进入数据仓库以后,一般情况下将被长期保留,也就是数据仓库中一般有大量的查询操作,但修改和删除操作很少,通常只需要定期的加载、刷新。 4、反映历史变化
数据仓库中的数据通常包含历史信息,系统记录了企业从过去某一时点(如开始应用数据仓库的时点)到目前的各个阶段的信息,通过这些信息,可以对企业的发展历程和未来趋势做出定量分析和预测
62. 下列关于jsp和servlet描述不正确的是 (该题为必答题) 4 JSP侧重于视图
Servlet的应用逻辑是在Java文件中 JSP本质上是Servlet的简易方式 Servlet也可以嵌入在HTML里 注释:JSP是Servlet技术的扩展,本质上就是Servlet的简易方式。JSP编译后是“类servlet”。Servlet和JSP最主要的不同点在于,Servlet的应用逻辑是在Java文件中,并且完全从表示层中的HTML里分离开来。而JSP的情况是Java和HTML可以组合成一个扩展名为.jsp的文件。JSP侧重于视图,Servlet主要用于控制逻辑。
63. 假设A类有如下定义,设a是A类的一个实例,下列哪些语句调用是错误的。4 class A { int i;
static String s;
void method1() { }
static void method2() { } } (该题为必答题) A.method1();
A.method2()
System.out.println(a.i); a.method1(); 注释:
1:没有static修饰的方法,在调用的时候需要先创造对象类名。
对象名=new 类名(); 对象名.方法名();
2:有static修饰的方法,在调用的时候直接调用。
类名.方法名();
也就是说:没有static修饰的,它们在生成的时候,就属于对象。 有static修饰的,它们在生成的时候,就属于类。
64. 欲构造ArrayList类的一个实例,此类继承了List接口,下列哪个方法是正确的 ?
(该题为必答题) 1
List myList=new ArrayList(); ArrayList myList=new List();
ArrayList myList=new Object(); List myList=new List(); 注释:
List是一个接口,而ListArray是一个类。 ListArray继承并实现了List。所以List不能被构造,但可以向上面那样为List创建一个引用,而ListArray就可以被构造。 List list; //正确 list=null;
List list=new List(); // 是错误的用法
List list = new ArrayList();这句创建了一个ArrayList的对象后把上溯到了List。此时它是一个List对象了,有些ArrayList有但是List没有的属性和方法,它就不能再用了。而ArrayList list=new ArrayList();创建一对象则保留了ArrayList的所有属性。这是一个例子: import java.util.*;
public class TestList{
public static void main(String[] args){ List list = new ArrayList();
ArrayList arrayList = new ArrayList(); list.trimToSize(); //错误,没有该方法。
arrayList.trimToSize(); //ArrayList里有该方法。 } }
编译一下就知道结果了。
如果这个样子:List a=new ArrayList(); 则a拥有List与ArrayList的所有属性和方法,不会减少。
如果List与ArrayList中有相同的属性(如int i),有相同的方法(如void f()),则a.i是调用了List中的i a.f()是调用了ArrayList中的f(); 问题的关键:
为什么要用 List list = new ArrayList() ,而不用 ArrayList alist = new ArrayList()呢?问题就在
于List有多个实现类,现在你用的是ArrayList,也许哪一天你需要换成其它的实现类,如 LinkedList或者Vector等等,这时你只要改变这一行就行了:List list = new LinkedList(); 其它使用了list地方的代码根本不需要改动。假设你开始用 ArrayList alist = new ArrayList(), 这下你有的改了,特别是如果你使用了 ArrayList特有的方法和属性。 地区用 List arr = new ArrayList();定义;
行业用 ArrayListarr = new ArrayList();定义;
则说明,行业里用到了ArrayList的特殊的方法。 另外的例子就是,在类的方法中,如下声明: private void doMyAction(List list){}
这样这个方法能处理所有实现了List接口的类,一定程度上实现了泛型函数。
如果开发的时候觉得ArrayList,HashMap的性能不能满足你的需要,可以通过实现List,Map(或者Collection)来定制你的自定义类。
65. 下列关于栈的叙述正确的是 (该题为必答题) 3 栈具有先进先出的特征 栈是非线性结构
栈具有后进先出的特征 栈是一种树状结构
66. 算法的时间复杂度是指 (该题为必答题) 3 算法程序的长度
执行算法程序所需要的时间
算法执行过程中所需要的基本运算次数 算法程序中的指令条数
注释:在进行算法分析时,语句总的执行次数T(n)是关于问题规模n的函数,进而分析T(n)随n的变化情况并确定T(n)的数量级。算法的时间复杂度,也就是算法的时间量度,记作:T(n) = O(f(n))。它表示随问题规模n的增大,算法执行时间的增长率和f(n)的增长率相同,称作算法的渐近时间复杂度,简称为时间复杂度。其中f(n)是问题规模n的某个函数。
67. 一个输入项的合法输入范围是“0-100的整数”,则边界值应该是 (该题为必答题) 4 0,50,100
-0.00001,0,100,100.00001 0,100
-1,0,100,101
68. 一个输入项的合法输入范围是“上”、“下”,则一个最小的等价类划分是:( ) (该
题为必答题) 4 上,下,左,右 上,中,下 上,下
不适合用等价类
69. 一个输入项的合法输入范围是“当月日期”,则合理的测试边界值为:( ) (该题为
必答题) 2
前月第一天,当月第一天,当月最后一天,下月最后一天 前月最后一天,当月第一天,当月最后一天,下月第一天 当月第一天,当月月中,当月最后一天 当月第一天,当月最后一天
70. 系统测试阶段一般不会关注( ) (该题为必答题) 3 系统安全性 系统性能 代码规范 系统功能
71. 一个对象有3个属性,每个属性有4种可能的值,如果要求对所有值的组合进行测试,
则共有( )种组合 (该题为必答题) 1 64 81 12 7
72. 对于软件的回归测试,下列描述正确的是()。 (该题为必答题) 3 回归测试就是在集成测试之后进行的测试 回归测试就是在单元测试之后进行的测试 回归测试存在于软件测试的各个阶段 回归测试就是在系统测试之后进行的测试 注释:回归测试是指修改了旧代码后,重新进行测试以确认修改没有引入新的错误或导致其他代码产生错误。自动回归测试将大幅降低系统测试、维护升级等阶段的成本。回归测试作为软件生命周期的一个组成部分,在整个软件测试过程中占有很大的工作量比重,软件开发的各个阶段都会进行多次回归测试。在渐进和快速迭代开发中,新版本的连续发布使回归测试进行的更加频繁,而在极端编程方法中,更是要求每天都进行若干次回归测试。因此,通过选择正确的回归测试策略来改进回归测试的效率和有效性是非常有意义的。
73. 下列描述中正确的是() (该题为必答题) 4 软件工程只是解决软件开发中的技术问题。 软件工程主要解决软件产品的生产率问题。 软件工程只是解决软件项目的管理问题
软件工程的主要思想是强调在软件开发过程中需要应用工程化的原则。
74. Character流与Byte流的区别是 (该题为必答题) 2 二者没有区别,可以互换使用 每次读入的字节数不同
前者是块读写,后者是字节读写 前者带有缓冲,后者没有 注释:Java的流操作分为字节流和字符流两种。字节流与字符流主要的区别是他们的的处理方式。字节流是最基本的,所有的InputStream和OutputStream的子类都是,主要用在处理二进制数据,它是按字节来处理的。但实际中很多的数据是文本,又提出了字符流的概念,它
是按虚拟机的encode来处理,也就是要进行字符集的转化。这两个之间通过 InputStreamReader,OutputStreamWriter来关联,实际上是通过byte[]和String来关联。字符流处理的单元为2个字节的Unicode字符,分别操作字符、字符数组或字符串,而字节流处理单元为1个字节,操作字节和字节数组。所以字符流是由Java虚拟机将字节转化为2个字节的Unicode字符为单位的字符而成。
75. 下面那种服务不是JNDI应用范围。 (该题为必答题) 4 JMS EJB JDBC Servlet
注释:jndi是Java 命名和目录接口(Java Naming and Directory Interface,JNDI)的简称.从一开始就一直是 Java 2 平台企业版(JEE)的核心技术之一。在JMS,JMail,JDBC,EJB等技术中,就大量应用的这种技术。
76. 下列哪个组件能在一个EAR文件中被声明。 (该题为必答题) 2 JMX Mbeans EJB类
JMS ConnectionFactory和Destination对象 JDBC DataSource对象
注释:文件扩展名,全称是Enterprise Archive File,是指JAR生成的一个打包文件,通常是EJB打成ear包。JAR(Java Archive,Java 归档文件)是与平台无关的文件格式,它允许将许多文件组合成一个压缩文件。为 J2EE 应用程序创建的 JAR 文件是 EAR 文件(企业 JAR 文件)。EAR(Enterprise Archive file)包含内容:Servlet、JSP页面、JSP标记库、JAR库文件、HTML/XML文档和其他公用资源文件,如图片、音频文件等; 除了包含JAR、WAR以外,还包括EJB组件。EAR包含4种模块:EJB;WEB;Resource Adapter;资源适配器Client Application。
77. 冒烟测试不通过,说明( ) (该题为必答题) 1 被测系统存在较大问题 应该加大测试人力投入 应该提高测试人员技能 单元测试成功率低 注释:在软件中,“冒烟测试”这一术语描述的是在将代码更改嵌入到产品的源树中之前对这些更改进行验证的过程。在检查了代码后,冒烟测试是确定和修复软件缺陷的最经济有效的方法。冒烟测试设计用于确认代码中的更改会按预期运行,且不会破坏整个版本的稳定性。
78. 一个输入项的合法输入范围是“1,3,5”,则边界值应该是 (该题为必答题) 3 0,1,3,5,6 1,5
0,1,2,3,4,5,6 1,3,5
79. 在自动化测试脚本中,对于实际输出值应该( ) (该题为必答题) 2
自动与预期值比较,并把比较结果记录到日志 自动与预期值比较,并设置案例的成功/失败状态 记录到日志并人工检查 输出到屏幕
80. 对以下Java代码片段进行语句覆盖,最少需要( )个案例:1 if(a>b && b>c){ b=a/c;
} (该题为必答题) 3 4 2 1
81. 一个对象有5个属性,每个属性有3种可能的值,如果要求对所有值的组合进行测试,
则共有( )种组合 (该题为必答题) 1 3^5 5*3 5^3 5
82. 某次程序调试没有出现预计的结果,下列( )不可能是导致出错的原因 (该题
为必答题) 4 代码输入有误 循环控制出错 变量没有初始化
编写的语句书写格式不规范
83. 对于软件生命周期的一般描述,正确的是 (该题为必答题) 2 需求分析 概要设计 详细设计 编码 调试 发布 维护 需求分析 概要设计 详细设计 编码 测试 发布 维护 需求分析 概要设计 详细设计 编码 测试 发布 维护 需求分析 概要设计 详细设计 编码 发布 测试 维护 注释:
软件生存周期包括:
一,问题定义。要求系统分析员与用户进行交流,弄清“用户需要计算及解决什么问题”然后提出关于“系统目标与范围的说明”,提交用户审查和确认。
二,可行性研究。一方面在于把待开发的系统的目标以明确的语言描述出来,另一方面从经济、技术、法律等多方面进行可行性分析。
三,需求分析。弄清用户对软件系统的全部需求,编写需求规格说明书和初步的用户手册,提交评审。
四,开发阶段。开发阶段由三个阶段组成: 1,设计
2,实现:根据选定的程序设计语言完成源程序的编码。
3,测试
五,维护:维护包括四个方面
1,改正性维护:在软件交付使用后,由于开发测试时的不彻底、不完全、必然会有一部分隐藏的错误被带到运行阶段,这些隐藏的错误在某些特定的使用环境下就会暴露。 2,适应性维护:是为适应环境的变化而修改软件的活动。
3,完善性维护[1]:是根据用户在使用过程中提出的一些建设性意见而进行的维护活动。 4,预防性维护:是为了进一步改善软件系统的可维护性和可靠性,并为以后的改进奠定基础。
84. 下面的语句的作用是:
Vector MyVector = new Vector(100,50); (该题为必答题) 1
创建一个向量类对象MyVector,有100个元素的空间,若空间使用完时,以50个元素空间单位递增
创建一个向量类对象MyVector,有100个元素的空间,每个元素的初值为50 创建一个数组类对象MyVector,有100个元素的空间,每个元素的初值为50
创建一个数组类对象MyVector,有100个元素的空间,若空间使用完时,以50个元素空间单位递增 注释:
Vector类有三个构造函数,最复杂的是:
Public Vector(int initCapacity,int capacityIncrement); initCapacity——表示刚创建时Vector序列包含的元素个数 capacityIncrement——表示每次向Vector中追加元素时的增量 例: Vector MyVector = new Vector(10,5)
表示创建的MyVector 向量序列初始有10个元素,以后不够用时,按5为单位递增。创建时不需要指明元素类型,使用时再确定。
85. 在实现DAO设计模式时,下面哪种模式经常被采用: (该题为必答题) 3 Proxy模式 Observer模式 Factory模式 Prototype模式 注释:
JAVA 23种设计模式主要分三个类型:创建型、结构型和行为型。 其中创建型有:
一、Singleton,单例模式:保证一个类只有一个实例,并提供一个访问它的全局访问点。 二、Abstract Factory,抽象工厂:提供一个创建一系列相关或相互依赖对象的接口,而无须指定它们的具体类。
三、Factory Method,工厂方法:定义一个用于创建对象的接口,让子类决定实例化哪一个类,Factory Method使一个类的实例化延迟到了子类。
四、Builder,建造模式:将一个复杂对象的构建与他的表示相分离,使得同样的构建过程可以创建不同的表示。
五、Prototype,原型模式:用原型实例指定创建对象的种类,并且通过拷贝这些原型来创建新的对象。 行为型有:
六、Iterator,迭代器模式:提供一个方法顺序访问一个聚合对象的各个元素,而又不需要暴露该对象的内部表示。
七、Observer,观察者模式:定义对象间一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知自动更新。
八、Template Method,模板方法:定义一个操作中的算法的骨架,而将一些步骤延迟到子类中,TemplateMethod使得子类可以不改变一个算法的结构即可以重定义该算法得某些特定步骤。
九、Command,命令模式:将一个请求封装为一个对象,从而使你可以用不同的请求对客户进行参数化,对请求排队和记录请求日志,以及支持可撤销的操作。
十、State,状态模式:允许对象在其内部状态改变时改变他的行为。对象看起来似乎改变了他的类。
十一、Strategy,策略模式:定义一系列的算法,把他们一个个封装起来,并使他们可以互相替换,本模式使得算法可以独立于使用它们的客户。
十二、China of Responsibility,职责链模式:使多个对象都有机会处理请求,从而避免请求的送发者和接收者之间的耦合关系。
十三、Mediator,中介者模式:用一个中介对象封装一些列的对象交互。
十四、Visitor,访问者模式:表示一个作用于某对象结构中的各元素的操作,它使你可以在不改变各元素类的前提下定义作用于这个元素的新操作。
十五、Interpreter,解释器模式:给定一个语言,定义他的文法的一个表示,并定义一个解释器,这个解释器使用该表示来解释语言中的句子。
十六、Memento,备忘录模式:在不破坏对象的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态。 结构型有:
十七、Composite,组合模式:将对象组合成树形结构以表示部分整体的关系,Composite使得用户对单个对象和组合对象的使用具有一致性。
十八、Facade,外观模式:为子系统中的一组接口提供一致的界面,fa?ade提供了一高层接口,这个接口使得子系统更容易使用。
十九、Proxy,代理模式:为其他对象提供一种代理以控制对这个对象的访问。
二十、Adapter,适配器模式:将一类的接口转换成客户希望的另外一个接口,Adapter模式使得原本由于接口不兼容而不能一起工作那些类可以一起工作。
二十一、Decrator,装饰模式:动态地给一个对象增加一些额外的职责,就增加的功能来说,Decorator模式相比生成子类更加灵活。
二十二、Bridge,桥模式:将抽象部分与它的实现部分相分离,使他们可以独立的变化。 二十三、Flyweight,享元模式。
DAO是Data Access Object数据访问接口,数据访问:故名思义就是与数据库打交道。夹在业务逻辑与数据库资源中间。
DAO的功能:
1. DAO用来封装Data Source,如Connection conn = DAOFacotry.createConnection()..
就可以把Driver. URL. username, passpword这一些放在DAO中。
以后要更改数据库的类型,如要把MSSQL换成Oracle的话,只需要更改DAOFacory里面的getConnection()里面的Driver.URL.之类的。
2. DAO也是把对数据库的操作(比如最基本的CRUD操作)全部封装在里面..
比如说你要你要插入一个新的用户,那么在DAO中我们只需要提供一个insertUser(User user)这一个方法就可以了,具体的操作是在DAO中实现的。
那么对于要调用DAO的时候.我们只要知道insertUser(User)是用来插入一个新的用户,而不需要知道是如何实现的。
一般 DAO是与Abstract Factory模式一起来用的。
86. 以下语句输出的结果是: String str=\int x=4,y=5; str=str+(x+y);
System.out.println(str); (该题为必答题) 2 123+4+5 12349 123445
会产生编译错误
注释:Java机制规定,出现String类型,默认强制转换为String。
87. 有关线程的哪些叙述是对的。 (该题为必答题) 4
当一个线程因为抢先机制而停止运行,它被放在可运行队列的前面。 一旦一个线程被创建,它就立即开始运行。
一个线程可能因为不同的原因停止(cease)并进入就绪状态。
使用start()方法可以使一个线程成为可运行的,但是它不一定立即开始运行。
注释:start()方法产生运行线程所必须的资源,调度线程执行,并且调用线程的run()方法。在这时线程处于可运行态。该状态不称为运行态是因为这时的线程并不总是一直占用处理机。特别是对于只有一个处理机的PC而言,任何时刻只能有一个处于可运行态的线程占用处理机。Java通过调度来实现多线程对处理机的共享。
88. 功能测试的执行时机应该在( ) (该题为必答题) 2 性能测试之后 集成测试之后 单元测试之前 验收测试之后
89. 不同的测试阶段,需要考虑不同的测试目标。比如在单元测试阶段,测试的主要目标是
(该题为必答题)3
检验开发人员的工作质量 对软件的质量进行评估 尽可能的发现失效
确认系统是否按照预期工作 注释:
按照开发阶段划分,软件测试可分为单元测试、集成测试,系统测试和验收测试。 单元测试:针对每个单元的测试,以确保每个模块能正常工作为目标。
集成测试:对已测试过的模块进行组装,进行集成测试。目的在于检验与软件设计相关的程序结构问题。
确认(有效性)测试:是检验所开发的软件能否满足所有功能和性能需求的最后手段。有的划分方法中,也将确认测试合并入系统测试中。
系统测试:检验软件产品能否与系统的其他部分(比如,硬件、数据库及操作人员)协调工作。
验收(用户)测试:检验软件产品质量的最后一道工序。主要突出用户的作用,同时软件开发人员也应有一定程度的参与。
验收测试可以分成Alpha测试和Beta测试。 Alpha测试是由用户在开发环境下完成的测试,Beta测试是由用户在用户环境下完成的测试。
90. 软件测试哪个阶段修复缺陷的成本最低? (该题为必答题) 1 需求分析阶段 系统测试阶段 集成测试阶段 编码阶段
91. 黑盒测试也称为功能测试。黑盒测试不能发现 (该题为必答题) 1 是否存在冗余代码 界面是否有错误 终止性错误
输入是否正确接收
92. 关于LoadRunner中web_url函数的说法,错误的表述是: (该题为必答题) 2 所有的WebVusers,HTTP模式下的WAPVusers或者回放模式下的WirelessSessionProtocol(WSP),都支持web_url函数;
web_url并不依据函数中的URL属性去加载对应的URL,所以需要上下文; 只有VuGen处于URL-based或者HTML-based(此时AscriptcontainingexplicitURLsonly选项被选中时)的录制模式时,web_url才会被录制到;
通过修改HTTP头可以传递给服务器一些附加的请求信息,使用HTTP头允许请求中包含其他的内容类型(Content_type),象压缩文件一样,还可以只请求特定状态下的web页面; 注释:Web_url根据函数中的URL属性加载对应的URL,不需要上下文。
93. 测试人员发现缺陷后,正确的态度是 (该题为必答题) 3 兴高采烈的告诉开发人员这个好消息
维护开发人员尊严,小缺陷私下沟通就可以了 客观报告缺陷现象,不加入主观情感色彩
用幽默的方式对开发人员犯的低级错误提出批评
94. “上个版本中,小王编写的程序出现了几个日期计算方面的错误,这个版本中我要对他
程序中的日期进行着重测试”,这个分析使用了 (该题为必答题) 3 错误推测法 因果图法 ad hoc测试 等价类分析法 注释:“Ad-Hoc” 原意是指 “特定的,一次性的”,这里专指“随机的,自由的”测试。在软件测试中除了根据测试样例和测试说明书进行测试外,还需要进行随机测试(Ad-hoc testing),主要是根据测试者的经验对软件进行功能和性能抽查。随机测试是根据测试说明书
执行样例测试的重要补充手段,是保证测试覆盖完整性的有效方式和过程。
95. 测试一个系统能否登录和注销,属于 (该题为必答题) 3 UI测试 安全性测试 功能测试 可靠性测试
96. 如果我们想检查一个文本框在每次自动化运行后的文字结果,则我们通过下面哪个函数
来获取文字内容? (该题为必答题) 2 GetTOProperty GetROProperty SetROProperty SetTOProperty
注释:GetTOProperty和GetROProperty都用于取出对象的某个具体属性的值,它们的语法和用法几近相同,唯一的区别就是GetTOProperty取出的是录制对象的属性值,而GetROProperty取出的是在回放过程中运行的对象的属性值。
97. 下面哪种写法是正确的? (该题为必答题) 2 Select category,AVG(productprice)平均价格from productinfogroupbyproductpriceHAVINGAVG(category)>2000; Select category,AVG(productprice)平均价格from productinfogroupbycategoryHAVINGAVG(productprice)>2000; Select category,AVG(productprice)平均价格from productinfogroupbyproductpriceHAVINGcategory>2000;
Select category,AVG(productprice)平均价格from productinfo groupby productprice HAVINGproductprice>2000;
98. linux文档编辑器中跳到文档末尾的快捷键是 (该题为必答题) 4 ? N : G
99. 以下哪一项不是进程和程序的区别? A
A. 程序只能在前台运行,而进程可以在前台或后台运行 B. 程序可以长期保存,进程是暂时的
C. 程序是一组有序的静态指令。进程是一次程序的执行过程 D. 程序没有状态,而进程是有状态的
100. 在XML文档中使用CSS样式单正确的方式为: D A. 内部和外部 B. 包含式 C. 交叉引用
D. 引用式和嵌入式
101. 类Teacher和Student是类Person的子类:D Person p; Teacher t; Student s;
//p,t and s are all non-null.
if(t instanceof Person) {s=(Student)t;} 最后一句语句的结果是: A. 表达式是合法的
B. 将构造一个Student对象 C. 编译时正确,但运行时错误 D. 表达式是错误的
102. 以下哪个方法不改变线程的状态? C A. run() B. sleep() C. isAlive() D. start()
103. 用于将java源代码文件编译成字节码的编译器是 D A. java B. jdb C. javah D. javac
104. 下列关于XHTML和HTML描述不正确的是 D A. 所有的XHTML元素一定要关闭,HTML则不用 B. XHTML可应用多种类型的数据格式
C. XHTML属性描述严格,HTML属性要求简单 D. XHTML一定要被正确的嵌套使用,HTML则不用
105. 以下哪一项不能用基于网络协议的性能测试工具进行测试 B A. 文件上传的响应时间 B. Applet展现影像的时间 C. 查询操作的响应时间 D. 文件下载的响应时间
106. 文件的存取方式是由文件的性质和用户使用文件的情况而确定的,一般有两种存取方
式,它们是 B A. 顺序存取和链接存取 B. 顺序存取和随机存取 C. 直接存取和间接存取 D. 只读存取和读写存取
107. 保证在Java应用程序中,一个类Class只有一个实例存在该使用什么设计模式 。 B A. Builder模式 B. Factory模式 C. Singleton模式 D. Composite模式
108. 下列关于注释语句的描述中,正确的一项是 C A. 以/**开始,*/结束的是可以用于生成帮助文档的注释语句 B. 以/**开始,*/结束的是单行注释语句 C. 以/*开始,*/结束的是单行注释 D. 以//开始的是多行注释语句
109. 定义字符串:String str=\则str.substring(2,5).indexOf('d')的结果是: D A. 4 B. 3 C. 2 D. 1
110. 一个栈的输入序列为1 2 3 4 5,则下列序列中不可能是栈得输出序列的是(A ) A. 5 4 1 3 2 B. 2 3 1 4 5 C. 1 5 4 3 2 D. 2 3 4 1 5
111. 关于垃圾收集的哪些叙述是正确的 C
A. 垃圾收集能够在期望的时间释放被java对象使用的内存 B. 垃圾收集允许程序开发者明确指定并立即释放该内存 C. 垃圾收集将检查并释放不再使用的内存
D. 程序开发者必须自己创建一个线程进行内存释放的工作
112. 若有一个计算类型的程序,它的输入量只有一个X,其范围是[-1.0,1.0],现从输入
的角度考虑一组测试用例:-1.001,-1.0,1.0,1.001。设计这组测试用例的方法是( A ) A. 边界值分析法 B. 错误推测法 C. 条件覆盖法 D. 等价分类法
113. 下列有关自动化工具测试叙述,错误的是()。 A A. 可以执行一些手工测试困难或不可能进行的测试 B. 测试自动化不能提高有效性 C. 自动化测试可以减少工作量 D .回归测试更方便
114. 如下代码将要实现的目的是清除所有QTP已经设置的相对路径,请选择补齐(): DimQTPApplication
SetQTPApplication=CreateObject(\QTPApplication.Launch
QTPApplication.Visible=True A
A. Fori=0toQTPApplication.Folders.Count-1 QTPApplication.Folders.Item(i).Remove Next B. QTPApplication.Folders.RemoveAll()
C. QTPApplication.Options.Folders.RemoveAll()
D. Fori=1toQTPApplication.Folders.Count QTPApplication.Folders.Item(i).Remove Next
115. 设计一表结构,某字段要求存放员工编号,为固定10位长字符,采用哪种类型字段 C A. VARCHAR B. varray C. CHAR D. LONG
116. 关于索引(index)的说法哪些是错误? C A. 建立索引可使检索操作更迅速
B. 索引应该根据具体的检索需求来创建,在选择性好的列上创建索引 C. 创建索引能提高数据插入的性能 D. 索引并非越多越好
117. 如下代码在Servlet1.java中. import javax.servlet.*; import javax.servlet.http.*; import java.io.IOException; import java.io.PrintWriter;
public class Servlet extends HttpServlet{
public void init() throws ServletException{} public void service(HttpServletRequest request,
HttpServletResponse response)throws ServletException,
IOException{
PrintWriter out=response.getWriter(); Out.println(“hello!”); } }
假如编译Servlet要具备的环境都已经建立好,现在用完全正确的命令编译该文件,对于以下陈述正确的是 B
A. 编译后,把Servlet1.class放在正确的位置,在浏览器中查看该Servlet1,却看到产生运行时
错误的出错信息.
B. 编译后,把Servlet1.class放在正确的位置,在浏览器中查看该Servlet1,会看到输出文字:”hello!”
C. 编译该文件时会提示缺少doGet()或者doPost方法,编译不能够成功通过
D. 编译后,把Servlet1.class放在正确的位置,在浏览器中查看该Servlet1,却看不到任何输出文字
118. 下列代码编译和执行后的结果是 public class ThreadTest extends Thread { public void run() {
System.out.println(\ yield();
System.out.println(\ }
public static void main(String args []) { (new ThreadTest()).start(); } } C
A. 编译正常,但是不打印任何东西 B. 只有“In run”最终打印出来
C. \在\前一起被打印出来 D. 在main()方法处编译失败 E. 在run()方法处编译失败
119. 若某线性表最常用得操作是存取任一指定序号的元素和在最后进行插入和删除运算,则
利用( )存储方式最节省时间 D A. 单循环链表 B. 双链表
C. 带头结点的双循环链表 D. 顺序表
120. 以下哪些不是javascript的全局函数() C A. setTimeout B. parseFloat C. eval D. escape
121. 关于缺陷的发现时机,正确的说法是( B ) A.并不需要过早发现太多缺陷,因为系统还在不断变更 B.缺陷越早发现越好
C.能在单元测试发现的缺陷,放到系统测试再发现也不晚 D.需求缺陷通常可以在单元测试中发现
122. 回归测试中,“回归”的意思是( A)
A.全面的覆盖
B.原本正确的功能失效了 C.回到开头 D.周而复始
123. 对于以下Java代码片段,为了达到分支覆盖,至少需要( )个用例 B if(A){ proc1(); } if(A){ proc2(); } A. 3 B. 1 C. 4 D. 2
124. 动态测试的内容不包括(D )。 A. 模块测试 B. 单元测试 C. 功能测试 D. 结构检查
125. loadrunner通过VirtualUserGenerator新建一个web自动化脚本时,会自动创建 C A. vuser_trans() B. Action() C. vuser_init() D. vuser_end()
126. 下面关于数据库系统基于日志的恢复的叙述中,哪一个是正确的 2
利用更新日志记录中的改前值可以进行UNDO,利用更新日志记录中的改前值可以进行REDO
利用更新日志记录中的改前值可以进行UNDO,利用更新日志记录中的改后值可以进行REDO(*)
利用更新日志记录中的改后值可以进行UNDO,利用更新日志记录中的改前值可以进行REDO
利用更新日志记录中的改后值可以进行UNDO,利用更新日志记录中的改后值可以进行REDO
127. 下面列出的条目中,哪些是数据仓库的基本特征______。 3 Ⅰ.数据仓库是面向主题的 Ⅱ.数据仓库的数据是集成的 Ⅲ.数据仓库的数据是相对稳定的
Ⅳ.数据仓库的数据是反映历史变化的
Ⅰ、Ⅱ和Ⅲ Ⅰ、Ⅱ和Ⅳ 都是(*) Ⅱ、Ⅲ和Ⅳ
128. 数据库系统发生故障时,可以基于日志进行恢复。下面列出的条目中,哪些是日志记 录的内容______。 4 Ⅰ.事务开始信息 Ⅱ.更新信息 Ⅲ.提交信息
Ⅳ.事务中止信息
Ⅰ、Ⅱ和Ⅳ Ⅰ、Ⅲ和Ⅳ Ⅱ、Ⅲ和Ⅳ 都是(*)
129. 下面哪个语句用于打开一个已经存在的约束? 3 ALTER TABLE table_name ENABLE constraint_name;
ALTER TABLE table_name STATUS = ENABLE CONSTRAINT constraint _ name; ALTER TABLE table_name ENABLE CONSTRAINT constraint _ name;(*) ALTER TABLE table_name TURN ON CONSTRAINT constraint _ name; ALTER TABLE table_name TURN ON CONSTRAINT constraint _ name;
ALTER TABLE table_name STATUS = ENABLE CONSTRAINT constraint _ name;
130. 在视图上不能完成的操作是 4 更新视图 查询
在视图上定义新视图
在视图上定义新的基本表(*)
131. 在E-R图中,用来表示实体联系的图形是 3 椭圆图 矩形 菱形 三角形
132. 假设您需要修改STUDENTS表,在STUDENT_ID列上增加一个主键,该表当前不包
含数据。下面哪个语句适合于完成此任务? 3 ALTER TABLE students ADD PRIMARY KEY student_id;
ALTER TABLE student ADD CONSTRAINT PRIMARY KEY (student_id);
ALTER TABLE students ADD CONSTRAINT stud_id_pk PRIMARY KEY (student_id);(*) ALTER TABLE students MODIFY CONSTRAINT stud_id_pk PRIMARY KEY (student_id); ALTER TABLE students ADD CONSTRAINT stud_id_pk PRIMARY KEY student_id;
133. 下面有关表和视图的叙述中错误的是:3 视图的数据可以来自多个表 对视图的数据修改最终传递到基表 基表不存在,不能创建视图 删除视图不会影响基表的数据
多选题
1. 基于组件设计的系统特征包括 (该题为必答题) 封装 耦合 内聚 抽象 注释:
内聚和耦合,包含了横向和纵向的关系。功能内聚和数据耦合,是我们需要达成的目标。横向的内聚和耦合,通常体现在系统的各个模块、类之间的关系,而纵向的耦合,体现在系统的各个层次之间的关系。
高内聚和低耦合是软件工程设计的一种原则,是写代码时要遵循的一种规范。
2. 可能与正在运行的进程无关的中断事件有()等 (该题为必答题) 2 5 硬件故障 外部 访管 程序性 输入/输出 注释:
在Linux中,用户程序装入系统形成一个进程的实质是系统为用户程序提供一个完整的运行环境。进程的运行环境是由它的程序代码和程序运行所需要的数据结构以及硬件环境组成的。进程的运行环境主要包括:
1.进程空间中的代码和数据、各种数据结构、进程堆栈和共享内存区等。 2.环境变量:提供进程运行所需的环境信息。
3.系统数据:进程空间中的对进程进行管理和控制所需的信息,包括进程任务结构体以及内核堆栈等。
4.进程访问设备或者文件时的权限。 5.各种硬件寄存器。 6.地址转换信息。
从以上组成情况可以看到,进程的运行环境是动态变化的,尤其是硬件寄存器的值以及进程控制信息是随着进程的运行而不断变化的。在Linux中把系统提供给进程的的处于动态变化的运行环境总和称为进程上下文。
“访管指令”是可以在目态下执行的指令。当源程序中有需要操作系统服务的要求时,编译程序就会在由源程序转换成的目标程序中安排一条“访管指令”并设置一些参数。当目标程序执行时,中央处理器若取到了“访管指令”就产生一个中断事件,中断装置就会把中
央处理器转换成管态,并让操作系统处理该中断事件。操作系统分析访管指令中的参数,然后让相应的“系统调用”子程序为用户服务。系统调用功能完成后,操作系统把中央处理器的管态改为目态,并返回到用户程序。
从程序调用的角度来看,用户应用程序中要调用一些子程序。子程序可以分为用户自己编写的子程序和软件提供的子程序,对后者的访问即被称为访问系统程序(访管)指令,又称为陷阱(TRAP)指令。
访管指令并不是特权指令。所谓特权指令,是指用于操作系统或其他系统软件的指令,一般不提供给用户使用。
3. 在oracle数据库中,关于索引描述正确的是 (该题为必答题) 2 3 4 需要对大数据类型创建索引
对于大表,索引能明显提高查询效率
在数据表上创建唯一约束,会自动生成唯一索引 我们最常用到的是B-Tree索引 注释:
建索引列的特点:
1)在经常需要搜索的列上,可以加快搜索的速度;
2)在作为主键的列上,强制该列的唯一性和组织表中数据的排列结构; 3)在经常用在连接的列上,这些列主要是一些外键,可以加快连接的速度;
4)在经常需要根据范围进行搜索的列上创建索引,因为索引已经排序,其指定的范围是连续的;
5)在经常需要排序的列上创建索引,因为索引已经排序,这样查询可以利用索引的排序,加快排序查询时间;
6)在经常使用在WHERE子句中的列上面创建索引,加快条件的判断速度。 B树索引在Oracle中是一个通用索引。在创建索引时它就是默认的索引类型。B树索引可以是一个列的(简单)索引,也可以是组合/复合(多个列)的索引。B树索引最多可以包括32列。 唯一性索引保证在索引列中的全部数据是唯一的,不会包含冗余数据。如果表中已经有一个主键约束或者唯一性键约束,那么当创建表或者修改表时,SQL Server自动创建一个唯一性索引。然而,如果必须保证唯一性,那么应该创建主键约束或者唯一性键约束,而不是创建一个唯一性索引。当创建唯一性索引 时,应该认真考虑这些规则:当在表中创建主键约束或者唯一性键约束时,SQL Server自动创建一个唯一性索引;如果表中已经包含有数据,那么当创建索引时,SQL Server检查表中已有数据的冗余性;每当使用插入语句插入数据或者使用修改语句修改数据时,SQL Server检查数据的冗余性:如果有冗余值,那么SQL Server取消该语句的执行,并且返回一个错误消息;确保表中的每一行数据都有一个唯一值,这样可以确保每一个实体都可以唯一确认;只能在可以保证实体 完整性的列上创建唯一性索引,例如,不能在人事表中的姓名列上创建唯一性索引,因为人们可以有相同的姓名。
4. 以下关于主键和唯一索引的区别有哪些是正确的? (该题为必答题) 2 4 主键:默认将是聚簇索引 唯一索引: 默认将是非聚簇索引 主键不能空,唯一索引可以为空 主键顺序为数据的物理顺序
主键每个表只能有一个,唯一索引可以多个 注释:
1.主键一定是唯一性索引,唯一性索引并不一定就是主键; 2.一个表中可以有多个唯一性索引,但只能有一个主键; 3.主键列不允许空值,而唯一性索引列允许空值。
5. 下面哪些是DML语句 (该题为必答题) 2 4 MERGE… UPDATE… COMMIT… DELETE… 注释:
sqlserver(T_SQL) 语句可以分为以下几类:
DDL—数据定义语言(CREATE,ALTER,DROP,DECLARE) DML—数据操纵语言(SELECT,DELETE,UPDATE,INSERT)
DCL—数据控制语言(GRANT,REVOKE,COMMIT,ROLLBACK) Oracle SQL(P_SQL) 语句可以分为以下几类:
1.数据操作语言语句[Data manipulation language,DML] 2.数据定义语言语句[Data definition language,DDL] 3.事务控制语句[transaction control statement] 4.会话控制语句[session control statement]
6. 下面那条语句编译不会出现错误? (该题为必答题)123 float f = 123;
int x = (int)(1.23);
Boolean b = new Boolean(\ byte b = 127;
7. 以下对于会话跟踪的描述,正确的是 (该题为必答题)
客户浏览器禁用了cookie后,可以使用HttpServletResponse接口中的encodeURL()方法对URL编码。但客户如果没有禁用Cookie,使用HttpServletResponse接口中的encodeURL()方法对URL编码会出错。
使用HttpServletResponse接口中的encodeURL()方法对URL编码后,这个方法把以分号开头的字符串形式的路径加入到输入的URL中,如:jsessionid=123456789。
客户浏览器禁用了cookie后,在Servlet中的getSession方法就无法获得HttpSession对象了。
只要使用HttpServletResponse接口中的encodeURL()方法对URL进行编码,Web应用程序的用户在浏览器中禁止cookie和不禁止cookie都是一样的。
8. 黑盒一般知识可以发现以下类型的错误: (该题为必答题) 1 2 4 性能错误
功能错误或遗漏
数据结构或外部数据库访问错误 界面错误
9. 常用的黑盒一般知识方法一般知识包含以下哪些类别? (该题为必答题) 1 2 3 5
边界值分析 决策表法 因果图法 控制流测试法 等价类划分 注释:
黑盒测试的测试用例设计方法 1. 等价类划分方法 2. 边界值分析方法 3. 错误推测方法 4. 因果图方法
5. 判定表驱动分析方法(决策表法) 6. 正交实验设计方法 7. 功能图分析方法
10. 如下哪些工具可以作为缺陷管理工具: (该题为必答题) 1 2 4 Bugzilla ClearQuest FindBugs QualityCenter 注释:
FindBugs 是一个静态分析工具,它检查类或者 JAR 文件,将字节码与一组缺陷模式进行对比以发现可能的问题。 缺陷管理工具: 1. Bugzilla 2. Bugfree
3. TestDirector (Quality Center) 4. ClearQuest 5. JIRA 6. Mantis 7. Bugzero 8. BugTracker 9. URTracker 10. KisTracker 11. TestLink 12. JTrac 13. BugNet 14. BugOnline 15. eTraxis
11. 软件开发模型包括 (该题为必答题) 23 迭代模型 螺旋模型 瀑布模型
扇形模型 注释:
12. 上下文关系图(context diagram)的作用是 (该题为必答题) 2 4 定义业务规则
外部系统和人与系统之间交互的方式 定义系统的上下文和范围
概括与系统之间相互影响的重要的外部系统和人 注释:
首先,用例角色需要被清晰地定义,以便为我们理解系统交互提供帮助。
然后,在上下文关系图中摆放基础元素,并捕获它们之间的关系。使用最初的Booch标记法,系统和参与者都可以使用云图来表示。
在云之间的连线用来表示关系;而箭头标识参与者与系统之间的重要信息。正如,当客户请求系统提供信息以便签约,系统将返回确认信息,例如账号。当客户启动一个任务(外呼一组电话,播放指定的音频文件),系统则返回一个确认号。
13. 系统出现死锁必然出现以下情况 (该题为必答题) 1 2 3 4 不可抢夺资源 互斥使用资源 循环等待资源 占有并等待资源 注释:所谓死锁是指两个或两个以上的进程在执行过程中,因争夺资源而造成的一种互相等待的现象,若无外力作用,它们都将无法推进下去。此时称系统处于死锁状态或系统产生了
死锁,这些永远在互相等待的进程称为死锁进程。由于资源占用是互斥的,当某个进程提出申请资源后,使得有关进程在无外力协助下,永远分配不到必需的资源而无法继续运行,这就产生了一种特殊现象:死锁。
14. 关于Oracle的LONG类型描述正确的是: (该题为必答题) 1 2 3 LONG类型主要用于不需要作字符串搜索的长串数据,如果要进行字符搜索就要用varchar2类型
LONG 数据类型中存储的是可变长字符串,最大长度限制是2GB 一个表中只能包含一个 LONG 类型的列 索引LONG类型列会明显提升查询效率 注释:
oracle里long类型的总结
1、LONG 数据类型中存储的是可变长字符串,最大长度限制是2GB。
2、对于超出一定长度的文本,基本只能用LONG类型来存储,数据字典中很多对象的定义就是用LONG来存储的。
3、LONG类型主要用于不需要作字符串搜索的长串数据,如果要进行字符搜索就要用varchar2类型。
4、很多工具,包括SQL*Plus,处理LONG 数据类型都是很困难的。 5、LONG 数据类型的使用中,要受限于磁盘的大小。 能够操作 LONG 的 SQL 语句: 1、Select语句
2、Update语句中的SET语句 3、Insert语句中的VALUES语句 限制:
1、一个表中只能包含一个 LONG 类型的列。 2、不能索引LONG类型列。
3、不能将含有LONG类型列的表作聚簇。
4、不能在SQL*Plus中将LONG类型列的数值插入到另一个表格中,如insert into ...select。 5、不能在SQL*Plus中通过查询其他表的方式来创建LONG类型列,如create table as select。 6、不能对LONG类型列加约束条件(NULL、NOT NULL、DEFAULT除外),如:关键字列(PRIMARY KEY)不能是 LONG 数据类型。 7、LONG类型列不能用在Select的以下子句中:where、group by、order by,以及带有distinct的select语句中。
8、LONG类型列不能用于分布查询。
9、PL/SQL过程块的变量不能定义为LONG类型。
10、LONG类型列不能被SQL函数所改变,如:substr、instr。
15. 在ORACLE的排序SQL,下面哪些写法是正确的。 (该题为必答题)1 2 3 4 Select distinct ename,sal from emp where deptno=30 order by deptno Select * from emp where deptno=30 order by ename
Select 'Name: '|| ename ,sal from emp Where deptno=30 Order by 2,1
Select ename \,deptno
16. 关于JSP和SERVLET的描述正确的是: (该题为必答题)34
JSP能够访问Java API,具备SERVLET的全部优点 JSP页面只能在接受请求时动态编译成SERVLET
JSP技术构建在SERVLET上,它是支持HTML和XML页面制作的SERVLET技术的扩展 JSP页面支持嵌入javascript内容 注释:
JSP是Servlet的扩展,在没有JSP之前,就已经出现了Servlet技术。Servlet是利用输出流动态生成HTML页面,包括每一个HTML标签和每个在HTML页面中出现的内容。 由于包括大量的HTML标签、大量的静态文本及格式等,导致Servlet的开发效率极为低下。所有的表现逻辑,包括布局、色彩及图像等,都必须耦合在Java代码中,这的确让人不胜其烦。JSP的出现弥补了这种不足,JSP通过在标准的HTML页面中插入Java代码,其静态的部分无须Java程序控制,只有那些需要从数据库读取并根据程序动态生成信息时,才使用Java脚本控制。
从表面上看,JSP页面已经不再需要Java类,似乎完全脱离了Java面向对象的特征。事实上,JSP是Servlet的一种特殊形式,每个JSP页面就是一个Servlet实例——JSP页面由系统编译成Servlet,Servlet再负责响应用户请求。JSP其实也是Servlet的一种简化,使用JSP时,其实还是使用Servlet,因为Web应用中的每个JSP页面都会由Servlet容器生成对应的Servlet。对于Tomcat而言,JSP页面生成的Servlet放在work路径对应的Web应用下。
17. 下面叙述哪些是正确的 (该题为必答题)34
java中,子类不可以访问父类的私有成员和受保护的成员 java接口包含函数声明和常量声明
在java中,可以用异常(Exception)来抛出一些并非错误的消息,但这样比直接从函数返回一个结果要花费更大的系统开销
java中的集合类(如Vector)可以用来存储任何类型的对象,且大小可以自动调整。但需要事先知道所存储对象的类型,才能正常使用 注释:
父类的任何成员变量都是会被子类继承下去的,私有的objects就是明证,这些继承下来的私有成员虽对子类来说不可见,但子类仍然可以用父类的函数操作他们.
使用interface来定义一个接口。接口定义同类的定义类似,也是分为接口的声明和接口体,其中接口体由常量定义和方法定义两部分组成。定义接口的基本格式如下: [修饰符] interface 接口名 [extends 父接口名列表]{ [public] [static] [final] 常量; [public] [abstract] 方法; }
修饰符:可选,用于指定接口的访问权限,可选值为public。如果省略则使用默认的访问权限。
接口名:必选参数,用于指定接口的名称,接口名必须是合法的Java标识符。一般情况下,要求首字母大写。
extends 父接口名列表:可选参数,用于指定要定义的接口继承于哪个父接口。当使用extends关键字时,父接口名为必选参数。
方法:接口中的方法只有定义而没有被实现。
18. log4j中输入日志有哪些级别设置 (该题为必答题)1234
FATAL WARN DEBUG INFO
19. 软件的可测试性包括以下方面( ) (该题为必答题) 125 可观察性 可分解性 可确认性 可重用性 可控制性 注释:
20. 常用的白盒一般知识方法一般知识包含以下哪些类别? (该题为必答题)234 边界值覆盖 条件覆盖 路径覆盖 语句覆盖
注释:白盒测试法的覆盖标准有逻辑覆盖、循环覆盖和基本路径测试。其中逻辑覆盖包括语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖、条件组合覆盖和路径覆盖。
21. 关于黑盒一般知识,说法正确的有: (该题为必答题)1234
黑盒测试把软件系统看成一个黑盒子,完全不考虑软件内部逻辑结构和处理过程 黑盒测试是基于规格和数据驱动的测试,它的依据是需求规格
黑盒主要关注被测软件的功能和非功能属性的实现
测试人员对被测产品的验证主要是根据其规格,验证其与规格的一致性
22. 下面哪些属于静态分析? (该题为必答题) 2 4 程序复杂度分析 代码规则检查 内存泄漏检查 程序结构分析 注释:
常用静态分析技术
(1)词法分析:从左至右一个字符一个字符的读入源程序,对构成源程序的字符流进行扫描,通过使用正则表达式匹配方法将源代码转换为等价的符号(Token) 流,生成相关符号列表,Lex为常用分析工具。
(2)语法分析:判断源程序结构上是否正确,通过使用上下文无关语法将相关符号整理为语法树, Yacc为常用工具。
(3)抽象语法树分析:将程序组织成树形结构,树中相关节点代表了程序中的相关代码,目前已有javacc等抽象语法树生成工具。
(4)语义分析:对结构上正确的源程序进行上下文有关性质的审查。
(5)控制流分析:生成有向控制流图,用节点表示基本代码块,节点间的有向边代表控制流路径,反向边表示可能存在的循环;还可生成函数调用关系图,表示函数间的嵌套关系。 (6)数据流分析:对控制流图进行遍历,记录变量的初始化点和引用点,保存相关数据信息。
(7)污点分析:基于数据流图判断源代码中哪些变量可能受到攻击,是验证程序输入、识别代码表达缺陷的关键。
23. 多线程技术具有哪些优越性 (该题为必答题) 23 通信简洁、信息传送速度快 创建速度快、系统开销小 并行性高 安全性高
24. The ThreadGroup class instance() (该题为必答题) 24 Must contain threads of the same type May contain other ThreadGroups
Provides support for ThreadDeath listeners Allows threads to be manipulated as group 注释:
所有线程都隶属于一个线程组。那可以是一个默认线程组,亦可是一个创建线程时明确指定的组。在创建之初,线程被限制到一个组里,而且不能改变到一个不同的组。每个应用都至少有一个线程从属于系统线程组。若创建多个线程而不指定一个组,它们就会自动归属于系统线程组。
线程组也必须从属于其他线程组。必须在构建器里指定新线程组从属于哪个线程组。若在创建一个线程组的时候没有指定它的归属,则同样会自动成为系统线程组的一名属下。因此,一个应用程序中的所有线程组最终都会将系统线程组作为自己的“父”。
25. 下面关于继承的叙述哪些是正确的 (该题为必答题) 23 在java中一个类不能同时继承一个类和实现一个接口 java的单一继承使代码更可靠 在java中只允许单一继承
在java中一个类只能实现一个接口 注释: JAVA不支持多重继承,单继承使JAVA的继承关系很简单,一个类只能有一个父类,易于管理程序,同时一个类可以实现多个接口,从而克服单继承的缺点。
26. 关于软件测试,正确的描述包括( )。 (该题为必答题) 1234 要尽量避免测试自己编写的程序 测试前应该假设被测试的软件有错 测试是相对的,不能穷尽所有的测试,要据人力物力安排测试,选择好测试用例与测试方法。 测试要兼顾合理输入与不合理输入数据
27. 软件验收测试的合格通过准则是: (该题为必答题) 1 2 3 4 立项审批表、需求分析文档、设计文档和编码实现一致 验收测试工件齐全
软件需求分析说明书中定义的所有功能已全部实现,性能指标全部达到要求 所有测试项没有残余一级、二级和三级错误 注释:
软件验收测试的合格通过准则:
1、软件需求分析说明书中定义的所有功能已全部实现,性能指标全部达到要求。 2、所有测试项没有残余的一级二级三级的错误。
3、立项审批表、需求分析文档、设计文档和编码实现一致。
4、验收测试工件齐全(测试计划,测试用例,测试日志,测试通知单,测试分析报告)
28. 关于等价类划分测试方法一般知识说法正确的是 (该题为必答题) 1234 等价类划分可有两种不同的情况:有效等价类和无效等价类 测试某等价类的代表值就等于对这一类其它值的测试 等价类是指某个输入或输出域的子集合
同一等价类中输入数据对于揭露程序中的错误的作用有大有小 注释:
等价类划分的原则如下:
在输入条件规定的取值范围或值的个数的情况下,可以确定一个有效等价类和两个无效等价类。
在规定了输入数据的一组值中(假定有n个值),并且程序要对每个输入值分别处理的情况下,可以确定n个有效等价类和一个无效等价类。
在规定输入数据必须遵守的规则的情况下,可以确定一个有效等价类和若干个无效等价类。
在输入条件规定了输入值的集合或规定了“必须如何”的条件下,可以确定一个有效等价类和一个无效等价类。
在确定已划分的等价类中各元素在程序处理中的方式不同的情况下,则应将该等价类进一步地划分为更小的等价类。
29. 涉及到“数字”的软件功能, 在设计测试用例时要优先考虑( )的测试方法一般知识
(该题为必答题) 3 4 错误推测法 因果图方法 边界值分析法 等价类划分法
30. 某程序规定:“输入三个整数作为三边的边长构成三角形。当此三角形为一般三角形、
等腰三角形及等边三角形时,分别做计算?”。
用等价类划分方法为该程序的构成三角形部分进行测试用例设计。下面那些等价类划分是合适的? (该题为必答题) 123 整数 正数 非零数 函数 负数
31. 关于UML类图下列描述正确的是 (该题为必答题) 1 2 3 关联是两个类之间的一条实线
类图表示各个对象的类型以及其间存在的各种静态关系 类间的两种重要关系就是关联与泛化 UML中抽象类是将名用斜体表示 注释:
关联(Association) :对象之间一种引用关系,比如客户类与订单类之间的关系。这种关系通常使用类的属性表达。关联又分为一般关联、聚合关联与组合关联。后两种在后面分析。在类图使用带箭头的实线表示,箭头从使用类指向被关联的类。可以是单向和双向。
32. 关于用例,描述正确的是 (该题为必答题)12345 包括至少一个参与者
由一组场景组成,包括主流程和备选流程 定义一系列系统完成的活动 围绕一个完整功能块
描述参与者与系统之间的交互 产生的结果对某个参与者有价值
33. 在ORACLE中,下面哪些命令用来处理事务: (该题为必答题)1 2 3 4 set transaction commit savepoint rollback
34. java中overload与overwrite的区别 (该题为必答题) 1 3 overwrite 重写继承到的那个方法的代码,原方法被放弃。
overload 覆盖继承到的那个方法,那个方法仍然没有放弃。 overload 完全新的方法,参数和原方法不同。 overwrite 完全新的方法,参数和原方法不同。
35. 正则表达式的主要功能是 (该题为必答题)1 2 3 4 替换代码 提取代码 查询代码 分割代码
36. 下面的说法正确的是: (该题为必答题) 2 3 4 File类是输入/输出流类的子类。
Java中IO流的处理通常分为输入和输出两个部分。
InputStream与OutputStream类通常是用来处理字节流,也就是二进制文件。 Reader与Writer类是用来处理字符流,也就是纯文本文件。 注释: File类的对象主要用来获取文件本身的一些信息,如文件所在的目录、文件长度、文件读写权限等,不涉及对文件的读写操作。
37. 进行自动化测试的评估标准有() (该题为必答题) 1 2 3 4 可自动化率 测试进度要求 版本规模 版本稳定程度
38. 下面哪些属于动态分析? (该题为必答题) 14 系统压力测试 设计复审
程序数据流分析 代码覆盖率
39. 正则表达式 a*b*c 匹配( ) (该题为必答题) 1 3 4 ac a*b*c abc bbc
40. 在ORACLE中,以下语句出错,哪些改动能够正确执行: SELECT deptno, max(sal) FROM emp
GROUP BY deptno
WHERE max(sal)>2500; (该题为必答题) 3
将WHERE max(sal)>2500语句改成WHERE sal>2500 将WHERE max(sal)>2500语句改成HAVING sal>2500
将WHERE max(sal)>2500语句改成HAVING max(sal)>2500 将WHERE和GROUP BY 语句顺序调换一下
41. java线程实现有哪几种方式? (该题为必答题) 1 3 实现Runnable接口 通过线程池创建 继承thread类 自主开发 注释:
在J2ME中,主要有以下三种方法实现多线程。 一、继承Thread类(java.lang.Thread)
通过编写线程类继承Thread类并重写Thread类中的run()方法实现线程,当线程对象被运行时候将会自动执行run方法中的实体内容,从而开辟一个单独的线程并运行起来。 二、直接实现Runnable多线程接口(java.lang.Runnable)
线程接口Runnable中只有一个抽象方法run,通过实现Runnable接口中的方法的类即可创建出有多线程特征的对象,但该对象并无法使其启动线程,需要作为参数并借助Thread的构造方法构造创建对象并调用start方法对线程进行启动。 三、使用任务组合实现多线程
在J2ME中,同样具有JAVA中的任务处理组合类,他们分别为Timer和TimerTask,可以使用他们实现多线程,简单说就是定时实现任务。
Timer是JAVA中的一个定时器,可以实现在某一时间做某件事或者在某一时间段做某些事,分别通过方法schedule(TimerTask tt,long millis)和schedule(TimerTask tt,long start,long off)。
TimerTask是一个任务类,通过继承该类并覆盖方法run即可创建一个任务。
42. 关于synchronized和java.util.concurrent.locks.Lock描述正确的是 (该题为必答题) 1 2 3 4 Lock拥有更精确的线程语义
Lock要求程序员手动释放锁,synchronized会自动释放锁 Lock能完成synchronized所实现的所有功能 Lock有比synchronized更好的性能 注释:
主要相同点:Lock能完成Synchronized所实现的所有功能。
主要不同点:Lock有比synchronized更精确的线程语义和更好的性能。Synchronized会自动释放锁,但是Lock一定要求程序员手工释放,并且必须在finally从句中释放。
43. java中io与nio的差异 (该题为必答题) 2 3 4 io采取了多个线程处理运算
nio采取了轮询方式节省了咨询提高了效率 nio解决了数据的处理速度 nio采用了一个线程处理运算 注释:
Java IO的各种流是阻塞的。这意味着,当一个线程调用read() 或 write()时,该线程被阻塞,直到有一些数据被读取,或数据完全写入。该线程在此期间不能再干任何事情了。 Java NIO的非阻塞模式,使一个线程从某通道发送请求读取数据,但是它仅能得到目前可用的数
据,如果目前没有数据可用时,就什么都不会获取。而不是保持线程阻塞,所以直至数据变的可以读取之前,该线程可以继续做其他的事情。 非阻塞写也是如此。一个线程请求写入一些数据到某通道,但不需要等待它完全写入,这个线程同时可以去做别的事情。 线程通常将非阻塞IO的空闲时间用于在其它通道上执行IO操作,所以一个单独的线程现在可以管理多个输入和输出通道(channel)。
Java NIO: 单线程管理多个连接。
Java IO: 一个连接通过一个线程处理。
44. 一个测试需求应该包括以下要素: (该题为必答题) 1 2 3 4 重要性,测试需求对最终用户的相对重要程度 稳定性,测试需求发生变化的可能性 需求描述
需求名称,对需求的简短说明。
45. 关系数据库中,典型的实体关系模型有哪几个要素 (该题为必答题)1 2 4 关系 属性 索引 实体 注释: 该模型直接从现实世界中抽象出实体类型和实体间联系,然后用实体联系图(E-R图)表示数据模型,是描述概念世界,建立概念模型的实用工具。 通常,使用实体-联系图(entity-relationship diagram)来建立数据模型。可以把实体-联系图简称为ER图,相应地可把用ER图描绘的数据模型称为ER模型。ER图中包含了实体(即数据对象)、关系和属性等3种基本成分,通常用矩形框代表实体,用连接相关实体的菱形框表示关系,用椭圆形或圆角矩形表示实体(或关系)的属性,并用直线把实体(或关系)与其属性连接起来。
46. 以下赋值语句,错误的是: (该题为必答题) 23 char c5=65; Char c3='x'; char c4=''; char c1='\\\
47. 关于static的含义说法正确的是 (该题为必答题) 2 3 4 被定义为static的方法可以被继承
我们不可从一个static方法内部发出对非static方法的调用 被定义为static的方法不可以被继承 它意味着一个特定的方法没有this 注释:
1:没有static修饰的方法,在调用的时候需要先创造对象类名。
对象名=new 类名(); 对象名.方法名();
2:有static修饰的方法,在调用的时候直接调用。
类名.方法名();
也就是说:没有static修饰的,它们在生成的时候,就属于对象。 有static修饰的,它们在生成的时候,就属于类。
48. 编写测试计划的目的有 (该题为必答题)12345 软件工程以及软件过程的需要 使测试工作顺利进行 使测试工作更加系统化 使项目参与人员沟通更舒畅 软件过程规范化的要求 控制软件质量
49. 正则表达式 a?b?c 匹配( ) (该题为必答题)1 2 4 abc ac a?b?c bbc
50. 性能测试包含了以下哪些测试 (该题为必答题)134 并发测试 UAT测试 压力测试 负载测试 安全测试
注释:UAT,(User Acceptance Test),用户接受度测试 即验收测试。
51. 自动化测试脚本开发完成之后需要通过评审,关于评审,下面说法正确的是 (该题为必
答题) 1 2 3 4
对于自动化测试脚本中引用的函数库的修改事实上不在自动化测试脚本的评审内容之中; 自动化测试脚本评审的通过率可以作为对自动化测试脚本开发工程师考核的一项参考因子; 参与评审的应该有测试架构师、框架设计者和自动化测试负责人,还必须要有SA和系统测试用例设计人员甚至业务系统设计、编码人员; 自动化测试脚本评审,不单包含编码规范性和框架使用的合法性检查,还要检查对业务操作和容错性、健壮性的实现程度;
52. 下面哪些工具是性能测试工具 (该题为必答题) 1 4 Jmeter
QuickTest Professional WinRunner LoadRunner 注释:
Apache jmeter 可以用于对静态的和动态的资源(文件,Servlet,Perl脚本,java 对象,数据库和查询,FTP服务器等等)的性能进行测试。它可以用于对服务器,网络 或对象模拟繁重的负载来测试它们的强度或分析不同压力类型下的整体性能。你可以使用它做性能的
图形分析或在大并发负载测试你的服务器/脚本/对象。
53. 常用的功能自动化测试工具有 (该题为必答题) 3 4 LoadRunner QualityCenter Rational Robot
QuickTest Professional 注释:
Quality Center是一个基于Web的测试管理工具,可以组织和管理应用程序测试流程的所有阶段,包括指定测试需求、计划测试、执行测试和跟踪缺陷。
54. 以下哪些测试属于软件测试中的静态分析测试? (该题为必答题) 13 代码走查 UI界面测试 文档测试
注释:静态分析技术就是对需求分析说明书,软件设计说明书,源代码进行结构检查,流图分析,符号执行等找出软件的错误。
55. 典型的性能测试包含了以下哪些步骤 (该题为必答题) 12345 案例设计 创建脚本 测试需求分析 结果分析 创建场景
56. 关于吞吐量,正确的是 (该题为必答题) 124
从业务角度看,吞吐量也可以用访问人数/天或者页面访问量/天来衡量 吞吐量指的是单位时间内处理的客户端请求数量 吞吐量指同时进行请求的客户的数量
通常情况下,吞吐量用请求数/秒或者页面数/秒来衡量
注释:吞吐量是指对网络、设备、端口、虚电路或其他设施,单位时间内成功地传送数据的数量(以比特、字节、分组等测量)。
57. ORACLE数据库中执行计划产生过程中会选择接连方式,ORACLE连接方式包含 (该
题为必答题) 234 RBO;
NestedLoop; HashJoin;
SortMergeJoin; CBO;
注释:oracle表连接方式:嵌套循环(Nested Loops (NL))、(散列)哈希连接(Hash Join(HJ))、(归并)排序合并连接(Sort Merge Join (SMJ))。
58. pl/sql中使用select...into语句可以出现的异常是 AB